[#545] SignInUseCase의 Sendable 책임을 TCA Dependency로 분리한다#552
Merged
Conversation
Contributor
There was a problem hiding this comment.
Code Review
이번 풀이 리퀘스트는 프로젝트 전반에서 불필요하거나 잘못 설정된 Sendable 채택을 제거하고, LoginFeature 등 일부 타입에 Sendable을 추가하거나 의존성 주입 방식을 개선하는 변경 사항을 담고 있습니다. 리뷰 의견으로는 WebPageImageStoreImpl의 perform 메서드가 백그라운드 큐에서 클로저를 실행하므로, 데이터 레이스 방지와 멀티스레드 안전성을 위해 Sendable 제약을 유지해야 한다는 지적이 있었습니다.
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.
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.
🔗 연관된 이슈
🎯 의도
SignInUseCase자체에Sendable책임을 두지 않고 로그인 feature의 TCA dependency 경계에서만 필요한 동시성 책임을 관리하기 위함📝 작업 내용
📌 요약
Sendable관련 선언 제거SignInUseCase를 plain protocol로 복구AuthProvider와SignInUseCaseDependency만 로그인 feature 경계에 맞게Sendable적용LoginFeature의 dependency 접근을 key path 기반에서 key type 기반으로 변경🔍 상세
SignInUseCase,AuthenticationRepository, Data/Infra/Persistence/WidgetCore 일부 타입에 추가됐던Sendable,@Sendable,@unchecked Sendable선언 제거AuthProvider를Sendable로 선언해 로그인 action payload의 값 타입 경계 명시SignInUseCaseDependency를Sendable래퍼로 두고execute클로저만@Sendable로 유지@Dependency(\.signInUseCase)를@Dependency(SignInUseCaseDependency.self)로 변경해DependencyValueskey path 기반 경고 제거LoginFeature의Action,AlertType에Sendable적용DevLogDomainimport에@preconcurrency적용해 로그인 경로의 모듈 경계 경고 축소📸 영상 / 이미지 (Optional)