Safari no longer loses the plot after scrubbing. Fast arrow-key jumps or a long held arrow used to leave the picture frozen on old frames while the playhead, the clock and the other angles carried on from the wrong time; the seek now always lands.
The multi-angle grid is smooth in Safari. The other angles used to stutter and re-seek every second; they now hold within half a second of the main angle without touching playback speed, and a four-angle live grid plays at full frame rate.
Pausing a live session holds the frame. The paused picture used to creep towards live and a rewind after a pause landed ahead of where you stopped; pause now reviews from where you paused, and play resumes there. Jump to Live still takes you back to the edge.
Held arrow keys keep the playhead on screen when the timeline is zoomed in, in both directions, just as dragging the playhead always did.
Scrubbing a long session no longer stalls the player on Safari. Buffered islands left by fast scrubbing are cleared on every landing.
The playhead can be dragged with a finger in both timelines, the pane dividers have wider grab zones and a grip mark, and the layout divider stays on screen on smaller displays.
Switching schema returns the full schema the page renders.
Session Player
Scrubbing the session page player shows frames instead of freezing, and drags inside the buffer seek at once.
Touch Player
iPad fullscreen is CSS-based and leaves no gap on exit; a note prompt no longer drops fullscreen.
Sessions
A stream that ends with an ENDLIST tag counts as a natural finish on any session, so a stopped encoder no longer leaves the session marked live.
Cameras
Settings shows each camera's fallback slate as a thumbnail.
Angles Sync
Copy Angles HLS gives each angle its ffcat chunk list, and the server serves it like the playlist (no caching, cross-origin allowed).
Server tools
MediaMTX is pinned to v1.21.1.
Bare halt(404) and halt(403) responses return their status instead of a 500.