Skip to content

media/01-status-sourceapp#32

Draft
SunkenInTime wants to merge 6 commits into
masterfrom
media/01-status-sourceapp
Draft

media/01-status-sourceapp#32
SunkenInTime wants to merge 6 commits into
masterfrom
media/01-status-sourceapp

Conversation

@SunkenInTime

Copy link
Copy Markdown
Owner

Stack: 01/05

What becomes usable

  • useProvider(media) now exposes status: playing | paused | stopped and display-only sourceApp on Windows.
  • The existing playing wire key remains and is derived exactly as status === playing for installed/source compatibility.
  • SMTC packaged AUMIDs resolve to package display names without prompting; Win32/unresolved IDs remain verbatim.
  • Host formatting, dedupe storage, and both runtime readers use the frozen 12,502-byte worst-case media-frame bound. Encoding failure is logged.
  • examples/now-playing renders the tri-state and source application.

Deliberately missing

Album artwork/cache and dynamic image reload (02), transport/capability channel (03), the spike-gated macOS adapter (04), and the noro acceptance gate (05).

Verification

  • npm test — PASS (62/62)
  • npm run typecheck — PASS
  • runtime: zig build test -Dweb-layer=exclude -Dtrace=off — PASS (Zig 0.16.0)
  • host: zig build test — PASS (Zig 0.16.0)
  • runtime: zig build -Dweb-layer=exclude -Dtrace=off — PASS
  • host: zig build — PASS
  • weaver check examples/now-playing — PASS
  • Live Spotify: PAUSED changed to PLAYING within the next 1 Hz poll; title, artist, source ID, and timeline remained live.

Visual gate

PASS. Both desktop-layer captures were opened and viewed. The per-element checklist and exact capture paths are recorded in docs/media-evidence/pr01-visual.md. Captures:

  • docs/media-evidence/pr01-now-playing.png — paused, live metadata, raw Spotify.exe source
  • docs/media-evidence/pr01-now-playing-playing.png — playing after the real player toggle

Performance

Explicitly declined: this schema/framing layer adds no poller or cadence, but no A/B performance run was made, so this PR makes no no-regression claim.

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ddea7d22-519c-408d-9681-f4ccc7f06fc7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch media/01-status-sourceapp

Comment @coderabbitai help to get the list of available commands.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant