Commit graph

  • 9760bdec33 fix: online check also looks for active recorder .part files main cclohmar 2026-08-10 07:23:24 +0100
  • 953360d251 fix: real camera online status — checks latest.jpg modification time cclohmar 2026-08-10 07:03:31 +0100
  • dc15b8ffd4 feat: download button in clip player — watch first, then save cclohmar 2026-08-10 07:01:15 +0100
  • efcc10f5fd feat: camera config proxy — access cameras remotely through NextNVR cclohmar 2026-08-10 06:47:02 +0100
  • 8328f4049a docs: storage setup guide — local, USB, NFS; NAS roadmap done cclohmar 2026-08-06 19:45:45 +0100
  • 2f656aaa40 fix: default storage to $HOME/nvr_data, not /mnt/recordings cclohmar 2026-08-06 19:43:01 +0100
  • dc236e561d feat: storage path in Settings UI, deploy creates directory cclohmar 2026-08-06 19:41:14 +0100
  • be801e9d27 fix: save status clears after reload, shows done message cclohmar 2026-08-06 19:35:20 +0100
  • 3b2bcd7696 refactor: viewer always listens, access blocked at request level when disabled cclohmar 2026-08-06 19:31:10 +0100
  • f1a6243dac fix: viewer port disabled by default — opt-in via Settings cclohmar 2026-08-06 19:25:36 +0100
  • c0491143fd fix: Go default storage path matches config sample cclohmar 2026-08-06 19:22:00 +0100
  • 228f4cd518 fix: default storage path in config sample — /mnt/recordings cclohmar 2026-08-06 19:21:43 +0100
  • deb2380507 fix: toggle viewer_port directly instead of viewer.enabled — no ambiguity cclohmar 2026-08-06 19:12:10 +0100
  • c85bba8d56 fix: use mutex-protected config copy in onReload — prevents stale reads cclohmar 2026-08-06 19:07:08 +0100
  • 700a0ab4f0 fix: use element IDs for auth checkboxes — reliable checked state cclohmar 2026-08-06 19:02:21 +0100
  • f548ec8fe2 fix: reload config after save so viewer toggle state is correct cclohmar 2026-08-06 18:56:19 +0100
  • 72e936d3f1 fix: viewer port starts/stops dynamically on config save, auth bypass removed cclohmar 2026-08-06 18:52:02 +0100
  • 2032402597 fix: auth bypass removed, sanitize names, json errors, viewer port toggle cclohmar 2026-08-06 18:43:14 +0100
  • fbb40f4e26 chore: v0.4.0 — cleanup, changelog, version bump cclohmar 2026-08-06 18:30:49 +0100
  • cc972835b0 docs: update README — auth is optional, remove.sh, config.json, roadmap cclohmar 2026-08-06 18:28:32 +0100
  • f280de445f fix: store real camera password in data attribute, not masked value cclohmar 2026-08-06 18:04:56 +0100
  • 83ed6516f1 fix: exclude auth card from camera save — selector scoped to [data-id] cclohmar 2026-08-06 18:02:09 +0100
  • 7ebeb73f62 fix: missing function declaration for addCamera cclohmar 2026-08-06 17:54:05 +0100
  • 1942c2bb35 feat: clean settings cards — name + desc, advanced collapsed, add/remove cclohmar 2026-08-06 17:50:16 +0100
  • ebc05762b0 feat: add/remove cameras in Settings, empty fallback fix cclohmar 2026-08-06 17:40:19 +0100
  • 86ce14bc5b refactor: no interactive prompts — config.json.sample has defaults, update preserves config cclohmar 2026-08-06 17:28:46 +0100
  • 30547fc354 fix: remove auth from first-run wizard, skip empty-name cameras in grid cclohmar 2026-08-06 17:26:55 +0100
  • ef41c29981 fix: move auth collection after config fetch — lexical scope bug cclohmar 2026-08-06 17:20:15 +0100
  • 4a9266e249 feat: auth management card in Settings — edit master/viewer, enable/disable cclohmar 2026-08-06 15:32:10 +0100
  • a1f05012b4 fix: graceful stop via systemctl + targeted kill, no pkill -9 cclohmar 2026-08-06 15:23:09 +0100
  • 7b9902f788 fix: pkill patterns — target binary paths, not script itself cclohmar 2026-08-06 15:04:03 +0100
  • 31ea59ceea feat: remove.sh — clean removal for greenfield redeployment cclohmar 2026-08-06 14:58:47 +0100
  • b2e4dface2 refactor: pivot to JSON config — no yaml dependency, jq in bash, greenfield detection cclohmar 2026-08-06 14:54:43 +0100
  • 386d3b3858 fix: deploy_nvr.sh downloads go2rtc binary, sets correct config path cclohmar 2026-08-06 14:40:31 +0100
  • 02ee23281c feat: config hot-reload — save restarts services automatically cclohmar 2026-08-06 14:37:02 +0100
  • e790855f69 feat: deploy prompts for storage path on first install, preserves on update cclohmar 2026-08-06 14:30:19 +0100
  • 49b1b8a5ff fix: config comes from repo clone, fix step numbering cclohmar 2026-08-06 14:27:58 +0100
  • d867e3b976 refactor: storage path in config.yaml only — deploy script no longer prompts cclohmar 2026-08-06 14:23:56 +0100
  • aba58cf1a0 feat: deploy_nvr.sh — stops service before rebuild, update instructions cclohmar 2026-08-06 14:22:49 +0100
  • 7c7c920f5e fix: one-liner reads from /dev/tty for interactive prompt, README explains both methods cclohmar 2026-08-06 14:18:16 +0100
  • 6f0576d534 fix: inject storage path into existing config, explain interactive vs piped cclohmar 2026-08-06 14:15:13 +0100
  • e61aab2df5 fix: handle non-interactive piped install — default $HOME/nvr_data cclohmar 2026-08-06 14:09:33 +0100
  • 1cbf03d384 fix: default storage to $HOME/nvr_data, empty in repo config cclohmar 2026-08-06 13:55:29 +0100
  • b5dcbe9c56 feat: setup.sh asks for storage path, creates directory, injects into config cclohmar 2026-08-06 13:53:58 +0100
  • 7a4c97e760 fix: fallback camera name from IP when ONVIF returns no model cclohmar 2026-08-06 13:20:27 +0100
  • c4c9049e24 fix: go2rtc config path absolute, gitignore generated file cclohmar 2026-08-06 13:16:02 +0100
  • 872c8c2273 fix: sanitize camera names — spaces → underscores for CLI-safe paths cclohmar 2026-08-06 13:14:10 +0100
  • 1e53ffe151 docs: two-port auth, first-run wizard with admin setup cclohmar 2026-08-06 13:06:33 +0100
  • 7064829921 feat: first-run auth setup in wizard, auto-hash passwords on save cclohmar 2026-08-06 13:03:56 +0100
  • eaa612278d feat: two-port auth — 8080 with login, 8090 viewer-only (live wall) cclohmar 2026-08-06 12:56:48 +0100
  • d4eada42d8 docs: MIT license, license headers, README with project story and roadmap cclohmar 2026-08-06 10:48:35 +0100
  • cda6ca4785 fix: code review — XSS, credentials 0600, interval leak, path bugs, title, unused imports cclohmar 2026-08-05 16:13:25 +0100
  • 09592b90d2 fix: timezone-aware playback presets — ParseInLocation for BST cclohmar 2026-08-05 14:50:28 +0100
  • faf954a59d fix: go2rtc proxied through NextNVR — no port 1984 forwarding needed cclohmar 2026-08-05 14:42:09 +0100
  • 66dd4c54b4 fix: clean focus popup — close button bar + fullscreen iframe cclohmar 2026-08-05 14:38:21 +0100
  • c2fb05a9ef fix: iframe focus (PWA-friendly), mobile grid overlap fix cclohmar 2026-08-05 14:28:46 +0100
  • c509ba7eb1 style: responsive mobile UI — 2-col grid, full-width cards, stacked controls cclohmar 2026-08-05 14:13:58 +0100
  • 3ded3cc1e8 fix: recorder drop audio (-an) — cameras use pcm_mulaw which MP4 doesn't support cclohmar 2026-08-05 14:10:08 +0100
  • 752941f991 docs: add remote access guide with Dynamic DNS + port forwarding cclohmar 2026-08-05 14:09:52 +0100
  • 741983ae82 fix: no-cache headers to prevent stale JS, correct go2rtc stream.html URL cclohmar 2026-08-05 14:02:44 +0100
  • 03448361da fix: correct go2rtc player URL — stream.html not root cclohmar 2026-08-05 14:02:00 +0100
  • 0b5dc7d88e fix: grid tiles open go2rtc WebRTC player directly — real live stream cclohmar 2026-08-05 13:59:03 +0100
  • 10666f52d0 fix: focus mode embeds go2rtc WebRTC player iframe — real live video cclohmar 2026-08-05 13:54:40 +0100
  • 5d327e61af fix: snapshots via go2rtc frame.jpeg — instant, no RTSP renegotiation cclohmar 2026-08-05 13:12:02 +0100
  • 901edcf594 fix: focus mode uses fast JPEG refresh (200ms) — no codec, works everywhere cclohmar 2026-08-05 13:06:36 +0100
  • b68171f370 fix: proxy MJPEG stream through NextNVR to avoid cross-origin blocking cclohmar 2026-08-05 13:04:44 +0100
  • f248b796c6 fix: focus mode uses go2rtc MJPEG stream for real live video cclohmar 2026-08-05 13:01:22 +0100
  • 0bc81b5087 fix: focus mode uses fast-refresh JPEG — no codec dependency cclohmar 2026-08-05 12:51:02 +0100
  • 31cc243830 fix: focus mode uses go2rtc WebRTC iframe player (HLS not supported in FF) cclohmar 2026-08-05 12:47:52 +0100
  • 0104302367 chore: set retention to 7 days — no archival compression cclohmar 2026-08-05 12:41:58 +0100
  • 69d3a7c47f feat: v0.3.3 — rec_/snap_ prefix, latest.jpg grid, per-minute archival snapshots cclohmar 2026-08-05 12:37:51 +0100
  • 06a1252088 feat: v0.3.2 — disk-based snapshot engine, no go2rtc polling for grid cclohmar 2026-08-05 12:28:29 +0100
  • 58fd3307dd fix: stagger snapshot loading to prevent browser request flooding cclohmar 2026-08-05 12:24:28 +0100
  • e93074e459 feat: camera config link in settings, fix all json tags, go2rtc auto-start cclohmar 2026-08-05 12:22:40 +0100
  • 8bf32396f6 fix: onvif_port uses json string tag to accept form values cclohmar 2026-08-05 12:19:26 +0100
  • 6bb504258f fix: add json tags to all config structs — API serialization was broken cclohmar 2026-08-05 12:17:32 +0100
  • 1a017999fe chore: v0.3.1 — go2rtc auto-start, live wall snapshots, MSE focus player cclohmar 2026-08-05 12:13:33 +0100
  • 9de8536bdf fix: save auto-refreshes cameras and switches to Live Wall — no restart needed cclohmar 2026-08-05 12:06:12 +0100
  • e94d49253e chore: v0.3.0 — real ONVIF TCP probe in /api/scan, greenfield wizard with IP range cclohmar 2026-08-05 12:03:52 +0100
  • e8b795503f chore: v0.3.0 — greenfield-first, auto-wizard, ONVIF hybrid probe, empty default config cclohmar 2026-08-05 11:59:54 +0100
  • 7359357a0b fix: bind to 0.0.0.0 instead of 127.0.0.1 — accessible from LAN cclohmar 2026-08-05 10:08:05 +0100
  • c2f87105e7 chore: portable setup.sh — supports 5 distros, auto-detect pkg manager, fallback for non-systemd, ARM64 cclohmar 2026-08-05 10:03:34 +0100
  • f1fbd01c19 chore: verify time sync (systemd-timesyncd) during deployment cclohmar 2026-08-05 10:00:15 +0100
  • 0f78666bf3 chore: v0.2.2 — user-friendly README, one-line deploy, auto-install deps cclohmar 2026-08-05 09:58:39 +0100
  • c19944bc27 chore: document local time (BST) usage, no UTC conversion cclohmar 2026-08-05 09:54:39 +0100
  • 66f35b1eb9 chore: v0.2.1 — flat recording dir, per-segment FFmpeg, .part atomic rename, playback presets cclohmar 2026-08-05 09:53:21 +0100
  • 170d6fb234 chore: set camera credentials (admin:****) cclohmar 2026-08-05 09:22:50 +0100
  • 84bf6d892f chore: Milestone 1 & 2 — core setup, recorder, cleaner, web UI, deployment cclohmar 2026-08-05 09:15:43 +0100
  • 5b04c831b5 chore: initial commit — NextNVR project scaffold cclohmar 2026-08-05 08:44:24 +0100