[#556] LoginVIew에서 signIn이 다 되기 전 LoadingView가 사라지는 현상을 해결한다#563
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the login flow by adopting TCA's BindableAction and BindingReducer in LoginFeature, and instantiating the store directly within LoginView instead of passing it from RootView. The review feedback highlights a compilation issue in existing tests due to the removal of the .setAlert action, and a performance concern regarding resolving SignInUseCase from the dependency container inside the SwiftUI body of RootView. It is recommended to update the tests and inject SignInUseCase via the initializer of RootView instead.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
❌ iOS CI failed. Tests failedFailed schemes:
Check the uploaded test log artifacts for full diagnostics. |
|
❌ iOS CI failed. Tests failedFailed schemes:
Check the uploaded test log artifacts for full diagnostics. |
🔗 연관된 이슈
🎯 의도
OAuth 인증 얼럿 / 시트가 표시되는 동안
LoginView의Store가 재생성되며isLoading이 초기값으로 돌아가LoadingView가 사라지는 문제 해결📝 작업 내용
📌 요약
LoginView가LoginFeaturestore를@State로 소유하도록 변경BindableAction/BindingReducer적용LoginFeature에서 로딩 상태를 끄지 않도록 성공 액션 제거RootView의loginStore보관과DevLogApp의signInUseCase전달 제거🔍 상세
LoginView생성 시SignInUseCase를 받아 내부Store를 구성해 OAuth sheet 표시 후 body 재평가에도 store lifetime 유지showAlert닫힘 처리는$store.showAlert바인딩과case .binding(\.showAlert)에서 alert 상태 초기화isLoading = false처리RootView는 로그인 화면 표시 시container.resolve(SignInUseCase.self)로LoginView생성 책임만 수행📸 영상 / 이미지 (Optional)
2026-06-09.11.58.15.mov
2026-06-09.12.00.13.mov