nexo/agent-roadmap/phase/messaging-runtime/milestones/notification-pipeline.md

3.1 KiB

Milestone: 알림 파이프라인 고도화

위치

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

목표

FCM 수신부터 signing-key 검증, 로컬 저장, notification display, ACK, inline reply, dismiss, open routing까지 이어지는 알림 파이프라인을 플러그인 책임으로 안정화한다. host app은 라우팅과 로그인 상태 연결만 담당하도록 경계를 유지한다. Android 구현은 Mattermost mobile code 팔로잉 대상이 아니라 nexo-owned SDK 구현으로 관리한다.

상태

[계획]

승격 조건

  • 없음

구현 잠금

  • 상태: 잠금
  • 결정 필요:
    • iOS/APNS 구현을 Android 안정화 이후로 미룰지, 같은 Phase에서 병행할지 결정한다.
    • push ACK 실패와 offline queue를 어디까지 plugin 책임으로 볼지 결정한다.

범위

  • Android FCM service와 notification helper
  • signing key, auth token, device token storage
  • ACK delivery, inline reply, dismiss action
  • client notification-open callback
  • server/push-proxy payload와 Android/FCM platform 변화 추적
  • 수동 smoke와 자동 테스트의 분리

기능

Epic: [android-push] Android push

Android-first 알림 파이프라인을 안정된 제품 책임으로 만든다.

  • [verify-payload] signing key 기반 payload 검증과 drop 조건을 테스트 가능한 형태로 유지한다.
  • [display-notification] message/thread notification display 기준을 정리하고 회귀 테스트 후보를 만든다.
  • [ack-delivery] ACK request 성공/실패 처리와 retry 후보를 정리한다.
  • [reply-dismiss] inline reply와 dismiss action의 storage/network 경계를 정리한다.
  • [platform-follow] Mattermost mobile implementation merge 대신 server/push contract, FCM, Android notification platform 변경을 추적하는 기준을 정리한다.

Epic: [host-routing] Host routing

host app이 받아야 할 최소 이벤트만 노출한다.

  • [opened-event] notification-open event가 channel/thread routing으로 이어지는 기준을 유지한다.
  • [host-contract] host app이 반드시 구현해야 할 callback과 login/logout hook을 문서화한다.

완료 리뷰

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

범위 제외

  • full message composer나 chat screen UI 구현은 포함하지 않는다.
  • APNS/iOS 구현은 결정 전까지 스캐폴드 유지로 둔다.
  • 서버 core의 대규모 fork 변경은 포함하지 않는다.

작업 컨텍스트

  • 관련 경로: packages/messaging_flutter/android/, packages/messaging_flutter/lib/, apps/client/integration_test/
  • 표준선(선택): Android-first nexo SDK로 자동화 가능한 테스트를 늘리고, FCM delivery는 수동 smoke로 분리한다
  • 선행 작업: 메시징 계약 표준화
  • 후속 작업: 멀티앱 채널 모델, iOS/APNS 후보
  • 확인 필요: iOS 우선순위와 ACK 실패 책임 범위