- Add iOS notification preflight milestone - Add macOS notification preflight milestone - Add Linux notification preflight milestone - Add Windows notification preflight milestone - Update notification test milestones for all platforms - Update phase documentation and current roadmap - Update runtime image validation docs - Update compose README
4.5 KiB
4.5 KiB
Milestone: macOS 알림 테스트
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/messaging-runtime/PHASE.md
목표
macOS 환경에서 nexo 알림 계약을 어느 수준까지 검증할 수 있는지 확인한다. 현재 macOS plugin은 scaffold/stub 상태이므로 production-ready로 단정하지 않고, notification permission, display, click/open routing, app lifecycle 조건을 구현 gap과 smoke 기준으로 나누어 정리한다.
상태
[계획]
승격 조건
- 없음
구현 잠금
- 상태: 잠금
- 결정 필요:
- macOS smoke를 수행할 macOS 버전과 테스트 장비 책임을 정한다.
- Apple Developer Team, signing, notarization 필요 여부와 entitlement 관리 책임을 정한다.
- macOS notification smoke를 실제 OS UI 수동 검증으로 볼지, Flutter/widget/integration test와 어떤 경계로 나눌지 정한다.
- macOS에서 ACK, dismiss, inline reply를 같은 Milestone에서 gap 확인만 할지 후속 구현 후보까지 구체화할지 정한다.
범위
- macOS plugin scaffold/stub과
apps/flutter-test/macoshost 설정의 현재 지원 상태 확인 - macOS notification permission, display, click/open routing, app lifecycle 조건 정리
- macOS에서 ACK, dismiss, inline reply를 Android와 같은 계약으로 다룰 수 있는지 gap 정리
- OS notification UI가 필요한 수동 검증과 headless 자동화 가능 항목의 경계 정리
기능
Epic: [baseline] macOS 기준선
macOS 알림이 Android/iOS와 같은 계약으로 검증되기 전에 필요한 platform baseline을 확인한다.
- [platform-state] 선행 정리 결과를 바탕으로
packages/messaging_flutter/macos와apps/flutter-test/macos의 scaffold, 등록 지점, 남은 no-op gap을 확인한다. - [macos-host] app delegate, entitlement, permission/display 준비 조건을 확인한다.
- [device-limits] macOS 버전, signing/notarization, headless 환경에서 가능한 검증과 불가능한 검증을 구분한다.
Epic: [contract] macOS 알림 계약
macOS notification event가 Dart API와 host routing callback으로 연결되기 위한 계약을 구체화한다.
- [display-open] 선행 정리한 payload/event 계약 대비 macOS notification display와 click/open routing 연결 gap을 확인한다.
- [lifecycle] foreground, background, minimized, terminated 상태에서 macOS notification 처리 기준과 제한을 실제 OS 조건에 대조한다.
- [ack-dismiss] macOS에서 ACK, dismiss, inline reply를 처리할 수 있는 platform hook과 후속 구현 gap을 분리한다.
Epic: [smoke] macOS Smoke
구현 gap을 숨기지 않고 macOS에서 반복 가능한 수동/자동 smoke 기준을 만든다.
- [manual-smoke] macOS permission, display, click/open routing smoke checklist와 evidence 경로를 작성한다.
- [automation-boundary] OS notification UI 때문에 수동 확인이 필요한 항목과 Flutter integration test로 대체 가능한 항목을 분리한다.
- [follow-up] smoke 결과에 따라 macOS native bridge 구현, host 설정 보강, 문서 보강 중 후속 Milestone 후보를 정리한다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 없음
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- iOS/APNs 알림 검증은 iOS 알림 테스트 Milestone에서 다룬다.
- Android FCM 구현 변경은 이 Milestone에서 다루지 않는다.
- Windows/Linux desktop 알림 검증과 신규 native implementation은 각 OS별 Milestone에서 다룬다.
- 멀티앱 channel/tenant/server 분기 모델과 push credential 분리 정책은 멀티앱 채널 모델에서 결정한다.
작업 컨텍스트
- 관련 경로:
packages/messaging_flutter/macos/,packages/messaging_flutter/pubspec.yaml,packages/messaging_flutter/README.md,apps/flutter-test/macos/,apps/flutter-test/README.md - 표준선(선택): macOS scaffold/stub 상태를 먼저 검증하고, 가능한 smoke 기준과 후속 구현 gap을 분리한다
- 민감값 기준: Apple credential, team id, profile, private host 값은 tracked 문서에 쓰지 않고 책임 경계와 evidence 위치만 기록한다
- 선행 작업: 알림 파이프라인 고도화, macOS 알림 선행 정리
- 후속 작업: Windows 알림 테스트, Linux 알림 테스트, 멀티앱 채널 모델
- 확인 필요: macOS 버전/장비, signing/notarization 필요 여부, 수동/자동 smoke 경계 결정