3.1 KiB
3.1 KiB
Milestone: 클라이언트 검증 기준선
위치
- Roadmap:
agent-ops/roadmap/ROADMAP.md - Phase:
agent-ops/roadmap/phase/product-foundation/PHASE.md
목표
apps/client를 테스트용 앱이자 nexo-owned Flutter SDK를 소비하는 얇은 클라이언트로 유지한다.
플러그인 등록, method channel, event channel, notification-open routing, Android native unit test를 반복 검증할 수 있게 한다.
상태
[계획]
승격 조건
- 없음
구현 잠금
- 상태: 해제
- 결정 필요: 없음
범위
apps/client의 Flutter 테스트와 통합 테스트packages/messaging_flutter의 Dart 테스트와 Android native unit test- Flutter SDK Android 구현이 Mattermost mobile upstream-following 코드가 아니라 nexo-owned embedded SDK임을 확인하는 문서/테스트 경계
- Android SDK 또는 원격 Android 테스트 환경 사용 절차
- FCM/ACK 수동 smoke와 자동화 가능한 테스트의 경계
기능
Epic: [test-host] 소비 앱 테스트 호스트
client 앱을 플러그인 통합 검증에 필요한 만큼만 유지한다.
- [thin-client]
apps/client가 제품 UI가 아니라 plugin integration host 역할을 유지하도록 README와 테스트가 같은 기준을 따른다. - [integration-path] plugin method channel, event channel, opened-routing 통합 테스트 경로를 유지한다. 검증:
cd apps/client && flutter test integration_test가 지원 환경에서 성공한다. - [native-test] Android native unit test 실행 절차를 유지한다. 검증:
cd apps/client/android && ./gradlew testDebugUnitTest가 Android SDK 환경에서 성공한다. - [sdk-boundary] Flutter SDK Android 구현은 Mattermost mobile code를 팔로잉하지 않고 server/push contract와 Android/FCM platform 변화만 추적한다는 기준을 문서화한다.
Epic: [manual-smoke] 외부 인프라 smoke
자동화하기 어려운 FCM과 서버 ACK 검증을 수동 체크로 분리한다.
- [fcm-manual] 실제 Firebase FCM delivery와 서버 ACK 검증 절차를 문서화한다.
- [remote-guide] 로컬 Android SDK가 없을 때 원격 테스트 환경 문서가 client README와 연결되도록 유지한다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 없음
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- client 앱을 별도 제품 UI나 sandbox 앱으로 확장하지 않는다.
- 플러그인 내부 동작을 client 앱에 복제하지 않는다.
- iOS/macOS push 구현은 이 Milestone의 범위가 아니다.
작업 컨텍스트
- 관련 경로:
apps/client/,packages/messaging_flutter/,packages/messaging_flutter/docs/android-test-environment.md - 표준선(선택): client는 실제 소비 앱 모양의 검증 호스트이며 별도
/example이나/sandbox를 두지 않는다. Flutter SDK는 nexo-owned embedded SDK로 유지한다 - 선행 작업: client migration과 1차 테스트
- 후속 작업: 메시징 계약 표준화, 알림 파이프라인 고도화
- 확인 필요: 없음