Conversation
- Tuist/Package.swift: PackageSettings.baseSettings로 외부 패키지 IPHONEOS_DEPLOYMENT_TARGET을 앱과 동일한 17.0으로 오버라이드 - Scripts/patch-spm-deployment-target.sh 신설: baseSettings가 못 덮는 SPM 리소스 번들 타깃 15개(13.1)를 tuist generate 직후 패치(tuist/tuist#11163, Tuist 4.206 기준 미해결 — CLI 빌드는 통과하지만 Xcode IDE 빌드만 하드 에러) - CLAUDE.md: generate 직후 스크립트 실행 절차 기록 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DPJ34KGxJb2HR3t7kyN7fP
앱 실행 직후 scrollPosition(id:) 초기값(selection=1)이 첫 레이아웃 패스에서 적용되지 않아 ScrollView가 맨 앞(banner4 복제본)에 주차된 채 인디케이터만 selection=1을 반영하던 문제. ScrollViewReader로 감싸 onAppear 다음 런루프에 scrollTo(anchor: .leading)로 초기 위치를 강제해 해결(각 배너 .id(index) 부여). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DPJ34KGxJb2HR3t7kyN7fP
선호 장르 3×3 그리드를 화면 폭에 맞춰 가변 배치. 좌우 여백 39·열 간격 24· 행 간격 25 고정, 원 배지 지름 = (화면폭−39×2−24×2)/3로 열을 꽉 채우고 아이콘·체크마크는 원 크기에 비례 스케일(라벨 title3 고정). 서브타이틀↔그리드 간격 50, 타이틀 여백은 기존 20 유지. iPhone SE처럼 세로가 짧은 기기(높이로 판별)는 세로 공간이 부족해 여백 39는 유지하되 원 지름을 60으로 고정. SE·17 Pro·17 Pro Max 시뮬레이터로 실측 확인. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DPJ34KGxJb2HR3t7kyN7fP
TotalFeed.updated(from:)이 상세 복귀 셀 동기화 시 detail.connectedNovel.basicInfo를 통째로 넣어 별점이 글쓴이 별점에서 작품 전체 평점으로 바뀌던 버그 수정. id·제목·장르는 basicInfo에서, rating은 feedWriterRating으로 채운 ConnectedNovel을 새로 조립. (목록 API는 글쓴이 별점을 novelRating, 상세 API는 feedWriterNovelRating으로 내려주는 필드명 불일치 — 상세 화면은 두 값 다 쓰므로 매퍼는 그대로 두고 이 지점에서만 교정.) WSSLinkNovel.novelRating을 Float? 로 바꿔 nil/0이면 별점 표기를 생략(상세 FeedDetailLinkNovelBlock의 if > 0과 동일 규칙). 호출부 4곳(소소피드·타유저 피드· 타유저 피드 목록·작품 상세 피드 탭)의 ?? 0 뭉갬 제거. TotalFeedTests: 버그를 검증하던 stale 단언 정정 + 글쓴이 별점 사용/미평가 시 nil 전용 테스트 2건 추가. FeedDomain·FeedFeature CLAUDE.md에 함정 기록. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DPJ34KGxJb2HR3t7kyN7fP
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DPJ34KGxJb2HR3t7kyN7fP
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DPJ34KGxJb2HR3t7kyN7fP
SwiftUI TabView 자동 "탭 재탭→최상단"이 화면 안 첫 번째 ScrollView 하나에만 걸려, 상시 mount된 두 리스트 중 먼저 선언된 내 피드에만 동작하던 문제(소소피드는 안 되고, 내 피드는 숨어 있어도 재탭마다 리셋)를 명시 신호 + 미끼 2단계로 해결. - MainTabView: 커스텀 TabView(selection:) Binding으로 피드 탭 재탭을 감지해 feedReselectSignal(카운터) 증가 → FeedRootView→Factory→SosoFeedView로 전달. - SosoFeedView: 각 리스트를 ScrollViewReader+최상단 앵커로 감싸 보이는 서브탭만 (selectedTab==tab 가드) 올린다 — 숨은 탭 스크롤 깊이 보존. - FeedListSection 맨 앞에 투명 미끼 ScrollView를 둬 자동 동작을 흡수(첫 ScrollView만 잡는 성질 역이용) → 진짜 두 리스트는 오직 명시 신호로만 이동. iPhone 17 Pro Max/iOS 26 로그인 세션 실측 확인. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018zPMZdSLZBKpRuv9SvPuNg
…실행(브랜치 전환 후 IDE 빌드 유지) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018zPMZdSLZBKpRuv9SvPuNg
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018zPMZdSLZBKpRuv9SvPuNg
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018zPMZdSLZBKpRuv9SvPuNg
테스트 커버리지 리포트
Generated by CI on 2026-09-12 03:53 KST |
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.
💡 Issue
💭 Summary
QA에서 나온 자잘한 결함들을 한 번에 반영했어요.
빌드(Xcode 26.6)·피드·컬렉션·온보딩 네 갈래에 걸쳐 있어요. 각 커밋이 단일 주제라 커밋 단위로 따라 읽으면 편해요.
🔑 Key Changes
🛠 빌드 — Xcode 26.6 대응
Package.swift로 못 덮어서(tuist#11163),Scripts/patch-spm-deployment-target.sh로 generate 직후 덮어요.📰 피드
🗂 컬렉션
🚪 온보딩
📱 Simulation
🧑🧒🧒 To Reviewer
리뷰 진행
CollectionNovel.author표시 사용처 서술 오기)은 이 PR에서 정정했어요.봐주시면 좋은 포인트
novelRating, 상세 API는feedWriterNovelRating으로 내려줘요. 그래서TotalFeed.updated(from:)에서 매퍼를 안 고치고 이 지점에서만 글쓴이 값을 집어와요(상세 화면은 전체 평점이 계속 필요해서요).FeedFeature/CLAUDE.md에 정리돼 있어요.tuist generate를 돌렸을 땐 직접Scripts/patch-spm-deployment-target.sh도 돌려주세요.※ Reference