Skip to content

N03: Prove notification scale and lifecycle recovery #174

Description

@TheDarkSkyXD

Parent

Build StreamFusion Mobile for Android

What to deliver

A repeatable 100,000-recipient dispatch proof within 30 seconds plus simultaneous event, retry, mismatch, reinstall, ended Stream, offline, and force-stop evidence.

Capability IDs

  • notifications

Code ownership

  • verification
  • relay
  • mobile

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: 100k-dispatch, simultaneous-events, rate-limit-recovery, credential-rotation, reinstall, force-stop, ended-stream.
  • 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: End-to-end Guest/account UI proof for permissions, foreground/background/terminated/force-stop behavior, duplicate delivery/read preservation, token/network recovery and meaningful delivery-status feedback.

  • 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