a54ff08ebb
feat: storage health monitor with UI alert on drive loss
...
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
2026-10-10 07:17:28 +01:00
9760bdec33
fix: online check also looks for active recorder .part files
2026-08-10 07:23:24 +01:00
953360d251
fix: real camera online status — checks latest.jpg modification time
2026-08-10 07:03:31 +01:00
efcc10f5fd
feat: camera config proxy — access cameras remotely through NextNVR
2026-08-10 06:47:02 +01:00
2032402597
fix: auth bypass removed, sanitize names, json errors, viewer port toggle
2026-08-06 18:43:14 +01:00
b2e4dface2
refactor: pivot to JSON config — no yaml dependency, jq in bash, greenfield detection
2026-08-06 14:54:43 +01:00
02ee23281c
feat: config hot-reload — save restarts services automatically
2026-08-06 14:37:02 +01:00
872c8c2273
fix: sanitize camera names — spaces → underscores for CLI-safe paths
2026-08-06 13:14:10 +01:00
7064829921
feat: first-run auth setup in wizard, auto-hash passwords on save
2026-08-06 13:03:56 +01:00
d4eada42d8
docs: MIT license, license headers, README with project story and roadmap
2026-08-06 10:48:35 +01:00
cda6ca4785
fix: code review — XSS, credentials 0600, interval leak, path bugs, title, unused imports
2026-08-05 16:13:25 +01:00
09592b90d2
fix: timezone-aware playback presets — ParseInLocation for BST
2026-08-05 14:50:28 +01:00
b68171f370
fix: proxy MJPEG stream through NextNVR to avoid cross-origin blocking
2026-08-05 13:04:44 +01:00
69d3a7c47f
feat: v0.3.3 — rec_/snap_ prefix, latest.jpg grid, per-minute archival snapshots
2026-08-05 12:37:51 +01:00
e94d49253e
chore: v0.3.0 — real ONVIF TCP probe in /api/scan, greenfield wizard with IP range
2026-08-05 12:03:52 +01:00
66f35b1eb9
chore: v0.2.1 — flat recording dir, per-segment FFmpeg, .part atomic rename, playback presets
2026-08-05 09:53:21 +01:00
84bf6d892f
chore: Milestone 1 & 2 — core setup, recorder, cleaner, web UI, deployment
2026-08-05 09:15:43 +01:00