Skip to content

웹뷰 메시지 수신을 브리지 인터페이스로 정리 #9

Description

@tnals0924

어떤 기능인가요?

추가하려는 기능에 대해 간결하게 설명해주세요

지금 앱은 웹이 postMessage로 보내는 메시지를 safeAreaColors 하나만 받고, 파싱·검증·반영이 safeAreaColors.ts와 WebViewScreen.handleMessage에 1:1로 묶여 있다. 앞으로 인증 토큰·푸시 등 여러 영역에서 값을 받아올 예정이라, 메시지가 늘어도 화면 코드에 if (parseA) … else if (parseB) …가 쌓이지 않도록 웹 → 앱 브리지 인터페이스를 먼저 만든다.

  • 메시지 추가 시 손대는 곳: 메시지 정의 파일 하나 + 레지스트리 한 줄 + 화면 핸들러 한 줄
  • type 문자열 ↔ payload 타입이 컴파일 타임에 묶여 핸들러에 캐스팅이 없다
  • 검증 실패·모르는 메시지는 버린다 (지금 방침 유지)

📝 작업 상세 내용

  • 메시지 봉투를 { type, payload }로 정한다
  • src/features/webview/bridge/bridge.ts — 레지스트리 + 타입 파생 + dispatchBridgeMessage
  • safeAreaColors.ts를 bridge/messages/로 옮기고 파서 입력을 payload: unknown으로 맞춘다
  • WebViewScreen.handleMessage를 브리지 디스패처로 교체한다
  • 웹 송신부(stream-client-web PR #57)에 봉투 형식 반영을 요청한다

📁 참고 자료 (선택)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions