- Device-status panel (DeviceStatusController): site-scoped liveness over stored heartbeat telemetry. Fix config_drift false-positive by storing NULL until the device actually reports a version (was firing "설정 미적용" on every device). - Zone save rejects a blank/unknown device_id (DeviceRepository::exists) so a zone is never persisted against a device that will never fetch it. - Snapshot proxy sends immutable private cache headers, ending the 5s-poll re-download of every thumbnail (a Cafe24 traffic-cap hazard). - Event list: paged-in acknowledgements stick; honesty affordances for the paging gap, a stale device poll, and a filtered camera aging out; logout wired for every page via the shared layout. |
||
|---|---|---|
| .. | ||
| app.css | ||
| app.js | ||
| detail.js | ||
| login.js | ||
| zone-draw.js | ||