Skip to content

[Release] 0.8.4 (versionCode 31) - #577

Merged
edv-Shin merged 140 commits into
masterfrom
dev
Aug 16, 2026
Merged

[Release] 0.8.4 (versionCode 31)#577
edv-Shin merged 140 commits into
masterfrom
dev

Conversation

@edv-Shin

Copy link
Copy Markdown
Contributor

#️⃣연관된 이슈

ex) #이슈번호, #이슈번호

📝작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

0.8.4 릴리스입니다. 직전 릴리스(0.8.3) 이후 dev에 들어온 40개 PR을 master로 올립니다.

버전

  • versionCode 30 → 31
  • versionName 0.8.3 → 0.8.4

FCM 토큰 동기화

오프라인 진입

Compose 전환

  • 설정, 알림 설정, 회원가입, 프로필 편집, 차단 계정 목록, 선호 운동 등 화면 다수
  • 타이머 3종(목록, 심플, 커스텀)과 커스텀 타이머 폼
  • 피드 3종(목록, 상세, 폼), 운동 기록 상세와 폼, 운동 장소 목록과 등록
  • 매칭 안내와 Kakao Map 지도 화면, 지도 오버레이, 장소 검색
  • 공통 컴포넌트: UndabangScaffold, BottomSheet, AlertDialog, DatePicker

스크린샷 (선택)

💬리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

머지하면 master push로 CI/CD가 돌아 AAB가 Play Store 내부 테스트 트랙에 올라갑니다.

FCM 토큰 등록 경로 통합(#569)을 실기기(Galaxy S22+, Android 16)에서 확인했습니다.

  • 진입 시 워커가 1회 예약·실행되어 등록 성공
  • 오프라인 진입 시에는 NetworkType.CONNECTED 제약으로 대기만 하고 실행되지 않음
  • 비행기 모드 해제 3초 뒤 워커가 깨어나 등록 성공. MainViewModel에서 제거한 재연결 재시도를 WorkManager가 대신하는 것을 확인

남은 확인 두 가지입니다. 배포를 막을 항목은 아니라고 봤습니다.

  • 로그아웃 시 예약 취소. 취소되지 않아도 회원ID가 없어 SKIPPED로 끝나므로 동작은 안전합니다
  • 서버에 최신 토큰이 반영되는지. 다른 계정에서 푸시를 보내야 확인됩니다

edv-Shinand others added 30 commits April 22, 2026 14:22
- 파라미터 순서를 Compose 관례에 맞춤 (required → modifier → optional)
- 내부 fillMaxWidth 제거해 레이아웃 결정권을 호출부로 이관
- Button 에 height 오버라이드 파라미터 추가 (Dialog 45dp 대응)
- 존재 검증용 색상은 MaterialTheme.colorScheme 슬롯으로 치환
- UndabangTopBar 의 actionIcon1/2 파라미터를 RowScope 슬롯으로 단순화
- UndabangTopBar 배경/글자/제목 정렬을 기존 XML view_base_toolbar 비주얼로 복원
- UndabangAlertDialog 의 제목/메시지 스타일·섹션 간격·버튼 높이를 dialog_base_alert 비주얼로 복원
- UndabangConfirmDialog 제거 후 UndabangAlertDialog(onCancel = null) 로 통합
- UndabangAvatar 가 imageUrl null/blank 시 placeholder 로 자동 폴백
- UndabangCard 를 Avatar.kt 에서 Card.kt 로 분리
- TextField 의 keyboardType 파라미터 제거, keyboardOptions 만 유지
- TextField maxLength 초과 시 잘라서 반영 (IME 붙여넣기 UX)
- TextField/TextButton 최소 높이 48dp 로 상향 (접근성)
- TextField FilledSmall 코너 5dp → 8dp (bg_solid_corner 와 일치)
- 공통 컴포넌트 각각에 용도·사용법 KDoc 추가
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 두 방향의 interop (ComposeView / AndroidView) 사용법
- Fragment 전환 전략 및 권장 순서
- 테마 경계·RecyclerView·Dialog·Insets 등 실전 함정 정리
- applyAppTheme 확장 함수 규약 제안
- 버전 호환 체크리스트
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
[Refactor] Compose 도입 및 공통 UI 컴포넌트 추가 #489
- ComposeView.applyAppTheme 확장 함수 추가
- SettingScreen / SettingMenuItem Compose 작성
- SettingFragment -> ComposeView 반환 구조
- fragment_setting.xml 삭제
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- NotificationScreen + NotificationSwitchRow Compose 작성
- NotificationFragment 를 Fragment + ComposeView 로 전환
- collectAsStateWithLifecycle 로 ViewModel 상태 관찰
- fragment_notification.xml, notification_switch style, style_toggle_track/thumb drawable 정리
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
[Refactor] 알림 설정 화면 Compose 전환 #497
[Refactor] 공통 BottomSheet 컴포넌트 + Selection 4곳 교체 #499
[Refactor] MenuBottomSheetDialog 3곳 교체 + UpdateDialogFragment Compose 전환 #501
[Refactor] TermsDialogFragment Compose 전환 + BaseAlertDialog 3곳 교체 #503
[Refactor] DatePickerDialogFragment Compose 전환 #505
AndroidComposeConventionPlugin 신규 + presentation, feature/profile, feature/auth 3개 모듈에 적용. 모듈별 inline Compose 설정 제거.
- TermsScreen Composable 신규 (Stateless + Preview 2종)
- TermsViewModel LiveData → StateFlow 전환
- TermsFragment BindingFragment → Fragment + ComposeView + applyAppTheme
- fragment_terms.xml, selector_terms_check.xml 삭제, nav graph tools:layout 정리
- PermissionScreen Composable 신규 (Stateless + PermissionRow 추출 + Preview)
- PermissionFragment BindingFragment → Fragment + ComposeView + applyAppTheme
- 권한 launcher 및 Android 13+ 알림 권한 로직 유지
- fragment_permission.xml 삭제, nav graph tools:layout 정리
- ProfileImageDetailScreen Composable 신규 (HorizontalPager + DropdownMenu + Coil AsyncImage)
- ProfileImageDetailFragment BindingFragment → Fragment + ComposeView + applyAppTheme
- ProfileImageDetailViewModel profileImages LiveData → StateFlow (SharedFlow는 유지)
- ProfileImageAdapter, menu_profile_image.xml, item_profile_image.xml 정리
- fragment_profile_image_detail.xml 삭제, nav graph tools:layout 정리
- feature/profile 모듈에 coil-compose 의존성 추가
- TermsViewModel SharingStarted.WhileSubscribed → Eagerly 변경 (combined flow가 collector 없이도 즉시 계산되도록 하여 테스트 단순화)
- TermsViewModelTest LiveData observeForever 제거, Dispatchers.setMain + runTest + advanceUntilIdle 패턴 적용 (NotificationViewModelTest 등과 일치)
- TermsViewModel SharingStarted.WhileSubscribed → Eagerly 변경 (combined flow가 collector 없이도 즉시 계산되도록 하여 테스트 단순화)
- TermsViewModelTest LiveData observeForever 제거, Dispatchers.setMain + runTest + advanceUntilIdle 패턴 적용 (NotificationViewModelTest 등과 일치)
edv-Shinand others added 28 commits August 13, 2026 00:53
refactor: EntryState 기반 앱 진입 라우팅 재구성
refactor: 오프라인 진입 시 시작 화면을 운동 기록 탭으로 변경
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
[Fix] FCM 토큰이 바뀌어도 서버에 반영하지 않는 문제 수정
…ng-566
[Refactor] POST login 호출을 FcmRepository.registerToken으로 이동
진입 경로와 워커가 같은 일을 두 갈래로 하던 것을 워커 하나로 모읍니다.
재시도와 백오프, 프로세스 종료 후 재개를 WorkManager가 맡습니다.
…rker-569
[Refactor] FCM 토큰 등록 경로를 워커로 통합
[Chore] 버전 증가 (versionCode 31, versionName 0.8.4)
@edv-Shinedv-Shin self-assigned this Aug 16, 2026
@edv-Shin
edv-Shin merged commit a819a5d into masterAug 16, 2026
3 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@edv-Shin