screentinker/frontend/js
ScreenTinker ee6888e737 Fix display duplication on WebSocket reconnect
Server-side: when a device reconnects on a fresh socket while the old
TCP zombie is still around, the old socket's eventual disconnect handler
flipped the device offline and removed the new heartbeat entry. Now we
proactively evict any prior socket on register and ignore disconnects
from sockets that are no longer the registered one for that device_id.

Frontend: dedupe devices by id from the API response and only render
each device in the first group it belongs to (multi-group membership
is still tracked for the Manage modal).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 10:13:00 -05:00
..
components QA fixes: toast aria-live + scope playlist flex-wrap to mobile 2026-04-21 16:00:41 -05:00
views Fix display duplication on WebSocket reconnect 2026-04-28 10:13:00 -05:00
api.js Refresh cached user so admin plan/role changes propagate 2026-04-22 19:38:46 -05:00
app.js Refresh cached user so admin plan/role changes propagate 2026-04-22 19:38:46 -05:00
branding.js Fix white-label settings not applying on page load 2026-04-22 19:36:20 -05:00
i18n.js Initial open source release 2026-04-08 12:14:53 -05:00
socket.js Initial open source release 2026-04-08 12:14:53 -05:00
utils.js Security audit remediation: auth, IDOR, XSS, hardening 2026-04-11 22:48:07 -05:00