You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Define the shared mobile product contract and Android mobile auth spec #19
Cross-program gate for the mobile feature slices in both #14 and putdotio/putio-ios#123. Foundation and harness work may proceed, but mobile feature implementation must not settle product scope ahead of this matrix.
Part of #14 (W0). Deliverable lands in the Notion Frontend hub; coordinate with the parallel iOS rewrite epic so both platforms share one product contract.
Outcome
Android mobile has a real parity anchor. The shared v1 matrix and Android auth contract are proposed in putdotio/putio-frontend#34 and remain held until that PR lands.
Scope
Shared mobile product contract: one feature matrix used by both the iOS and Android v1 epics (files, search, history, transfers, playback, downloads, share, settings), with per-platform swaps listed explicitly (Chromecast↔AirPlay, documents provider↔Files app, AndroidX Auth Tab↔ASWebAuthenticationSession) — written once in the Notion Frontend hub, page Mobile app, referenced by both epics
Extend the Notion Frontend hub, page Auth and device linking, with the settled Android mobile auth flow: AndroidX Auth Tab with direct Activity Result delivery, exact putio://auth, Android Keystore-backed secure token storage, and dedicated public client ID 9677
Extend the Notion Frontend hub, page Analytics and tooling: add android to the app enum and place Android in the platform rollout order
Note the Android v1 offline-downloads divergence in the contract so iOS parity claims stay honest
Acceptance criteria
Both epics (iOS + Android) cite the same versioned contract doc for their v1 scope; no per-platform contradiction
Apple and Android mobile feature issues carry native dependency links to this issue before implementation starts
The matrix records each intentional launch delta, its owner, and whether it is parity, launch scope, or post-v1
Android auth spec pins Auth Tab, provider readiness, exact callback putio://auth, secure storage, and client 9677 so the mobile auth slice needs no further product decisions
The parallel iOS epic landed: putdotio/putio-ios#123. The shared mobile product contract from this issue is the coordination point between the two programs — write it once in putio-frontend/docs/specs/mobile-app/ and have both epics cite it. Note putio-ios is public: keep the contract doc's private links out of any text quoted there.
Grill decisions (2026-08-08) that bind this contract work:
Change control: this issue produces a versioned v1 feature matrix. After it lands, any scope change requires updating the contract doc and noting both epics (putio-android#14 ↔ putio-ios#123) — change both or neither.
Recorded deltas to write in: Android v1.0 ships the lean offline core (download, local availability, offline playback) while iOS ships the fuller bar (queue concurrency, multi-select, notifications) — Android fast-follows; Chromecast is v1 on both platforms (Chromecast support in the mobile app (VPN/tunnel-safe) #36 moved into W3); Android v1 has a richer transfers UI than the iOS parity bar; PostHog analytics is out of Android v1 (Sentry only) — the android app-enum addition to the analytics contract may still land here without app wiring.
i18n: Android v1 is English-only with strings.xml discipline; no putio-i18n integration commitment.
Addendum (mid-grill decision): Android v1 is dark-only on both form factors — iOS ships light+dark from milestone one, so record this as an explicit platform divergence in the matrix.
Activity
altaywtf commentedon Aug 8, 2026
The parallel iOS epic landed: putdotio/putio-ios#123. The shared mobile product contract from this issue is the coordination point between the two programs — write it once in
putio-frontend/docs/specs/mobile-app/and have both epics cite it. Note putio-ios is public: keep the contract doc's private links out of any text quoted there.altaywtf commentedon Aug 8, 2026
Grill decisions (2026-08-08) that bind this contract work:
androidapp-enum addition to the analytics contract may still land here without app wiring.strings.xmldiscipline; no putio-i18n integration commitment.altaywtf commentedon Aug 8, 2026
Addendum (mid-grill decision): Android v1 is dark-only on both form factors — iOS ships light+dark from milestone one, so record this as an explicit platform divergence in the matrix.
altaywtf commentedon Aug 29, 2026
Reconciliation checkpoint (2026-08-29):
This issue stays open until the contract lands and the safe Android registration details are recorded.
altaywtf commentedon Aug 30, 2026
Reconciled 2026-08-30:
9677with exact redirectputio://authis proven end to end through AndroidX Auth Tab.