From 375d9ad2618efc8a32c703c1cc2c4d1103f0ca29 Mon Sep 17 00:00:00 2001 From: Mollusk Date: Sat, 6 Jun 2026 16:30:31 -0400 Subject: [PATCH] docs: screen share single-sharer 2-machine path field-verified Co-Authored-By: Claude Opus 4.8 --- docs/FEATURES.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/FEATURES.md b/docs/FEATURES.md index acbabd3..a09d6b2 100644 --- a/docs/FEATURES.md +++ b/docs/FEATURES.md @@ -72,11 +72,11 @@ covers internals). When you ship a feature, add it here. | Feature | Status | Notes | |---|---|---| -| Share your screen | πŸ§ͺ | Spawns `pixelpass --host --output json`, announces the ticket on presence. `src/screenshare/mod.rs`. Subprocess contract not yet 2-machine-verified. | -| Watch a peer's share | πŸ§ͺ | πŸ‘ Watch spawns a pixelpass viewer β†’ opens the stream in mpv (vlc fallback). | +| Share your screen | βœ… | Spawns `pixelpass --host --output json`, announces the ticket on presence. `src/screenshare/mod.rs`. Field-verified desktop↔dopedart 2026-06-06. Capture portal appears on the host when the first viewer connects. | +| Watch a peer's share | βœ… | πŸ‘ Watch spawns a pixelpass viewer β†’ opens the stream in mpv (vlc fallback). Field-verified: laptop watched the desktop's screen. | | Live badge on sharing peers | βœ… | πŸ”΄ Live on the peer card; πŸ”΄ Sharing badge on the self card. | -| Multiple simultaneous sharers | πŸ§ͺ | Discord-style: each sharer is an independent pixelpass host; the room shows one offer per sharer. | -| Late-joiner sees in-progress share | πŸ§ͺ | Sharing rides presence, so the existing gossip re-announce delivers the offer to late joiners. | +| Multiple simultaneous sharers | πŸ§ͺ | Discord-style: each sharer is an independent pixelpass host; the room shows one offer per sharer. Single-sharer path verified; concurrent not yet. | +| Late-joiner sees in-progress share | πŸ§ͺ | Sharing rides presence, so the existing gossip re-announce delivers the offer to late joiners. Not yet explicitly tested. | | Graceful "needs pixelpass" state | βœ… | Share button disabled + labelled when the binary isn't on `$PATH`. Config override: `pixelpass_path`. | | Viewer limit | βš™οΈ | Not overridden β€” pixelpass bandwidth-measures its own safe cap (protects the sharer's uplink); refusals surface as an error. | | Audio of the share | βš™οΈ | Video only on the room path (so it can't echo/double with the voice mix). | @@ -135,10 +135,10 @@ Re-run on a real desktop ↔ dopedart call before calling these done: 4. **In-room text chat** β€” 2-machine delivery. 5. **Adaptive jitter buffer** β€” behaviour under real packet loss/jitter. 6. **Chat drawer** β€” toggle + persistence across restart. -7. **Screen share** β€” 2-machine: sharer's ticket reaches the room over gossip, - a peer's Watch opens the stream, late joiner sees an in-progress share, stop - clears the badge. (Subprocess contract is solo-verifiable; the gossip/remote - half needs dopedart.) Requires `pixelpass` + `mpv` on both ends. +7. **Screen share** β€” single-sharer 2-machine path VERIFIED 2026-06-06 + (desktop hosted, laptop watched via mpv). Remaining: multiple concurrent + sharers, late-joiner sees an in-progress share, and Stop clears the peer's + badge. Requires `pixelpass` + `mpv` on both ends. ## Not built (candidate features)