Skip to content

Mobile v1 release: one-package Play identity, Actions release lane, and Sentry #31

Open

Description

@altaywtf

Part of #14 (W3, mobile v1). Blocked by all other mobile slices. Delivers the customer outcome of #10 (SUP-93).

Release owner: Altay: Play Console access, signing lineage, and production rollout approval.

Outcome

io.put.putio gains the phone and tablet form factor on the existing Play listing, shipped through a GitHub Actions release lane, with Sentry crash reporting behind diagnostics_enabled and PostHog product analytics behind product_analytics_enabled.

Open question

The nightly channel flavor adds .nightly to the application id (PutioAndroidApplicationPlugin.kt), giving io.put.putio.nightly on TV and io.put.putio.mobile.nightly on mobile. AGENTS.md says Play internal and closed tracks ship nightly, so those tracks would be a separate Play package from io.put.putio. Needs a ruling before the release lane.

Scope

  • Confirm signing lineage and Play listing access for io.put.putio. Stop and escalate if either is unavailable.
  • One package for both form factors: mobile builds as io.put.putio.mobile (mobile/build.gradle.kts); align application ids and the versionCode scheme (the >91 family).
  • GitHub Actions release lane: build the AAB, sign it with secrets from the workspace CI boundary (no 1Password at runtime), upload to the Play internal track; phone store-listing assets.
  • Sentry crash reporting and playback error capture that run only while diagnostics_enabled is on, with a kill switch and forbidden-field tests per putdotio/support#95 (feat: report crashes and player failures to Sentry while diagnostics are on #332).
  • PostHog product analytics that run only while product_analytics_enabled is on, ported from iOS (feat(analytics): send PostHog events while the account allows product analytics #437; reverses the 2026-08-08 "none in v1" call). Data Safety must declare it.
  • Play Data Safety form and privacy disclosures, including Cast SDK collection from Chromecast support in the mobile app (VPN/tunnel-safe) #36; support diagnostics path.
  • Legal approval for diagnostics on by default and product analytics off until opt-in (putdotio/support#95) is linked before production enablement.
  • Internal-track release installed and verified on a real phone and tablet.

Acceptance criteria

  • Deliver a first-party native Android mobile app #10's acceptance criteria are met, or deferred with a recorded owner decision.
  • Internal-track build live, with install-from-Play screenshots attached.
  • With diagnostics off, the release sends no Sentry event or playback diagnostic.

Written by an agent (Claude Code, Claude Opus 5.5)

Activity

  1. altaywtf commented on Aug 8, 2026

    @altaywtf
    MemberAuthor

    The inline stop condition now has a home: credentials custody is #46 (owner: Altay) and the signing/publishing pipeline is #49 — this issue is blocked by both. Sentry DSN creation also moved into #46.

  2. changed the title [-]Mobile v1 release: one-package Play identity, Actions release lane, Sentry, analytics[/-] [+]Mobile v1 release: one-package Play identity, Actions release lane, and Sentry[/+] on Aug 8, 2026
  3. self-assigned this
    on Oct 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions