nomadcode/agent-ops/roadmap/phase/external-integration/milestones/mattermost-messaging-android-smoke.md

4.3 KiB

Milestone: Mattermost Messaging Android Smoke

위치

  • Roadmap: agent-ops/roadmap/ROADMAP.md
  • Phase: agent-ops/roadmap/phase/external-integration/PHASE.md

목표

mattermost_push_plugin이 서버와 같은 ../nexo repo의 packages/messaging_flutter package로 합쳐지고, 알림 전용에서 메시징 지원까지 포함하는 방향으로 전환된 현재 상태를 Android 기준으로 검증한다. 사용자 테스트까지 진행하지 않고, 원격 Android SDK 환경에서 build가 통과하고 Mattermost 메시지/FCM 알림이 실제 Android runtime에 도착하는지 확인하는 데서 완료 범위를 닫는다.

상태

[계획]

구현 잠금

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

범위

  • apps/client host와 ../nexo/packages/messaging_flutter package 경계가 현재 messaging 방향성과 충돌하지 않는지 확인
  • 원격 Android SDK runner에서 apps/client의 Android debug build 검증
  • Android device 또는 emulator에서 앱 boot, Firebase 초기화, Mattermost auth/token handoff, 알림 callback이 깨지지 않는지 smoke 확인
  • Mattermost 메시지 또는 push trigger를 통해 Android 시스템 알림이 도착하는지 확인
  • 검증 중 드러나는 build/configuration regression은 smoke를 통과시키는 최소 수정 범위에서 처리

기능

Epic: [android-smoke] Remote Android notification verification

Mattermost messaging package 전환 이후 Android build와 알림 수신 경로가 실제 환경에서 깨지지 않았는지 확인한다.

  • [scope-check] apps/client, apps/client/push-notification-todo.md, ../nexo/packages/messaging_flutter 경계를 확인해 현재 repo 업데이트가 메시징 지원 방향성과 맞는지 정리한다.
  • [remote-build] docs/test-environments.md#android-sdk-remote-runner 기준 원격 Android SDK 환경에서 apps/clientflutter pub getflutter build apk --debug를 통과시킨다. 검증: 원격 host, branch/commit, 주요 command 결과를 secret 없이 evidence로 남긴다.
  • [runtime-smoke] Android device 또는 emulator에서 앱을 실행해 앱 boot, Firebase 초기화, Mattermost auth/token handoff가 crash 없이 진행되는지 확인한다. 검증: flutter run -d <device-id> 또는 동등한 runtime 실행 결과를 남긴다.
  • [notification-arrival] Mattermost 메시지 또는 push trigger로 Android 시스템 알림이 도착하는지 확인한다. 검증: 알림 도착 여부, 앱 callback 관찰 여부, 실패 시 원인 후보를 secret 없이 기록한다.
  • [evidence-note] build와 알림 smoke 결과, 사용자 테스트 미포함 한계, 후속 보완이 필요한 경우를 완료 리뷰 근거로 남긴다.

완료 리뷰

  • 상태: 없음
  • 요청일: 없음
  • 완료 근거: 없음
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 없음

범위 제외

  • 사용자 테스트, UAT, 제품 사용성 검증
  • iOS/macOS native push full implementation 또는 runtime smoke
  • Mattermost 메시징 제품 UX 구현
  • Mattermost server-side plugin 대규모 기능 확장
  • External Integration Milestone의 Plane/Jira/Agent Integrator/IOP adapter 구현

작업 컨텍스트

  • 관련 경로: apps/client/, apps/client/push-notification-todo.md, docs/test-environments.md, ../nexo/packages/messaging_flutter
  • 연관 core 경계: services/core/internal/adapters/mattermost/, services/core/internal/notification/
  • 선행 작업: Mattermost Push Plugin Extraction, Client Integration Standardization
  • 후속 작업: External Integration의 Mattermost 메시지 발송 adapter 구현
  • 표준선: Android SDK 의존 검증은 docs/test-environments.md#android-sdk-remote-runner를 따른다.
  • 보안 주의: Mattermost token, Firebase credential, signing key, device token은 roadmap이나 문서에 기록하지 않는다.
  • 2026-05-26 scope-check: apps/client host dependency/import 문서를 ../nexo/packages/messaging_flutter의 현재 Dart package명 nexo_messagingNexoMessagingPlugin API에 맞췄고, ignored assets/mattermost_credentials.json을 smoke 때 bundle할 수 있도록 assets 디렉터리를 선언했다. 원격 Android build와 실제 알림 도착 smoke는 환경 의존 작업으로 plan에서 수행한다.