- /api/recordings no longer lists rec_*.part.mp4 files: FFmpeg has not
written the moov atom yet, so they can never play. The in-progress
segment was always the newest entry at the top of the list.
- Record new segments with -movflags +faststart so the MP4 index is at
the front. iOS/Safari otherwise tail-seeks the moov and stalls.
- Add playsinline to the playback video for inline iOS playback.
- Add scripts/remux-faststart.sh to convert the existing archive
(dry-run by default, atomic, preserves mtime for retention).
Detect a disconnected or read-only recordings drive and surface it
without stopping recording or live view:
- storage.go: probe path existence, mount point, writability and free
space every 30s; capture mount expectation at startup so a clean
unmount (writes falling through to root fs) is also caught
- GET /api/storage endpoint; storage fields in /api/status
- red UI banner while storage is unavailable
- log ALERT on loss, OK on recovery