Skip to content

Feature/pasteboard#1729

Merged
doronz88 merged 2 commits into
masterfrom
feature/pasteboard
Jun 16, 2026
Merged

Feature/pasteboard#1729
doronz88 merged 2 commits into
masterfrom
feature/pasteboard

Conversation

@doronz88

Copy link
Copy Markdown
Owner

No description provided.

doronz88 added 2 commits June 16, 2026 13:25
Adds a CoreDevice pasteboard client and wires it into serve-web so the
viewer can push/pull text to/from the device clipboard.

* pasteboard_service.py: PasteboardService over com.apple.coredevice.
  pasteboardservice, RE'd from CoreDeviceUtilities symbols. PULL/SET only
  (promise resolution, monitoring scaffolded but unexposed). Note: Int64
  fields must use XpcInt64Type, and the Swift property `immediateData` is
  keyed as `data` on the wire.
* core-device CLI: `copy <text>` / `paste [--raw]`.
* serve-web: GET/POST /clipboard endpoint; right-tray Clipboard section
  with textarea, Send/Get buttons, and a header on/off toggle.
* viewer.js: tiered auto-recovery in the offline-overlay watchdog. After
  3 s without frames the overlay shows; from 8 s it issues /pli every
  6 s; from 25 s it issues /restart (repeating every 30 s if still
  offline). No location.reload() -- the server preserves the live
  /stream.bin subscriber across /restart and the in-page type=2
  decoder-reset path handles the new IDR. Reloading would suspend the
  AudioContext (no user gesture post-navigation), which surfaced as
  "sound disabled after reconnect".
* viewer.css: white-space:nowrap on the offline-overlay label so it
  doesn't wrap into squashed lines on the narrow portrait canvas
  footprint.
@doronz88 doronz88 merged commit ce8ca27 into master Jun 16, 2026
17 checks passed
@doronz88 doronz88 deleted the feature/pasteboard branch June 16, 2026 10:48
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