docs: reconcile companion guide with confirmed playback and PiP
This commit is contained in:
@@ -9,10 +9,12 @@ proof that a particular deployed app or companion version supports every feature
|
|||||||
|
|
||||||
Cloud video PiP is implemented in companion0.5.35/build55; the operator accepted
|
Cloud video PiP is implemented in companion0.5.35/build55; the operator accepted
|
||||||
the delivered Cloud PiP flow on2026-10-07. Audio and video use separate channels.
|
the delivered Cloud PiP flow on2026-10-07. Audio and video use separate channels.
|
||||||
Native background audio is a companion0.5.36/build56 candidate:29 Android tests
|
Native background audio is operator-confirmed on companion 0.5.37/build57 for
|
||||||
and six companion-bridge dashboard tests pass; physical background/lock-screen/task
|
the reported background playback and notification flow. The full physical
|
||||||
removal acceptance remains required. Do not infer those phone results from
|
controls, queue, task-removal and recovery matrix remains open. Notification
|
||||||
browser or Robolectric tests.
|
artwork has a qualified dashboard correction awaiting guarded deployment and
|
||||||
|
physical confirmation; it does not require another APK. Browser and Robolectric
|
||||||
|
results do not establish phone acceptance.
|
||||||
|
|
||||||
## Declare the audio integration
|
## Declare the audio integration
|
||||||
|
|
||||||
@@ -107,7 +109,7 @@ Example state:
|
|||||||
window.parent.postMessage({
|
window.parent.postMessage({
|
||||||
type: 'archipelago:media-state', version: 1, session,
|
type: 'archipelago:media-state', version: 1, session,
|
||||||
available: true,
|
available: true,
|
||||||
title: track.title, artist: track.artist,
|
title: track.title, artist: track.artist ?? '',
|
||||||
artwork: track.cover, shuffle: player.shuffleEnabled,
|
artwork: track.cover, shuffle: player.shuffleEnabled,
|
||||||
playing: player.playing,
|
playing: player.playing,
|
||||||
position: player.currentTime, duration: track.duration,
|
position: player.currentTime, duration: track.duration,
|
||||||
@@ -189,7 +191,10 @@ the operator subsequently reports that background playback now works and the
|
|||||||
notification is present, but song artwork is missing. This accepts the reported
|
notification is present, but song artwork is missing. This accepts the reported
|
||||||
background flow only; the complete controls, queue and recovery matrix below
|
background flow only; the complete controls, queue and recovery matrix below
|
||||||
remains open. No definitive cause of the earlier failure is established. USB
|
remains open. No definitive cause of the earlier failure is established. USB
|
||||||
access is unavailable. Artwork handling is under investigation/correction.
|
access is unavailable. The artwork origin correction passes 26 focused dashboard
|
||||||
|
tests, production browser checks at 390/1440px and two native JPEG tests on API
|
||||||
|
28/35. Guarded dashboard deployment and physical artwork confirmation remain
|
||||||
|
pending; these checks do not prove the cover from a particular live track.
|
||||||
|
|
||||||
|
|
||||||
Apps continue using the existing version1 app audio protocol above. They do not
|
Apps continue using the existing version1 app audio protocol above. They do not
|
||||||
@@ -205,8 +210,11 @@ Dashboard→native messages contain version1, a random session, monotonically
|
|||||||
increasing sequence, bounded title/position/duration, playback/control flags and
|
increasing sequence, bounded title/position/duration, playback/control flags and
|
||||||
optional JPEG thumbnail bytes. Artwork is fetched by the already authenticated
|
optional JPEG thumbnail bytes. Artwork is fetched by the already authenticated
|
||||||
page with same-origin credentials only, capped at512KiB, resized to192px and sent
|
page with same-origin credentials only, capped at512KiB, resized to192px and sent
|
||||||
as a bounded data URL. Native code does not fetch artwork URLs or receive auth
|
as a bounded data URL. The qualified correction admits HTTP covers on the
|
||||||
credentials. Cross-origin images without CORS may have no notification thumbnail;
|
verified app origin, including its distinct port, while rejecting arbitrary HTTP
|
||||||
|
origins and URL credentials. Cross-origin requests omit cookies and require CORS;
|
||||||
|
redirects are rejected and no referrer is sent. Native code does not fetch artwork
|
||||||
|
URLs or receive auth credentials. Cross-origin images without CORS may have no notification thumbnail;
|
||||||
missing artwork never blocks playback. Native image decoding bounds dimensions.
|
missing artwork never blocks playback. Native image decoding bounds dimensions.
|
||||||
|
|
||||||
Native→dashboard controls carry the same session. Retired sessions, stale sequence
|
Native→dashboard controls carry the same session. Retired sessions, stale sequence
|
||||||
|
|||||||
@@ -583,9 +583,12 @@ review; this new media task is part of that preceding work.
|
|||||||
Document the supported video/PiP contract for other apps after qualification;
|
Document the supported video/PiP contract for other apps after qualification;
|
||||||
do not claim the audio postMessage bridge already implements video PiP.
|
do not claim the audio postMessage bridge already implements video PiP.
|
||||||
|
|
||||||
Source inspection so far: MainActivity declares no supportsPictureInPicture flag,
|
**Nearly finished:** Cloud PiP is implemented and was delivered in companion
|
||||||
and the native sources contain no PiP entry/controller implementation. Existing
|
0.5.35/build55; the operator accepted the reported Cloud PiP flow on 2026-10-07.
|
||||||
WebViewFullscreen handles fullscreen; this is not evidence of native PiP support.
|
The reusable audio adapter and developer guide are implemented in
|
||||||
|
[app-media-integration.md](app-media-integration.md). Remaining physical edge
|
||||||
|
checks include disabled/unsupported PiP, session expiry, FIPS interruption and
|
||||||
|
process recreation. The accepted flow does not establish that complete matrix.
|
||||||
|
|
||||||
## 20. Companion background media for V4V and other apps
|
## 20. Companion background media for V4V and other apps
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user