nexo/agent-roadmap/phase/messaging-runtime/milestones/flutter-web-notification-smoke.md
toki 8ff55d4940 chore(roadmap): Flutter Web 알림 Smoke 마일스톤을 검토중 동기화한다
웹 smook 테스트 분리, helper 경로, 수동 증빙 정리를 통해 마일스톤 완료 근거를 milestone 기준으로 반영해 로드맵 상태를 검토중으로 맞췄다.
2026-06-08 19:58:45 +09:00

4.5 KiB

Milestone: Flutter Web 알림 Smoke 보완

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/messaging-runtime/PHASE.md

목표

Flutter Web foreground browser notification이 실제 브라우저 환경에서 반복 검증될 수 있게 한다. 기존 API와 fake interop 단위 테스트 근거만으로 완료 처리된 gap을 보완하고, 원격 runner에서 열린 Flutter Web server를 사용자가 forwarded localhost URL로 접근해 permission, display, click/open routing을 확인할 수 있는 smoke 기준을 만든다.

상태

[검토중]

승격 조건

  • 없음

구현 잠금

  • 상태: 해제
  • 결정 필요: 없음

범위

  • apps/flutter-test를 Flutter Web build/run 대상 host scaffold로 구성한다.
  • packages/messaging_flutter의 VM 단위 테스트와 Chrome/web 테스트를 분리해 각 platform expectation이 충돌하지 않게 정리한다.
  • 원격 runner의 Flutter Web server와 사용자가 여는 forwarded localhost URL을 전제로 browser notification permission, display, click/open routing smoke 절차를 만든다.
  • bin/test, bin/lint, bin/build 또는 별도 opt-in 명령에서 web smoke/build 검증이 누락되지 않도록 workspace helper와 테스트 기준을 보강한다.

기능

Epic: [web-host] Web 테스트 Host

Flutter Web 알림 smoke가 실제 브라우저에서 열릴 수 있도록 test host와 실행 경계를 만든다.

  • [web-scaffold] apps/flutter-test에 Flutter Web scaffold를 추가하고 web build가 통과하도록 구성한다. 검증: 원격 runner에서 apps/flutter-test web build가 성공해야 한다.
  • [web-runtime] 원격 Flutter Web server와 forwarded localhost URL 기반 수동 smoke 절차를 정리한다. 검증: 사용자가 forwarded URL에서 permission 요청, notification display, click/open routing 상태를 확인할 수 있어야 한다.

Epic: [web-tests] Web 검증 분리

VM 단위 테스트와 Chrome/web 테스트가 서로 다른 platform expectation을 올바르게 검증하도록 나눈다.

  • [chrome-tests] packages/messaging_flutter의 Chrome/web 테스트가 web runtime에서는 browser notification support를 기대하고, VM 테스트는 non-web unsupported를 기대하도록 분리한다. 검증: 원격 runner에서 package Chrome 테스트가 통과해야 한다.
  • [helper-route] workspace helper 또는 테스트 규칙에 web build/smoke opt-in 경로를 추가해 bin/test만으로 web smoke가 완료된 것처럼 보이지 않게 한다. 검증: web 검증을 생략한 경우 skip 또는 미실행 사유가 명확히 보고되어야 한다.

Epic: [evidence] 완료 Evidence

완료 판정이 fake interop 단위 테스트에만 기대지 않도록 browser evidence 기준을 남긴다.

  • [manual-evidence] browser notification permission/display/click 수동 smoke evidence 기준을 민감값 없이 정리한다. 검증: 완료 리뷰에 원격 실행 명령, 사용자 확인 결과, 생략된 Full Web Push 범위가 함께 남아야 한다.

완료 리뷰

  • 상태: 요청됨
  • 요청일: 2026-06-08
  • 완료 근거:
    • agent-task/archive/2026/06/m-flutter-web-notification-smoke/01_web_scaffold/complete.log
    • agent-task/archive/2026/06/m-flutter-web-notification-smoke/02+01_web_runtime/complete.log
    • agent-task/archive/2026/06/m-flutter-web-notification-smoke/03_chrome_tests/complete.log
    • agent-task/archive/2026/06/m-flutter-web-notification-smoke/04+03_manual_evidence_closeout/complete.log
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 없음

범위 제외

  • 브라우저가 닫힌 상태에서도 수신되는 Full Web Push 구현
  • service worker, VAPID, web_rn-v2 server device-token 등록, core/push-proxy web target 구현
  • Mattermost webapp UI/Redux 알림 구현 복제
  • 제품 앱 UI 또는 앱별 메시징 화면 구현

작업 컨텍스트

  • 관련 경로: packages/messaging_flutter/, apps/flutter-test/, bin/, agent-test/local/
  • 표준선(선택): 실제 host, port, credential, 포워딩 명령 원문은 tracked roadmap/docs에 쓰지 않고 ignored local test environment 문서 또는 사용자 제공 환경 기준에서 확인한다.
  • 선행 작업: Flutter Web 알림
  • 후속 작업: Full Web Push platform 계약
  • 확인 필요: web-scaffold, web-runtime, helper-route evidence는 완료됐다. 남은 확인은 Chrome/web test 분리와 수동 evidence 기준 closeout이다.