Claude ce583d9706 [포커스 충돌 해결] VoiceInputOverlay와 SearchPanel 포커스 복원 로직 개선
## 문제 상황
VoiceInputOverlay에서 listening 모드로 음성 인식 후 새로운 데이터가 도착할 때,
VoiceInputOverlay의 포커스 복원 로직과 SearchPanel의 통합 포커스 로직이 충돌하여
첫 번째 아이템으로 포커스가 이동하지 않는 문제 발생

## 해결 방법

### 1. VoiceInputOverlay - 명시적 데이터 확인 추가
- shopperHouseData prop 추가
- 포커스 복원 로직에서 음성 검색 결과 데이터 유무를 명시적으로 확인
- 데이터가 있으면 포커스 복원하지 않고 SearchPanel에 위임

### 2. SearchPanel - 우선순위 시나리오 타이밍 단축
- NEW_SEARCH_LOADED 시나리오의 포커스 타이밍을 100ms → 50ms로 단축
- VoiceInputOverlay의 포커스 복원(100ms)보다 먼저 실행되어 우선권 확보
- 타이밍 이슈로 인한 경쟁 상태(Race Condition) 방지

## 변경 파일
- VoiceInputOverlay.jsx: shopperHouseData prop 추가 및 포커스 복원 조건 개선
- SearchPanel.new.v2.jsx: shopperHouseData prop 전달 및 포커스 타이밍 최적화

## 테스트 시나리오
1. 음성 검색 실행 (listening 모드)
2. 음성 인식 완료 및 API 응답 수신
3. VoiceInputOverlay 닫힘
4.  첫 번째 검색 결과 아이템으로 포커스 이동 확인
2025-11-09 02:00:27 +00:00
2025-09-12 14:10:43 +09:00
2024-10-14 17:31:11 +09:00
2025-06-30 00:51:34 +00:00
2025-06-30 00:51:34 +00:00

ShopTime

LG ShopTime Project

브랜치 관리 전략

프로젝트는 다음과 같은 브랜치 구조로 관리됩니다:

주요 브랜치

  • main

    • 최종 릴리즈 및 검증이 완료된 소스 코드 보관
    • 매주 목요일: QA 브랜치에서 검증 완료된 코드를 main으로 병합
  • qa

    • 2차 테스트 및 최종 릴리즈 검증용 브랜치
    • 매주 화요일: 배포 진행
    • 매주 수요일: 검증 진행
  • qa2

    • 1차 테스트용(qa2 배포) 소스 코드 보관
    • LG 깃 레포지토리의 QA2 브랜치와 동기화 필수
  • develop

    • 고도화 작업 및 유지보수팀 코드 통합 브랜치
    • 기능 개발 완료 후 코드 리뷰를 거쳐 해당 브랜치로 병합

작업용 브랜치

  • hotfix

    • 유지보수팀 전용 브랜치
    • 수정 완료 후 develop 브랜치로 병합
  • feat/name_v2

    • 고도화 작업팀 전용 브랜치
    • 기능별로 별도 브랜치 생성 필요
    • 예: feat/home_v2, feat/search_v2
    • 작업 완료 후 develop 브랜치로 병합

배포 프로세스

  1. 화요일

    • QA 브랜치 배포
    • QA2 → QA 브랜치 병합
  2. 수요일

    • QA 브랜치 검증 진행
  3. 목요일

    • QA → Main 브랜치 병합
    • Main 브랜치 릴리즈

커밋 메시지 컨벤션

고도화 작업

  • [branch name]Type : 작업내용
  • git commit -m "[home]feat : 선택약관 동의시 배너 나타남"

유지보수 작업

  • [jira task Number]Type : 작업내용
  • git commit -m "[SHOPTIME-4020]fix : pdf open test"

Type

  • feat: 새로운 기능 추가
  • fix: 버그 수정
  • docs: 문서 수정
  • style: 코드 포맷팅
  • refactor: 코드 리팩토링
  • test: 테스트 코드
  • chore: 빌드 업무 수정

긴급 배포 프로세스

  1. 긴급 수정 사항 발생 시

    • hotfix 브랜치에서 작업
    • 담당 PM 및 리드 개발자 승인 필수
  2. 긴급 배포 승인 시

    • hotfixqa2 병합
    • QA2 검증 진행
    • 검증 완료 후 qamain 순차적 배포
  3. 배포 후 조치

    • 긴급 배포 내역 문서화
    • 재발 방지 대책 수립
    • develop 브랜치에도 수정사항 반영
Description
No description provided
Readme 177 MiB
Languages
JavaScript 83.3%
Less 16.7%