Files
sodalive-ios/docs/20260319_채팅금지상태알림방식수정.md

3.0 KiB

20260319_채팅금지상태알림방식수정.md

개요

  • 라이브룸 V2에서 채팅 금지 상태 알림 방식을 채팅창 얼림 상태와 동일한 UX로 맞춘다.
  • 현재는 입력 후 전송 시점에만 차단 안내가 표시되므로, 입력창 터치 시점 안내로 변경한다.

완료 기준 (Acceptance Criteria)

  • AC1: 채팅 금지 상태에서 입력창을 터치하면 즉시 토스트가 노출된다.
  • AC2: 채팅 금지 상태에서 전송 버튼을 눌러도 입력창 터치와 동일한 차단 안내가 일관되게 동작한다.
  • AC3: 기존 채팅창 얼림 상태의 토스트 문구/노출 방식과 동일한 경로를 재사용한다.
  • AC4: 빌드 검증(SodaLive, SodaLive-dev)이 통과한다.

구현 체크리스트

  • LiveRoomViewV2와 입력 컴포넌트 연결 지점에서 채팅 금지 상태를 입력 비활성 조건에 포함한다.
  • LiveRoomInputChatView의 비활성 입력 터치 콜백 경로를 채팅 금지 상태에도 동일 적용한다.
  • 차단 안내 토스트 노출 경로를 단일화해 입력창 터치 시점 피드백이 보장되도록 조정한다.
  • lsp_diagnosticsxcodebuild 검증 결과를 기록한다.

검증 기록

  • 2026-03-19 (초안 작성)

    • 무엇/왜/어떻게: 사용자 요청(채팅 금지 알림 시점을 입력 터치 시점으로 변경)에 맞춘 최소 범위 작업 계획을 수립했다.
    • 실행 명령/도구:
      • read(LiveRoomViewV2.swift, LiveRoomInputChatView.swift)
      • grep("onDisabledInputTap|isInputDisabled|chatFreezeBlockedMessage", include:"*.swift")
    • 결과:
      • 변경 지점 후보를 LiveRoomViewV2 입력 바인딩과 LiveRoomInputChatView 비활성 터치 처리로 식별했다.
  • 2026-03-19 (구현 및 검증)

    • 무엇/왜/어떻게: 채팅 금지 상태를 LiveRoomInputChatView 비활성 조건에 포함하고, 비활성 입력 터치 시 토스트 메시지가 채팅창 얼림과 동일 경로(isShowErrorPopup)로 노출되도록 수정했다.
    • 실행 명령/도구:
      • apply_patch(LiveRoomViewV2.swift)
      • lsp_diagnostics(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
    • 결과:
      • LiveRoomViewV2에서 isChatFrozenForCurrentUser || isNoChatting를 입력 비활성 조건으로 적용.
      • 비활성 입력 터치 시 chatInputBlockedMessage를 통해 얼림/채팅금지 각각 맞는 문구를 토스트로 노출하도록 반영.
      • 빌드: SodaLive, SodaLive-dev 모두 ** BUILD SUCCEEDED ** 확인.
      • 테스트: 두 스킴 모두 Scheme ... is not currently configured for the test action.으로 자동 테스트 미구성 상태 확인.