mattermost-push-plugin/agent-ops/roadmap/phase/platform-expansion/milestones/apple-runtime-parity.md

2.7 KiB

Milestone: Apple 런타임 parity 기준

위치

  • Roadmap: agent-ops/roadmap/ROADMAP.md
  • Phase: agent-ops/roadmap/phase/platform-expansion/PHASE.md

목표

Apple platform 구현을 시작하기로 결정된 경우 필요한 capability와 테스트 기준을 정의한다. Android와 동일해야 하는 계약과 Apple platform 특성 때문에 다르게 가야 하는 계약을 구분한다.

상태

[계획]

구현 잠금

  • 상태: 잠금
  • 결정 필요: 아래 체크리스트
    • Apple 플랫폼 지원 결정 Milestone에서 limited 또는 parity 지원이 승인되어야 한다
    • APNs 기반 push와 Mattermost payload 처리 범위를 결정해야 한다

범위

  • iOS/macOS native runtime capability mapping
  • Dart API platform behavior 기준
  • APNs, notification tap, ACK, token registration 테스트 기준
  • Apple platform에서 불가능하거나 다르게 처리해야 하는 기능 식별

필수 기능

Epic: [capability] Capability Mapping

Android runtime 기능을 Apple platform 기준으로 재분류한다.

  • [push] APNs 수신과 payload 처리 가능 범위를 정의한다
  • [token] device token format과 registration 기준을 정의한다
  • [notification] notification display와 tap handling 기준을 정의한다
  • [ack] ACK delivery 가능 범위를 정의한다
  • [reply] inline reply 가능 여부와 대체 정책을 정의한다

Epic: [tests] 테스트 기준

Apple platform 구현을 검증할 방법을 정한다.

  • [unit] Swift unit test 범위를 정한다
  • [integration] Flutter integration test 범위를 정한다
  • [manual] 실제 APNs가 필요한 manual smoke 범위를 정한다

완료 기준

  • Apple platform 기능별 parity 여부가 표로 정리되어 있다
  • Dart API가 platform별로 어떤 동작을 보장하는지 문서화되어 있다
  • Apple runtime 구현 전 필요한 테스트 기준이 명확하다
  • 지원하지 않을 기능은 unsupported behavior로 명확히 표현되어 있다

완료 리뷰

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

범위 제외

  • 실제 Apple runtime 구현
  • APNs 인증 인프라 구축
  • Android API breaking change

작업 컨텍스트

  • 관련 경로: ios/**, macos/**, lib/**, example/ios/**, example/macos/**
  • 표준선(선택): Android의 public Dart API contract를 기준으로 삼되 Apple platform 특성상 다른 동작은 명시적으로 문서화한다
  • 선행 작업: Apple 플랫폼 지원 결정
  • 후속 작업: 없음
  • 확인 필요: Apple platform 지원 승인, APNs 처리 범위