ios: simplify share extension to saved-player tap-to-play

Show only configured players, enqueue and play immediately on row tap,
and keep the URL on one truncated line. Remove extension discovery,
selection state, and the bottom action while retaining progress and
existing duplicate/partial-failure guards. Preserve main-app discovery.

Update share-extension guidance to match the simplified flow.
This commit is contained in:
2026-10-21 01:06:45 -07:00
parent 174a8f8255
commit cedd0c6aa2
7 changed files with 36 additions and 113 deletions
+8 -8
View File
@@ -2,15 +2,15 @@
Open QueueCube once after updating to make saved players available to the share
extension. In Safari or a video app, share one HTTP(S) link, choose QueueCube,
select a saved or nearby player, and tap **Queue & Play**. The link is appended
and tap a saved player. The link is appended
and played immediately; existing queue entries remain. A successful request
shows the selected player and a Done button. Video support depends on the
player's existing mpv/yt-dlp support.
Nearby players use the same `_queuecube._tcp.` Bonjour discovery as Add Server.
Resolved IPv4 interface suffixes are removed; scoped IPv6 addresses remain valid.
Allow local network access in the containing app first. Players can also be
configured manually in QueueCube Settings. The extension handles URL attachments
The extension shows only saved players and does not browse for nearby players.
Add players manually or with Bonjour discovery in QueueCube Settings first.
Allow local network access in the containing app to reach local players.
The extension handles URL attachments
(including UTF-8 data and the absolute-URL property-list form observed from
UIKit) and plain text containing one link. URL data keeps the same single-link
validation; property lists with a nonempty base or properties dictionary and
@@ -25,7 +25,7 @@ The app and `net.buzzert.QueueCube.Share` extension share
publishes a single versioned settings snapshot on read/save. The extension reads
that snapshot without changing the app's selected player or server list. No
queued link, credentials store, background transfer, or keychain group is added.
The extension has Bonjour/local network declarations and the same HTTP transport
The extension has a local network usage declaration and the same HTTP transport
compatibility as the existing app; Catalyst adds only app sandbox and outgoing
network access.
@@ -94,8 +94,8 @@ app/extension versions synchronized. Do not apply a single global bundle ID or
provisioning profile override to both targets.
For manual UI validation, use a dedicated simulator or test installation:
configure a test player in QueueCube, share a URL from Safari, verify saved and
nearby player selection, Queue & Play success, cancellation, invalid text, and
configure a test player in QueueCube, share a URL from Safari, verify saved-player
tap-to-play, the empty saved-player state, cancellation, invalid text, and
an offline/partially failing player. Confirm the old queue is retained and the
new item is current and unpaused. On macOS also confirm QueueCube appears in
Share extensions and can be invoked from a host app. Record signed-device and