William Valentin
35e3cbf52f
feat: support lan/tailnet endpoint selection for presigned URLs
2026-02-05 10:10:53 -08:00
William Valentin
d93caedb31
fix: align moments range and failed filter
2026-02-05 09:17:16 -08:00
William Valentin
523460f639
fix: improve moments clustering
2026-02-05 09:14:45 -08:00
William Valentin
fdd1c932fd
fix: stop dupes loading on error
2026-02-04 23:46:32 -08:00
William Valentin
83f3ff1f69
feat: expose and display duplicates
2026-02-04 23:38:24 -08:00
William Valentin
c6b4095a39
fix: move Leaflet CSS import
2026-02-04 18:13:30 -08:00
William Valentin
8f59d3ba72
feat: add map page
2026-02-04 17:42:41 -08:00
William Valentin
4b2a4808b6
feat: add geo points endpoint
2026-02-04 16:44:57 -08:00
William Valentin
ffba6fb290
fix: sync capture override response
2026-02-04 11:02:06 -08:00
William Valentin
8eae0c7c97
feat: add UI for capture time override
2026-02-04 08:57:27 -08:00
William Valentin
d0ad1caec5
fix: preserve capture overrides on partial updates
2026-02-02 21:27:21 -08:00
William Valentin
6525a553ae
feat: add capture time overrides and apply in queries
2026-02-02 21:21:11 -08:00
William Valentin
1f8c28e1db
fix: handle viewer load errors
2026-02-02 19:47:45 -08:00
William Valentin
eb712ac9e9
feat: add tags/albums UI
2026-02-02 19:46:24 -08:00
William Valentin
e455425d2e
fix: return 400 on invalid tag/album payload
2026-02-01 18:01:25 -08:00
William Valentin
51aba941d6
feat: add admin tags and albums APIs
2026-02-01 17:57:10 -08:00
William Valentin
691f5908d3
fix: use playback selector in MediaPanel
2026-02-01 16:52:34 -08:00
William Valentin
4cd6dfef40
fix: use playback selector in MediaPanel
2026-02-01 16:49:47 -08:00
William Valentin
8479f50daa
feat: add asset variants endpoint
2026-02-01 16:47:50 -08:00
William Valentin
5058afc980
feat: prefer derived mp4 playback with fallback
2026-02-01 15:58:11 -08:00
William Valentin
517e21d0b7
fix: fallback to legacy keys for variant lookup
2026-02-01 12:13:39 -08:00
William Valentin
26e2d74d2b
feat: add asset variants table and URL selection
2026-02-01 12:08:18 -08:00
William Valentin
7c8406c7cc
feat: require admin token for ingestion endpoints
2026-02-01 03:08:15 -08:00
OpenCode Test
4e2ab7cdd8
task-11: complete QA + hardening with resilience fixes
...
- Created comprehensive QA checklist covering edge cases (missing EXIF, timezones, codecs, corrupt files)
- Added ErrorBoundary component wrapped around TimelineTree and MediaPanel
- Created global error.tsx page for unhandled errors
- Improved failed asset UX with red borders, warning icons, and inline error display
- Added loading skeletons to TimelineTree and MediaPanel
- Added retry button for failed media loads
- Created DEPLOYMENT_VALIDATION.md with validation commands and checklist
- Applied k8s recommendations:
- Changed node affinity to required for compute nodes (Pi 5)
- Enabled Tailscale LoadBalancer service for MinIO S3 (reliable Range requests)
- Enabled cleanup CronJob for staging files
2025-12-24 12:45:22 -08:00
OpenCode Test
e1a64aa092
Initial commit
2025-12-24 10:50:10 -08:00