4gray
c266eaa680
fix(packaging): preserve Flatpak Electron ELF for Zypak ( #1205 )
...
Fixes the launcher/Zypak regression reported in #1203 . The additional GPU/video.js behavior remains tracked separately in that issue.
2026-07-18 22:42:45 +02:00
4gray
8fdac824fd
feat(packaging): ship Linux embedded MPV frame-copy runtime ( #1200 )
...
* docs: design Linux frame-copy packaging
* docs: plan Linux frame-copy packaging
* feat(packaging): define Linux frame-copy profiles
* fix(packaging): reject inherited profile names
* feat(embedded-mpv): validate staged Linux runtime
* fix(embedded-mpv): require Linux source packages
* fix(embedded-mpv): harden Linux runtime staging
* feat(embedded-mpv): build LGPL Linux runtime
* fix(embedded-mpv): pin Linux runtime inputs
* feat(embedded-mpv): build relocatable Linux helper
* fix(embedded-mpv): require bundled Linux runtime
* fix(embedded-mpv): make Linux runtime portable
* feat(packaging): ship Linux frame-copy artifacts
* fix(embedded-mpv): verify Linux helper linkage
* fix(packaging): enforce Linux frame-copy isolation
* fix(embedded-mpv): pin Linux display data
* docs(embedded-mpv): document Linux frame-copy packaging
* feat(embedded-mpv): probe Linux frame-copy runtime
* test(embedded-mpv): smoke packaged Linux frame-copy
* docs(embedded-mpv): clarify Linux system runtime baseline
* fix(embedded-mpv): harden Linux runtime capability gate
* ci: verify Linux frame-copy packages
* test(embedded-mpv): harden packaged Linux smoke
* test(embedded-mpv): preserve packaged GL mode
* test(packaging): harden Linux package probes
* fix(embedded-mpv): enable private Snap shared memory
* fix(embedded-mpv): sanitize Linux helper environment
* fix(packaging): enforce private Snap memory semantics
* fix(packaging): reject ambiguous Snap memory metadata
* fix(embedded-mpv): prioritize trusted Snap GL
* fix(packaging): reject advanced Snap YAML semantics
* fix(packaging): reject arbitrary Snap YAML aliases
* feat(packaging): ship Linux runtime license notices
* docs(embedded-mpv): document Linux runtime distribution
* fix(packaging): parse Snap trailing comments safely
* fix(release): gate Snap publish on public source release
* fix(packaging): strip VCS metadata from source bundle
* docs(packaging): clarify Linux source release gate
* test(embedded-mpv): smoke missing bundled libmpv
* style(embedded-mpv): format final validation inputs
* fix(e2e): satisfy fixture index signature typing
* fix(ci): declare fontconfig gperf generator
* fix(embedded-mpv): hash runtime cache identities
* fix(packaging): harden Linux frame-copy delivery
* fix(packaging): tighten runtime delivery gates
* fix(ci): decouple Linux runtime matrix
* fix(packaging): harden Linux frame-copy delivery
* fix(packaging): validate Linux frame-copy runtimes
* fix(packaging): scope Snap Electron library checks
* feat(packaging): ship Linux frame-copy runtimes
* fix(packaging): improve Linux runtime smoke diagnostics
* fix(packaging): expose bounded helper probe details
* test(packaging): trace Snap EGL probe failures
* fix(packaging): prefer core22 ABI in Snap helper
* fix(packaging): bound helper probe capture
* fix(packaging): harden Linux frame-copy releases
* fix(packaging): canonicalize libplacebo submodule identity
* fix(packaging): make source archive inspection portable
* fix(packaging): harden Snap release verification
2026-07-18 17:28:22 +02:00
4gray
c6ed504723
feat(playback): add shared picture-in-picture controls ( #1199 )
...
* docs(playback): design shared web picture-in-picture
* docs(playback): keep picture-in-picture exit available
* docs(playback): plan shared web picture-in-picture
* feat(playback): add picture-in-picture controls contract
* feat(playback): add shared web picture-in-picture
* feat(playback): expose shared picture-in-picture action
* docs(playback): document shared web picture-in-picture
* test(playback): cover shared picture-in-picture flow
* test(playback): wait for PiP video in Electron E2E
* refactor(playback): extract picture-in-picture controller
2026-07-17 22:11:29 +02:00
4gray
beb62db314
feat(settings): add shared web player controls toggle ( #1198 )
...
* docs(playback): design shared controls setting
* docs(playback): plan shared controls setting
* feat(settings): persist shared web controls preference
* test(settings): harden shared controls normalization coverage
* feat(settings): expose shared web controls toggle
* fix(settings): label shared controls toggle
* feat(playback): resolve shared controls from settings
* test(playback): cover shared controls setting
* docs(playback): document shared controls preference
* fix(playback): await settings before host creation
* fix(settings): normalize shared controls updates
2026-07-17 13:38:06 +02:00
4gray and Lars Emig
4e572c60ca
feat(videojs): add feature-flagged shared controls ( #1195 )
...
* feat(videojs): add feature-flagged shared controls
Rebuild the Video.js shared-controls integration on the current player lifecycle with Tech rebinds, source-scoped tracks, reset ordering, volume preservation, diagnostics gating, and default-off compatibility.
Credits and supersedes the stacked implementation proposed in #1153 .
Co-authored-by: Lars Emig <lars.emig@pickware.de >
* fix(videojs): harden MPEG-TS reset lifecycle
---------
Co-authored-by: Lars Emig <lars.emig@pickware.de >
2026-07-16 23:08:18 +02:00
4gray
c49ea2f6a8
feat(html-player): add feature-flagged shared controls ( #1194 )
...
* feat(html-player): bridge engine state to shared controls
* fix(html-player): avoid HLS subtitle event reentry
* fix(html-player): restore delayed HLS default subtitles
* refactor(html-player): split controls bridge collaborators
* feat(html-player): add feature-flagged shared controls
* test(html-player): cover shared-controls source ownership
* feat(html-player): pass shared-controls playback metadata
* docs(player-controls): describe HTML5 shared-controls bridge
* docs(player-controls): clarify HTML5 rollout effect
* fix(html-player): reveal diagnostics from fullscreen
* fix(html-player): defer HLS event resolution
* refactor(html-player): isolate video element session
2026-07-16 21:30:41 +02:00
4gray
f611ea3d7c
feat(embedded-mpv): use shared controls for frame-copy ( #1193 )
...
* docs(embedded-mpv): plan frame-copy shared controls
* feat(embedded-mpv): adapt frame-copy sessions to shared controls
* fix(embedded-mpv): correlate recording control updates
* fix(embedded-mpv): accept recording ack before command resolve
* fix(embedded-mpv): serialize delayed recording commands
* fix(embedded-mpv): latch buffered recording outcomes
* feat(embedded-mpv): use shared controls for frame-copy
* fix(embedded-mpv): isolate recording ticks by engine
* fix(embedded-mpv): reset controls on engine handoff
* docs(embedded-mpv): document frame-copy shared controls
* docs(embedded-mpv): normalize shared-controls plans
* fix(embedded-mpv): isolate legacy feedback on handoff
* fix(player-controls): block toggles while stalled
* refactor(embedded-mpv): isolate controls timing
* fix(player-controls): reset recording feedback on handoff
* fix(embedded-mpv): preserve newer session snapshots
2026-07-16 18:47:32 +02:00