diff --git a/docs/20260320_채팅얼림아이콘이동및문구점검.md b/docs/20260320_채팅얼림아이콘이동및문구점검.md new file mode 100644 index 0000000..96c67a8 --- /dev/null +++ b/docs/20260320_채팅얼림아이콘이동및문구점검.md @@ -0,0 +1,31 @@ +# 20260320 채팅 얼림 아이콘 이동 및 문구 점검 + +## 작업 체크리스트 +- [x] `LiveRoomViewV2` 우측 하단 버튼 영역에서 방장용 채팅 얼림(`ic_ice`) 아이콘을 마이크 음소거 아이콘 아래로 이동한다. +- [x] 채팅 얼림 상태에서 입력 시 노출되는 `I18n.LiveRoom.chatFreezeBlockedMessage` 문구가 한국어 `🧊 채팅창이 얼었습니다.`인지 확인한다. +- [x] 동일 키의 영어/일본어 번역이 한국어 의미에 맞게 유지되는지 확인한다. +- [x] 수정 파일 진단과 빌드를 실행해 결과를 기록한다. + +## 완료 기준 (Pass/Fail) +- [x] Pass: 방장 화면에서 `ic_ice` 버튼이 `ic_mic_on`/`ic_mic_off` 버튼 바로 아래 순서로 렌더링된다. (QA: 버튼 VStack 순서 코드 확인) +- [x] Pass: 채팅 얼림 입력 차단 문구가 한국어 `🧊 채팅창이 얼었습니다.`로 유지된다. (QA: `I18n.LiveRoom.chatFreezeBlockedMessage` 값 확인) +- [x] Pass: 영어/일본어 번역이 각각 `🧊 The chat is now frozen.`, `🧊 チャットが凍結されました。`로 확인된다. (QA: 동일 키 다국어 값 확인) +- [ ] Pass: 수정 파일 LSP 진단 에러 0건, 빌드 명령 종료 코드 0. (QA: `lsp_diagnostics`, `xcodebuild`) + +## 검증 기록 +- 2026-03-20 (채팅 얼림 아이콘 위치 및 문구 점검) + - 무엇/왜/어떻게: `LiveRoomViewV2` 우측 버튼 배치에서 기존 상단 스피커 토글 묶음의 얼림 버튼을 제거하고, 마이크 음소거 버튼 분기 바로 아래에 동일 버튼/동작을 이동했다. 동시에 입력 차단 토스트가 참조하는 `I18n.LiveRoom.chatFreezeBlockedMessage`의 ko/en/ja 문구를 점검해 요구 문구/번역과 일치함을 확인했다. + - 실행 명령/도구: + - `lsp_diagnostics`: + - `SodaLive/Sources/Live/Room/V2/LiveRoomViewV2.swift` + - `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build` + - `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build` + - `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" test` + - `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test` + - `python3` 소스 QA 스크립트 (아이콘 순서/문구 매칭 검증) + - 결과: + - `lsp_diagnostics`: SourceKit `No such module 'Kingfisher'` 진단 발생(의존성 인덱싱 환경 이슈로 판단, 수정 코드 문법 오류는 `xcodebuild` 성공으로 교차 확인). + - `SodaLive` Debug build: `** BUILD SUCCEEDED **`. + - `SodaLive-dev` Debug build: `** BUILD SUCCEEDED **`. + - 테스트: 두 스킴 모두 `Scheme ... is not currently configured for the test action`으로 실행 불가. + - 소스 QA 스크립트: `mic_button_exists`, `ice_button_exists`, `speaker_button_exists`, `ice_is_below_mic_in_code_order`, `ice_not_in_top_speaker_group`, `chat_freeze_blocked_message_i18n_values_match` 전 항목 `PASS`.