Commit graph

89 commits

Author SHA1 Message Date
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
dc15b8ffd4 feat: download button in clip player — watch first, then save 2026-08-10 07:01:15 +01:00
efcc10f5fd feat: camera config proxy — access cameras remotely through NextNVR 2026-08-10 06:47:02 +01:00
8328f4049a docs: storage setup guide — local, USB, NFS; NAS roadmap done 2026-08-06 19:45:45 +01:00
2f656aaa40 fix: default storage to $HOME/nvr_data, not /mnt/recordings 2026-08-06 19:43:01 +01:00
dc236e561d feat: storage path in Settings UI, deploy creates directory 2026-08-06 19:41:14 +01:00
be801e9d27 fix: save status clears after reload, shows done message 2026-08-06 19:35:20 +01:00
3b2bcd7696 refactor: viewer always listens, access blocked at request level when disabled 2026-08-06 19:31:10 +01:00
f1a6243dac fix: viewer port disabled by default — opt-in via Settings 2026-08-06 19:25:36 +01:00
c0491143fd fix: Go default storage path matches config sample 2026-08-06 19:22:00 +01:00
228f4cd518 fix: default storage path in config sample — /mnt/recordings 2026-08-06 19:21:43 +01:00
deb2380507 fix: toggle viewer_port directly instead of viewer.enabled — no ambiguity 2026-08-06 19:12:10 +01:00
c85bba8d56 fix: use mutex-protected config copy in onReload — prevents stale reads 2026-08-06 19:07:08 +01:00
700a0ab4f0 fix: use element IDs for auth checkboxes — reliable checked state 2026-08-06 19:02:21 +01:00
f548ec8fe2 fix: reload config after save so viewer toggle state is correct 2026-08-06 18:56:19 +01:00
72e936d3f1 fix: viewer port starts/stops dynamically on config save, auth bypass removed 2026-08-06 18:52:02 +01:00
2032402597 fix: auth bypass removed, sanitize names, json errors, viewer port toggle 2026-08-06 18:43:14 +01:00
fbb40f4e26 chore: v0.4.0 — cleanup, changelog, version bump 2026-08-06 18:30:49 +01:00
cc972835b0 docs: update README — auth is optional, remove.sh, config.json, roadmap 2026-08-06 18:28:32 +01:00
f280de445f fix: store real camera password in data attribute, not masked value 2026-08-06 18:04:56 +01:00
83ed6516f1 fix: exclude auth card from camera save — selector scoped to [data-id] 2026-08-06 18:02:09 +01:00
7ebeb73f62 fix: missing function declaration for addCamera 2026-08-06 17:54:05 +01:00
1942c2bb35 feat: clean settings cards — name + desc, advanced collapsed, add/remove 2026-08-06 17:50:16 +01:00
ebc05762b0 feat: add/remove cameras in Settings, empty fallback fix 2026-08-06 17:40:19 +01:00
86ce14bc5b refactor: no interactive prompts — config.json.sample has defaults, update preserves config 2026-08-06 17:28:46 +01:00
30547fc354 fix: remove auth from first-run wizard, skip empty-name cameras in grid 2026-08-06 17:26:55 +01:00
ef41c29981 fix: move auth collection after config fetch — lexical scope bug 2026-08-06 17:20:15 +01:00
4a9266e249 feat: auth management card in Settings — edit master/viewer, enable/disable 2026-08-06 15:32:10 +01:00
a1f05012b4 fix: graceful stop via systemctl + targeted kill, no pkill -9 2026-08-06 15:23:09 +01:00
7b9902f788 fix: pkill patterns — target binary paths, not script itself 2026-08-06 15:04:03 +01:00
31ea59ceea feat: remove.sh — clean removal for greenfield redeployment 2026-08-06 14:58:47 +01:00
b2e4dface2 refactor: pivot to JSON config — no yaml dependency, jq in bash, greenfield detection 2026-08-06 14:54:43 +01:00
386d3b3858 fix: deploy_nvr.sh downloads go2rtc binary, sets correct config path 2026-08-06 14:40:31 +01:00
02ee23281c feat: config hot-reload — save restarts services automatically 2026-08-06 14:37:02 +01:00
e790855f69 feat: deploy prompts for storage path on first install, preserves on update 2026-08-06 14:30:19 +01:00
49b1b8a5ff fix: config comes from repo clone, fix step numbering 2026-08-06 14:27:58 +01:00
d867e3b976 refactor: storage path in config.yaml only — deploy script no longer prompts 2026-08-06 14:23:56 +01:00
aba58cf1a0 feat: deploy_nvr.sh — stops service before rebuild, update instructions 2026-08-06 14:22:49 +01:00
7c7c920f5e fix: one-liner reads from /dev/tty for interactive prompt, README explains both methods 2026-08-06 14:18:16 +01:00
6f0576d534 fix: inject storage path into existing config, explain interactive vs piped 2026-08-06 14:15:13 +01:00
e61aab2df5 fix: handle non-interactive piped install — default $HOME/nvr_data 2026-08-06 14:09:33 +01:00
1cbf03d384 fix: default storage to $HOME/nvr_data, empty in repo config 2026-08-06 13:55:29 +01:00
b5dcbe9c56 feat: setup.sh asks for storage path, creates directory, injects into config 2026-08-06 13:53:58 +01:00
7a4c97e760 fix: fallback camera name from IP when ONVIF returns no model 2026-08-06 13:20:27 +01:00
c4c9049e24 fix: go2rtc config path absolute, gitignore generated file 2026-08-06 13:16:02 +01:00
872c8c2273 fix: sanitize camera names — spaces → underscores for CLI-safe paths 2026-08-06 13:14:10 +01:00
1e53ffe151 docs: two-port auth, first-run wizard with admin setup 2026-08-06 13:06:33 +01:00
7064829921 feat: first-run auth setup in wizard, auto-hash passwords on save 2026-08-06 13:03:56 +01:00
eaa612278d feat: two-port auth — 8080 with login, 8090 viewer-only (live wall) 2026-08-06 12:56:48 +01:00