dragonflight/services/mam-api/src
ZGaetano d257a19d9d fix(player): buffer indicator + 416 instead of 500 on out-of-range S3
mam-api /video endpoint:
- S3 InvalidRange (httpStatusCode 416) was being caught and returned as 500
  via next(err), which the video element treats as a fatal load error and
  freezes the player. Now we catch the specific 416 case, do a no-range
  HEAD-equivalent to learn the real file size, and return proper 416 with
  Content-Range: bytes */<total> so the browser can recover.

screens-asset.jsx — player health + buffer visualization:
- New states: playerState ('idle'|'loading'|'playing'|'paused'|'seeking'|
  'waiting'|'stalled'|'error'), playerError, buffered (array of {start,end}
  ms from HTMLMediaElement.buffered), stallStart, stallElapsedMs
- Wired video element events: onProgress, onWaiting, onStalled, onPlaying,
  onCanPlay, onCanPlayThrough, onSeeking, onSeeked, onError
- onError captures MediaError code+message into a console.error and the
  on-screen badge so freeze causes are now visible
- Status badge overlay (top-right of player): shows SEEKING / BUFFERING /
  STALLED / ERROR + elapsed seconds since the stall began
- PlaybackBar renders buffered ranges as translucent grey segments so you
  can see what the browser has loaded vs. what's still pending — makes
  seek-related freezes immediately obvious
2026-05-26 20:25:40 +00:00
..
ampp feat: AMPP folder sync integration — pre-create folder hierarchy on upload, expose lookup endpoint for Script Task: client.js 2026-04-18 13:42:07 -04:00
db feat: server-side filmstrip worker + fix scheduler crash + fix clip freeze 2026-05-26 16:39:44 +00:00
middleware feat(mam-api): add auth middleware with session and Bearer token support 2026-05-18 12:45:15 -04:00
routes fix(player): buffer indicator + 416 instead of 500 on out-of-range S3 2026-05-26 20:25:40 +00:00
s3 fix: close all 24 open issues (#40–#94) 2026-05-26 14:10:44 +00:00
tasks feat(server): temp segments cleanup task 2026-05-24 12:43:08 -04:00
index.js feat(server): temp segments cleanup task 2026-05-24 12:43:08 -04:00
scheduler.js feat: server-side filmstrip worker + fix scheduler crash + fix clip freeze 2026-05-26 16:39:44 +00:00