Conversation
- 도메인 모델 `AfterNoteListItemDto`를 `AfterNoteListItem`으로 이름을 변경하여 모델 성격 명확화 및 관련 의존성(Mapper, Repository, ViewModel 등) 수정 - `ReceiverHomeViewModel`에서 여러 `async` 작업을 `coroutineScope` 내에서 실행하도록 개선하여 구조화된 동시성(Structured Concurrency) 보장 - `AfternoteHostViewModel`의 패스키 등록 상태(`isPasskeyRegistered`) Flow 전략을 `Eagerly`에서 `WhileSubscribed(5_000)`로 변경하여 자원 효율화 - `ReceiverAfternotePagingSource` 및 `ReceiverRepository` 인터페이스의 반환 타입을 변경된 모델 명칭에 맞춰 업데이트 - `ReceiverAfternoteListItemDtoToDomainTest` 내 주석 및 참조 모델명 수정
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌𝘐𝘴𝘴𝘶𝘦𝘴
Closes #403 — chore: 공식 가이드 권장 패턴 일관성 정리
📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯
AfternoteHostViewModel.isPasskeyRegistered를SharingStarted.Eagerly→WhileSubscribed(5_000)로 변경. 코드베이스의 다른stateIn(AfternoteDetail/Editor·ReceivedAfternoteDetail·DeliveryVerificationFlow 등)이 모두 쓰는 named-args 정준 형식에 맞춤.AfterNoteListItemDto→AfterNoteListItem. 순수 도메인 모델인데Dto접미사가 붙어 도메인/DTO 경계를 이름상 흐리던 것을 정리 (domain·data·presentation·app 18곳 + test KDoc 1곳, 시그니처 동반 수정).app의ReceiverHomeViewModel.loadHome()병렬async블록을coroutineScope {}로 감싸GetHomeSummaryUseCase의 정준 형식과 통일. (coroutineScope는 inline 이 아니라return@launch→return@coroutineScope로 변경)📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵
UI 변경 없음 — stateIn/rename/coroutineScope 로직 정리만으로 시각 영향이 없습니다.
💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴
loadHome()의 4개async는 모두Result<T>를 반환해 예외를 값화하므로,coroutineScope의 형제 취소·예외 전파 효과는 실제로는 발동하지 않습니다 — 구조적 동시성 정준 형식 통일이 목적입니다.AfterNoteListItemDto식별자만 치환했습니다 (매퍼/테스트 파일명의 소문자Afternote…와 구분되어 안전)../gradlew :app:compileDebugKotlinBUILD SUCCESSFUL,:feature:afternote:data:testDebugUnitTest통과.