24Seven.FM PlayerProject portal GitHub

Project progression

Roadmap with evidence

Milestone IDs remain stable requirement references. The timeline below separately records when each completed milestone actually reached its gate, so project history stays accurate even when work finishes out of numeric order.

M23 · Play-testing readiness

Seven reviewable release gates

M23 is an umbrella program, not one opaque task. Work can progress locally while owner, administrator, or Play Console dependencies remain visible.

In progress

M23.1

Signed release candidate

Protected Linux signing, exact upload-certificate checks, and Android developer-verification email confirmation pass; per-app Console status, version eligibility, and delivered-install validation remain.

View evidence

Waiting externally

M23.2

UGC safety and moderation

Native age, Terms, reveal, report, and block safeguards pass; administrator receipt reconciliation remains.

View evidence

Complete

M23.3

Android 16 and API 36

API 36 targeting, predictive Back, edge-to-edge behavior, and connected-device validation are complete.

View evidence

Waiting externally

M23.4

Play review declarations

Local declaration packet and notification-video rehearsal are prepared; protected reviewer inputs and Console submission remain.

View evidence

Waiting externally

M23.5

Brand and content rights

Authorization request and private evidence-handling packet are prepared; written rights-holder confirmation remains.

View evidence

In progress

M23.6

Release device matrix

Local emulator, real TalkBack service, network, performance, and Razr hinge checks pass; human audible review, Play delivery, and pre-launch remain.

View evidence

Complete

M23.7

Launcher and store polish

Density-specific legacy, adaptive, and Android 13 monochrome launcher resources are complete.

View evidence

Verified chronology

How the Alpha was achieved

The application moved from a buildable native shell through playback, station data, authenticated participation, adaptive UX, five-station certification, and platform/store hardening.

  1. 1

    M1

    Buildable baseline

    Native Gradle and Compose baseline with a verified Windows build path.

    9184afd commit
  2. 2

    M2

    Five-station playback

    Verified streams, atomic station switching, and one primary-to-fallback transition.

    5cdade0 commit
  3. 3

    M3

    Background and system media

    Service-owned playback, MediaSession integration, audio focus, and route controls.

    4206fee commit
  4. 4

    M4

    Now playing

    Live ICY metadata with same-station artwork enrichment.

    0d9e6b3 commit
  5. 5

    M5

    Native navigation

    Adaptive native destinations with a persistent mini-player.

    8133695 commit
  6. 6

    M6

    Queue and history

    Bounded, station-scoped Queue and History polling.

    3babdf9 commit
  7. 7

    M7

    Authentication

    Native station sign-in and Android Keystore-protected sessions.

    a897794 commit
  8. 8

    M8

    Chat

    Native, memory-only, station-scoped community chat.

    f99635d commit
  9. 9

    M9

    Song requests

    Native library search, confirmation, and one-shot request submission.

    e748f27 commit
  10. 10

    M10

    Request attribution and messages

    Queue attribution and the verified SST request-message workflow.

    73a0d89 commit
  11. 11
    Joint checkpoint

    M11

    Adaptive Alpha UI

    Responsive branded UI, previews, accessibility semantics, and exit flow.

    4735f13 commit
  12. 12
    Joint checkpoint

    M12

    Queue-aware request availability

    Conservative station-scoped availability and fresh pre-submit checks.

    4735f13 commit
  13. 13

    M13

    Independent Accounts UX

    Five separately visible account states with session isolation.

    9ef1f1c commit
  14. 14

    M14

    Local personalization

    Default and last-station preferences separated from station-owned data.

    81c2c4e commit
  15. 15

    M15

    Request history and membership

    SST request history, cooldown, readiness, and explicit membership evidence.

    b19d5fe commit
  16. 16

    M16

    Secondary content access

    Allowlisted same-station HTTPS pages opened in Android Custom Tabs.

    90a7f98 commit
  17. 17

    M18

    StreamingSoundtracks.com certification

    Representative public, authenticated, VIP, request, Favorites, and Chat coverage.

    02dffa2 commit
  18. 18

    M19

    1980s.FM certification

    Independent authenticated workflows and station behavior certified.

    11f1ee3 commit
  19. 19

    M20

    Adagio.FM certification

    Classical metadata and authenticated workflows certified.

    5e985ae commit
  20. 20

    M21

    Death.FM certification

    Compact Queue, sparse metadata, RIP boundaries, and authenticated workflows certified.

    6757680 commit
  21. 21

    M22

    Entranced.FM certification

    Extended Queue, legacy ICY punctuation, and authenticated workflows certified.

    1e20eea commit
  22. 22

    M23.3

    Android 16 and API 36 readiness

    Target API 36 migration, predictive Back, edge-to-edge, and device regression coverage.

    44632f1 commit
  23. 23

    M23.7

    Adaptive launcher and store polish

    Legacy, adaptive, and monochrome launcher resources validated.

    924a38c commit
  24. 24

    M24

    Sleep Timer

    Service-owned presets/custom countdown, restoration, system state, and deterministic expiry.

    b713783 commit
  25. 25

    M25

    Cast / Audio-Output Selection

    Native Android output chooser, accurate current-route state, phone/Bluetooth handoff and recovery, and an explicit capability-gated Cast boundary.

    183ccc0 commit
  26. 26

    M26

    In-App Diagnostics

    User-reviewed fixed-allowlist support snapshot, bounded transitions, explicit Android copy/share, and physical-Razr privacy validation.

    7aedbfc commit
  27. 27

    M27.1

    Local Chat-Mention Foundation

    Station opt-ins, exact-name matching, baseline and duplicate suppression, blocked-author filtering, private Android alerts, and gated Chat navigation for the actively observed feed.

    Validation evidence

M17 · Deferred

Private Messages are not in the shipping Alpha

Inbox and Sent Box discovery succeeded, but New Message selection remained suspect and a profile-originated MorgHubby test appeared to submit without delivery. The site owner has the reproduced result.

Development resumes only after the legacy server path is repaired and its production limits can be verified. The existing app does not pretend this capability works.

Before Alpha publication

Local mention delivery is working; true push remains

M24–M26 and M27.1 are complete with service, route, privacy, notification, and physical-Razr evidence. M27.2 remains the ordered feature gate ahead of M28: it needs an authorized event source for reliable closed-app delivery. Google Cast remains intentionally gated behind receiver compatibility and permitted stream use.

Complete

M24

Sleep Timer

Service-owned presets and custom duration, live remaining time, adjust/cancel, system cancellation state, restoration, and real-device expiry validation are complete.

View milestone scope

Complete

M25

Cast / Audio-Output Selection

Android's native output switcher and live route state cover system-managed device, Bluetooth, wired/USB, and remote routes without a relay or new endpoint; Google Cast remains capability-gated.

View milestone scope

Complete

M26

In-App Diagnostics

A user-reviewed fixed-allowlist snapshot covers app/build, coarse device/API, station, bounded playback/error/network/output state, and five enum-only transitions with explicit Android copy/share and no automatic transfer.

View milestone scope

M27.1 complete · delivery pending

M27

Community Push Notifications

The local exact-name detector, station controls, filtering, dedupe, private channel, and Chat navigation are complete for actively observed Chat. M27.2 true closed-app push and future PM delivery still require an authorized event source.

View milestone scope

Final pre-Alpha gate

M28

Alpha Publication

Revalidate the changed release candidate and publish the explicitly authorized signed bundle to internal or closed testing only after M23–M27 have closed.

View milestone scope

M27 · Delivery boundary

One safe notification foundation

M27.1 now detects exact signed-in-name mentions from actively observed Chat, baselines existing messages, ignores blocked authors, suppresses duplicates, posts privacy-minimized Android alerts, and returns to gated station Chat. New Private Message notifications will reuse this contract only after M17 is repaired and verified.

M27.2 delivery gate: the app has no developer-operated backend and currently observes Chat only while its screen is selected. Reliable closed-app delivery requires an authorized station event source or privacy-compatible relay. Continuous background polling will not be presented as push.

  • Authorized true push
  • Minimal payloads
  • Separate Chat and PM controls
  • No session forwarding
  • Privacy and Data Safety review
  • Battery and traffic validation