Files
sodalive-ios/docs/plan-task/20260410_라이브룸다이얼로그표시시키보드내림.md

4.2 KiB

20260410_라이브룸다이얼로그표시시키보드내림.md

개요

  • LiveRoomViewV2에서 자동으로 사라지지 않는 다이얼로그가 표시될 때, 채팅 입력으로 올라와 있던 키보드를 즉시 내린다.
  • 대상은 화면 위에 유지되는 다이얼로그/팝업이며, 기존에 이미 처리 중인 삭제 확인 다이얼로그와 동일한 사용자 경험으로 맞춘다.
  • 범위는 LiveRoomViewV2.swift 내부 상태 변화 처리로 한정한다.

요구사항 해석(고정)

  • 사용자가 채팅 입력 중이어도 비자동-dismiss 다이얼로그가 열리면 키보드는 내려가야 한다.
  • 자동으로 사라지는 토스트나 일시적 애니메이션 오버레이는 대상에서 제외한다.
  • 기존 다이얼로그 표시/닫기 로직, 각 액션의 비즈니스 동작은 변경하지 않는다.

완료 기준 (Acceptance Criteria)

  • AC1: LiveRoomProfilesDialogView가 표시되면 키보드가 내려간다.
  • AC2: LiveRoomUserProfileDialogView가 표시되면 키보드가 내려간다.
  • AC3: SodaDialog 기반의 유지형 다이얼로그가 표시되면 키보드가 내려간다.
  • AC4: 기존에 처리 중인 isShowChatDeleteDialog 동작은 유지된다.
  • AC5: 다이얼로그 표시 외 다른 기존 라이브룸 동작에는 회귀가 없다.

구현 체크리스트

  • LiveRoomViewV2 내 유지형 다이얼로그 표시 상태 목록 확정
  • 키보드 dismiss 공통 처리 지점 추가
  • 관련 표시 상태 변화 시 hideKeyboard() 호출 연결
  • 정적 진단 및 빌드 검증 수행

영향 파일(예상)

  • SodaLive/Sources/Live/Room/V2/LiveRoomViewV2.swift

검증 계획

  • 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
  • 수동 QA: 채팅 입력 중 각 대상 다이얼로그를 열어 키보드가 즉시 내려가는지 확인

검증 기록

  • 2026-04-10 (계획 문서 초안)

    • 무엇/왜/어떻게: LiveRoomViewV2의 다이얼로그 노출 구간과 기존 키보드 dismiss 처리(isShowChatDeleteDialog)를 기준으로, 유지형 다이얼로그 표시 시 키보드를 내리는 최소 수정 범위를 문서화했다.
    • 실행 명령/도구:
      • read(LiveRoomViewV2.swift)
      • glob("docs/*")
      • read(20260319_라이브룸채팅삭제기능구현계획.md, 20260306_라이브룸외부이동확인다이얼로그.md)
    • 결과:
      • 계획 문서 생성 완료.
      • 코드 수정 및 빌드 검증은 아직 수행하지 않음.
  • 2026-04-10 (유지형 다이얼로그 표시 시 키보드 내림 반영)

    • 무엇/왜/어떻게: LiveRoomViewV2에 유지형 다이얼로그 표시 여부를 묶는 isShowingPersistentDialog 계산 프로퍼티를 추가하고, 해당 값이 true로 전환될 때 hideKeyboard()를 호출하도록 변경했다. 개별 버튼 액션마다 중복 처리하지 않고, 실제 다이얼로그 표시 상태 변화 시점에만 키보드 dismiss가 일어나도록 맞췄다.
    • 실행 명령/도구:
      • background_output(bg_0e23617c)
      • 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
    • 결과:
      • LiveRoomViewV2.swift 진단 오류 없음 확인.
      • SodaLive-dev Debug 빌드 ** BUILD SUCCEEDED ** 확인.
      • SodaLive Debug 빌드는 병렬 실행 중 build.db lock으로 1회 실패했고, 동일 명령 단독 재실행 후 ** BUILD SUCCEEDED ** 확인.
      • 두 스킴 모두 test action 미구성으로 자동 테스트 실행 불가(Scheme ... is not currently configured for the test action.).
      • CLI 환경 제약으로 실제 라이브룸 진입 후 키보드/다이얼로그 상호작용 수동 QA는 후속 확인 필요.