Commit Graph

6 Commits

Author SHA1 Message Date
CallMeVerity e99aaea193 Expose Content-Range, Accept-Ranges, Content-Length in CORS 2026-06-03 04:24:09 +01:00
CallMeVerity 4fd31ba07d Fix video streaming: parse total size from S3 Content-Range header 2026-06-03 04:18:21 +01:00
CallMeVerity 2f62e68688 Stream video through backend with Range request support
Previously videos were served via direct RustFS URLs, which meant:
- No HTTP Range support (browsers had to download the entire file)
- Large videos couldn't play at all
- Video player rendered broken

Now videos stream through GET /api/videos/:id/stream which:
- Proxies video data from RustFS to the browser
- Supports Range requests (HTTP 206 Partial Content) for seeking
- Sets proper headers (Accept-Ranges, Content-Range, Content-Type)
- Caches for 24 hours

Frontend changes:
- VideoPlayer: added playsInline, preload=metadata, object-contain, error state
- VideoDetail: removed duplicate inline video, now uses VideoPlayer component
- index.css: style WebKit video controls (dark panel, no border-radius)
2026-06-03 03:56:39 +01:00
CallMeVerity 1693b3849b S3 multipart upload for large videos, EISDIR fix 2026-06-03 03:30:54 +01:00
CallMeVerity d6cd848257 Fix directory EISDIR on root path, remove favicon 2026-06-03 01:43:24 +01:00
CallMeVerity eb56ad5183 Initial commit 2026-06-03 00:44:48 +01:00