Skip to content

클래스 확정 디자인과 TTS 참여 흐름 반영 - #78

Merged
Roy-wonji merged 16 commits into
developfrom
feature/class-figma-android-flow-20261027
Oct 28, 2026
Merged

Roy-wonji merged 16 commits into
developfrom
feature/class-figma-android-flow-20261027

Conversation

@Roy-wonji

@Roy-wonji Roy-wonji commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

변경 내용

  • 클래스 사전 투표, TTS 청취, 의견, 결과 화면과 라우팅을 확정 Figma 시안 및 Android develop 흐름에 맞춰 수정했습니다.
  • 사전 투표 소개 영역과 선택지 사이 간격을 확정 Figma 노드 13337:56744의 40pt에 맞췄습니다.
  • 클래스 결과의 종료 상태 배지를 확정 시안과 다른 클래스 화면에 맞춰 종료로 표시합니다.
  • 의견 작성 상태 재조회, 좋아요 응답, 투표 변경 시트의 임시 선택값, 클래스 참여 코드 입력을 수정했습니다.
  • Figma 노드 PNG/구조 정보 추출 및 화면 비교용 개발 플러그인을 추가했습니다.
  • 현재 Class 인터페이스에 맞게 클래스 및 App 테스트 스텁을 정리했습니다.

확인된 검증

  • Picke-Preview-375 Class 테스트: 210개 통과, 0개 실패.
  • Picke-Stage build-for-testing: 통과.
  • Picke-Preview-375 App 클래스 코디네이터 테스트: 50개 통과, 0개 실패.
  • Class API 37개 HTTP method/path: 제공된 class-api.md 및 서버 dev와 정적 대조 완료.
  • 최신 커밋 CodeQL Python/Ruby: 통과.
  • 최신 간격 수정 git diff --check 및 Claude 계획·코드 교차 점검: 통과.

남은 검증

  • Device Hub 창 캡처가 cgWindowNotFound로 실패해 수정 후 화면의 확정 Figma 시안 대비 픽셀 검증은 완료되지 않았습니다.
  • 실제 클래스 계정으로 투표·TTS·의견·결과 API 통신과 재실행을 확인해야 합니다.

위 두 항목은 리뷰 중에도 미검증 상태로 취급해 주세요.

클래스 투표·청취·의견·결과 화면과 라우팅을 확정 시안 및 Android 흐름에 맞춘다.
Figma 노드 대조 플러그인과 클래스 및 App 흐름 테스트를 보강한다.
UUID 테스트 의존성을 명시하고 현재 라우팅 및 결과 응답 계약에 맞춰 상태 검증을 보완한다.
@Roy-wonji
Roy-wonji marked this pull request as ready for review October 27, 2026 22:01
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T00:21:08.201602Z 977e193 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fb2acdaf48

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

리포트 표시값을 상태에서 계산하고 공통 색상 토큰을 적용합니다.
좋아요 요청 취소 후 재진입 시 서버 상태를 다시 조회하며 회귀 테스트를 추가합니다.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: be84c7f1ee

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 PR은 클래스 흐름(사전 투표, TTS 청취, 의견, 결과 화면)을 Figma 시안 및 Android 개발 흐름에 맞춰 대폭 개선하고 있습니다. 주요 변경 사항은 다음과 같습니다:

  1. 아키텍처 개선: ClassInterface를 ClassRoomInterface, ClassResultInterface, ClassDebateInterface 등 세분화된 프로토콜로 분리하여 모듈 간 의존성을 더욱 명확히 하고, 단일 책임 원칙을 강화했습니다.
  2. 내비게이션 및 UI 흐름 재구조화: ClassCoordinator와 ClassBattleFlowView의 내비게이션 로직을 대대적으로 개편하여, 각 클래스 진행 단계에 맞는 명확하고 일관된 사용자 경험을 제공합니다. 탭바 가시성 로직도 여러 화면에서 일관성 있게 업데이트되었습니다.
  3. TTS 및 의견 기능 강화: 오디오 재생 시 TTS 스크립트를 표시하고, 의견 작성 및 조회를 위한 UI/UX를 개선했습니다. AI 인사이트 및 개인 피드백 통합도 강화되었습니다.
  4. 테스트 코드 정합성 확보: 변경된 비즈니스 로직과 UI 흐름에 맞춰 기존 테스트를 업데이트하고, 새로운 테스트 케이스를 추가하여 코드 변경에 대한 신뢰도를 높였습니다.

전반적으로 구조 개선과 기능 추가가 잘 이루어졌습니다. 특히 UseCase 분리는 모듈 아키텍처 관점에서 매우 긍정적입니다. 몇 가지 스타일 및 가독성 관련 개선 의견이 있습니다.

투표 결과 라벨과 의견 제출 오류 표시를 수정하고 회귀 검사를 추가합니다.
Gemini 리뷰의 변경 줄 검증, 중복 게시 방지, API 오류 후 저장 확인을 보강합니다.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스 참여 흐름, 투표, TTS 청취, 의견, 결과 화면 라우팅 및 디자인을 Figma 시안에 맞춰 크게 변경한 PR입니다. ClassCoordinator의 내비게이션 로직이 대폭 수정되었고, 각 화면 컴포넌트(ClassBattleFlowView, ClassReportView 등)들이 여러 step에 따라 다른 UI를 렌더링하도록 재구성되었습니다. 특히 ClassBattleFlowView는 투표, 청취, 의견 작성 단계별로 UI를 분리하고 ClassBattleTranscriptLine을 통해 TTS 자막을 실시간으로 표시하는 기능을 추가했습니다. 새로운 ClassResultInterface를 중심으로 UseCase 의존성이 classResultUseCase, classRoomUseCase, classDebateUseCase 등으로 세분화되었으며, 이에 맞춰 테스트 코드의 의존성 주입 및 스텁 구현도 업데이트되었습니다. 전반적으로 코드 품질은 양호하며, 복잡한 플로우 변화에 대한 테스트 커버리지도 확보되어 있습니다. 한 가지 잠재적 상태 불일치 문제가 확인되었습니다.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 407b0a4834

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Tools/FigmaClassAudit/ui.html Resolved
제출 중 화면 이탈 후 서버 진행 상태를 다시 조회하도록 수정합니다.
Gemini 리뷰 댓글을 리뷰별 API로 확인하고 조회 지연을 처리합니다.
@Roy-wonji

Copy link
Copy Markdown
Contributor Author

리뷰 대응

  • Codex가 지적한 투표 결과 라벨, 의견 등록 실패 표시, 함수 시그니처, 재진입 상태를 수정했고 ClassBattleFlow 대상 테스트가 통과했습니다. 제출 중 이탈 후에는 서버 진행 상태를 재조회합니다 (407b0a48, 3b041291).
  • 이전 Gemini 리뷰의 55개 인라인 댓글 중 P3 10개와 P4 42개는 선택적 스타일 의견입니다. P1의 “Reducer 안에서 TTS 자막 변환” 지적은 실제 변환이 Effect.run 안에서 수행되어 해당하지 않습니다. P2의 테스트 의존성 지적도 ClassUseCaseImpl의 인터페이스 채택 관계와 맞지 않습니다.
  • 남은 P2 스와이프 제스처 의견은 Device Hub에서 실제 터치 동작을 확인하기 전까지 열어 둡니다. Device Hub 창 접근이 cgWindowNotFound로 실패해 시각·제스처 검증은 아직 완료되지 않았습니다.
  • 새 Gemini 리뷰의 제출 취소 후 요청 ID 잔류 문제는 3b041291에서 수정했습니다. 이전 CI가 실패한 원인은 리뷰가 저장됐지만 전체 PR 댓글 조회에 인라인 댓글이 늦게 나타난 것으로 확인했고, 리뷰 ID 전용 댓글 조회로 변경했습니다. 새 CI 결과를 확인 중입니다.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3b04129157

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

클래스 결과의 서버 집계 표시값을 State에서 계산하고 Figma 감사 파일 다운로드를 바로잡습니다.

Gemini 리뷰 응답을 검증한 뒤 게시하며 잘린 응답은 한 번 재시도합니다.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스 관련 다수 화면의 디자인 확정 및 TTS 참여 흐름을 반영한 주요 기능 변경과 내부 아키텍처 리팩토링이 잘 이루어졌습니다. 특히 UseCase 프로토콜의 역할 분리 및 테스트 코드에서의 의존성 주입 변경이 전반적으로 일관성 있게 적용되었습니다. 새로운 라우팅 및 상태 관리 로직과 관련 테스트 케이스도 상세하게 추가되었습니다.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4a1863bd98

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

사전 투표 문구의 계산을 State로 모으고 기존 표시 조건과 날짜 형식을 검증합니다.
리뷰 생성 요청에서 429와 일시적 5xx를 제한된 횟수로 재시도합니다.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스 참여 흐름과 결과 화면을 확정 시안에 맞춰 리팩토링하고 신규 기능을 통합한 변경 사항입니다. ClassCoordinator 및 ClassBattleFlowFeature에서 복잡한 내비게이션 및 상태 전환 로직을 개선하고, TTS 청취 화면 및 의견 작성/조회 화면을 새로 도입했습니다. 도메인 유스케이스를 세분화하여 관심사를 분리하고, 관련 테스트 코드를 업데이트하여 변경 사항을 검증한 점이 좋습니다. 코드 컨벤션과 아키텍처 가이드라인을 잘 준수하고 있습니다. 심각한 결함(P1) 또는 주요 결함(P2)은 발견되지 않았습니다.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3b603b45e4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

좋아요 응답과 목록 재조회 순서가 달라도 서버 상태를 유지합니다. 투표 비율 표시와 잘못된 좋아요 응답 처리를 보강합니다.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스 관련 다수 기능 확장 및 코드 구조 개선이 이루어졌습니다. 특히 배틀 플로우, 리포트 화면의 UI/UX가 크게 개선되었고, TCA 라우팅 및 의존성 주입 계층이 리팩토링되었습니다. 그러나, ClassDebateUseCase 의존성 관련 테스트에서 잘못된 Mock 또는 구현체를 주입하여 타입 불일치 문제를 야기하는 부분이 발견되었습니다.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8214ed4365

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

수동 스와이프를 네이티브 뒤로가기로 교체하고 화면 제거 시 요청과 오디오를 정리합니다. 재생 및 제출 중 이탈 테스트를 추가합니다.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스 도메인 인터페이스를 리팩토링하고, 복잡한 배틀 플로우 및 리포트 화면을 도입했습니다. 오디오 재생 및 네트워크 요청 취소와 같은 생명주기 관리와 관련된 중요한 수정 사항들이 포함되어 있습니다.

추가 확인 사항 (미검증 항목은 인라인 미게시):

  • Projects/App/Sources/Navigation/Class/ClassCoordinator.swift:456 [미검증] 🟠 [P2] Major ClassBattleFlowFeature에서 사용자의 의견 제출과 같은 네트워크 요청이 진행 중일 때, 사용자가 화면을 이탈하면 해당 요청이 취소되지 않고 서버로 전송될 수 있습니다. 이로 인해 사용자 의도와 다른 서버 상태 변경이나 예기치 않은 오류가 발생할 수 있습니다. ClassCoordinator에서 removedBattleFlows 처리 시 `CancelID.submit(id

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ed24f6fba8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

의견 수 표시를 State의 행 모델로 옮기고 결과 화면 뒤로 가기를 복구합니다.
화면 이탈 시 대기 중인 재생을 취소한 뒤 일시정지하며 회귀 테스트를 추가합니다.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스 배틀 플로우의 내비게이션, 오디오 재생, 의견 작성 및 결과 조회 기능이 전반적으로 개선되었습니다. Coordinator와 View에서 탭바 표시 여부와 뒤로가기 제스처가 디자인 확정 시안에 따라 수정되었고, 배틀 플로우 내에서 TTS 스크립트 생성, 의견 필터링 및 정렬, 좋아요 기능이 추가되었습니다. 특히 TCA cancellation 및 상태 동기화 로직이 복잡한 상황(예: 좋아요 요청과 목록 재조회 간의 순서 불일치)을 포함하여 견고하게 구현되었음을 테스트 코드를 통해 확인했습니다. ClassReportView에서는 사용자 역할에 따른 결과 페이지 분리 및 AI 인사이트 표시가 추가되었으며, 전반적으로 아키텍처 원칙에 부합하는 리팩토링 및 테스트 개선이 이루어졌습니다.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ad021e1fd2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Reducer에서 시나리오 대본 구성 로직을 분리합니다.
화자와 문장 시각, 노드 순서를 고정하는 회귀 테스트를 추가합니다.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cb697f0cbf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

번호 제목과 인용문 대체값을 State에서 구성합니다.
행 순서와 표시값 회귀 테스트를 추가합니다.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전반적으로 UI 로직 분리, 코드 리팩토링, TTS 기능 확장 및 테스트 커버리지 강화 등 긍정적인 변경 사항이 많습니다. 특히 오디오 재생 및 제출 관련 라이프사이클 관리와 테스트 추가는 중요합니다. 다만, Coordinator의 탭바 가시성 로직과 뷰의 toolbar(.hidden) 적용 방식 간의 불일치, ClassReportView의 불필요한 onClose 제거, ClassBattleFlow의 의견 작성 로직 변경, ClassReportFeature의 인사이트 로딩 메시지, ClassJoinView의 ignoresSafeArea 제거로 인한 레이아웃 변경은 잠재적인 P2 이슈입니다.

추가 확인 사항 (미검증 항목은 인라인 미게시):

  • Projects/Feature/Class/Sources/ClassBattleFlow/Reducer/ClassBattleFlowFeature.swift:134 [미검증] 🟠 [P2] Major shouldShowComposer의 로직이 session?.participationCompleted == false && session?.commentRequired == true에서 canParticipate && hasPublishedPerspective == false && !hasSubmittedInCurrentSession로 변경되었습니다. 특히 `hasSubmittedInC

다음 대사가 있는 노드의 시작 시각을 기준으로 대본 노출 시간을 계산하고 역전 시각을 정렬합니다.
대본 및 투표 아바타 표시값을 상태 행 모델로 옮기고 회귀 테스트를 추가합니다.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스 관련 주요 화면(투표, TTS, 의견, 결과)의 라우팅 및 UI가 Figma 시안과 Android 흐름에 맞춰 대폭 변경되었고, 관련 로직 및 테스트가 추가되었습니다. 전반적으로 코드 품질은 양호하나, 오디오 재생 및 상태 관리에 전역 의존성을 사용하는 방식과 일부 뷰 바인딩 로직에 개선의 여지가 있습니다.

@Roy-wonji
Roy-wonji merged commit 1b9ed1d into develop Oct 28, 2026
5 checks passed
@Roy-wonji
Roy-wonji deleted the feature/class-figma-android-flow-20261027 branch October 28, 2026 00:38
Sign up for free to 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