Skip to content

R02: Deliver the signed GitHub APK updater #176

Description

@TheDarkSkyXD

Parent

Build StreamFusion Mobile for Android

What to deliver

Manual or daily stable-release checks, validated metadata, resumable private APK download, digest and signer verification, explicit PackageInstaller handoff, and cleanup.

Capability IDs

  • app-updates

Code ownership

  • mobile
  • mobile-native
  • release

Acceptance criteria

  • The behavior above works through the real Android application or the named verification/release path; code presence alone is insufficient.
  • Each affected capability has an updated Android Parity Record bound to the current Desktop Baseline and Android candidate.
  • The implementation respects the approved responsibility layers and adapter boundaries owned by this ticket.
  • Required evidence is indexed: change-gate, api30-device, metadata-validation, digest-signer-check, interrupted-download, package-installer.
  • External, lifecycle, persistence, native, or release boundaries define and verify safe failure containment, retry, fallback, disablement, rollback, or forward-fix behavior as applicable.
  • The normal Change Gate passes with no untracked architecture exception, quarantined required test, or Development Exception.

Blocked by

Sources

Feature-owned UI and UX acceptance

User direction recorded 2026-09-07: this issue delivers its complete UI and UX together with its behavior. Do not defer feature UI to #195, parity closure, or a release issue. PRD section 6.7 and the normative screen and control contract apply.

Specific UI/integration scope: Complete stable-only optional updater UI: current/check state, foreground automatic policy, download/progress/cancel/retry, verification failures, low storage, Install consent and installer rejection. No prerelease/hourly/background-poll controls.

  • Map the affected PRD/source decisions, mockup scenarios, screens, tabs, components, controls and business rules to this issue's implementation and tests.
  • Implement the complete approved hierarchy, visual design and real interactions. No placeholder pages, inert buttons, mock-only outcomes or deferred required controls.
  • Complete applicable loading, empty, partial, stale/offline, error/retry, busy/disabled, signed-out/auth-lost, permission, constrained and unsupported states. Include cancellation, repeated actions, lifecycle recovery and persistence feedback.
  • Verify portrait navigation, safe areas, keyboard/search/sheet/mini-player clearance, long content, supported resizing, 48dp targets, large text, contrast and semantic accessibility in actual usages.
  • Test the real Android feature using root npm start option 3 and Mobile MCP. Use the matching development client for custom native behavior. Attach matched mockup/app screenshots, observed actions and failure/recovery evidence, source/artifact identity and regression results.
  • Resolve this feature's UI/UX findings before closing. Keep specified, implemented and verified status separate. An evidence or design gap stays open; linking a later ticket is not completion.

Infrastructure-only work must identify its real consumer, verify changed consumer states and justify any no-new-UI claim. Native/backend implementation alone does not exempt a user-facing feature. #195 reviews consistency continuously and completes integrated review before #178 promotion.

  • Compare the current Desktop screen, controls, menus/context actions, settings, business rules, states and tests with this Mobile feature. Deliver every outcome through a mobile-ready interaction or a specifically approved Android adaptation. Add missing mockup/PRD content within this feature; the mockup is not a reduced feature list. Verify Desktop-to-Mobile results before closure. Binding PRD clarification.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentTriaged and ready for an agent to implement

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions