No description
Find a file
Mitchell R 3be1a9a624 feat: entities (unified content pool) + ONVIF discovery flow
Entities:
- New entities table — id, name, type (camera|html|web), camera_id,
  html_content, web_url
- Auto-create entity per camera on createCamera
- Layout cells reference entity_id (replaces inline content_type/
  camera_id/html_content/web_url)
- Bundle resolves entities back to legacy cell fields for kiosk compat
  (Rust kiosk unchanged)
- Full CRUD: /admin/entities, /admin/entities/new, /admin/entities/:id
- Cell editor: single entity dropdown with type badges

ONVIF discovery:
- /admin/cameras/discover — host/port/user/pass form
- Server queries ONVIF device, lists profiles with name/resolution/
  encoding/framerate
- "Add" creates camera + main stream from chosen profile
- shared/onvif.ts: minimal SOAP+UsernameToken+PasswordDigest client
  (no external dep)
- Camera new form simplified to RTSP-only with discover link
2026-05-10 23:18:44 +02:00
deploy feat: deployment artifacts + CEC relay + auth-check endpoint 2026-05-10 22:45:56 +02:00
docs refactor: merge templates into layouts, displays from kiosks 2026-05-10 21:39:09 +02:00
kiosk feat: stream warmth — keep cameras warm across layout swaps 2026-05-10 22:51:28 +02:00
scripts adding initial project 2026-05-10 01:09:13 +02:00
server feat: entities (unified content pool) + ONVIF discovery flow 2026-05-10 23:18:44 +02:00
.gitignore adding initial project 2026-05-10 01:09:13 +02:00
CLAUDE.md feat: RTSP field split, coordinator-ws stub, CLAUDE.md update 2026-05-10 15:35:47 +02:00
package-lock.json feat: entities (unified content pool) + ONVIF discovery flow 2026-05-10 23:18:44 +02:00
package.json adding initial project 2026-05-10 01:09:13 +02:00
sec-config.yaml feat: Node-RED outbound bridge — forward kiosk events to Node-RED 2026-05-10 22:49:59 +02:00
tsconfig.base.json adding initial project 2026-05-10 01:09:13 +02:00