screentinker/server/routes
ScreenTinker 436a3be7f6 Phase 3: playlist publish/draft state with auto-publish from device detail
Schema: add status and published_snapshot columns to playlists table.
Migration snapshots all existing playlists as published (idempotent via schema_migrations).

Devices always receive the published_snapshot, not live playlist_items.
Edits from device-detail/groups auto-publish immediately (display updates instantly).
Edits from playlist detail page go to draft (requires explicit publish).
POST /playlists/:id/publish snapshots and pushes to all devices.
POST /playlists/:id/discard reverts playlist_items from published snapshot.
Content deletion scrubs references from all published snapshots.

Frontend: draft badge in playlist list, prominent yellow banner with publish/discard
buttons on playlist detail and device detail pages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 20:52:29 -05:00
..
activity.js Initial open source release 2026-04-08 12:14:53 -05:00
assignments.js Phase 3: playlist publish/draft state with auto-publish from device detail 2026-04-13 20:52:29 -05:00
auth.js Security audit remediation: auth, IDOR, XSS, hardening 2026-04-11 22:48:07 -05:00
content.js Phase 3: playlist publish/draft state with auto-publish from device detail 2026-04-13 20:52:29 -05:00
device-groups.js Phase 3: playlist publish/draft state with auto-publish from device detail 2026-04-13 20:52:29 -05:00
devices.js Phase 3: playlist publish/draft state with auto-publish from device detail 2026-04-13 20:52:29 -05:00
kiosk.js Initial open source release 2026-04-08 12:14:53 -05:00
layouts.js Security audit remediation: auth, IDOR, XSS, hardening 2026-04-11 22:48:07 -05:00
playlists.js Phase 3: playlist publish/draft state with auto-publish from device detail 2026-04-13 20:52:29 -05:00
provisioning.js Initial open source release 2026-04-08 12:14:53 -05:00
reports.js Initial open source release 2026-04-08 12:14:53 -05:00
schedules.js Security audit remediation: auth, IDOR, XSS, hardening 2026-04-11 22:48:07 -05:00
status.js Probe video durations during migration and v1 import 2026-04-11 22:24:56 -05:00
stripe.js Security audit remediation: auth, IDOR, XSS, hardening 2026-04-11 22:48:07 -05:00
subscription.js Initial open source release 2026-04-08 12:14:53 -05:00
teams.js Initial open source release 2026-04-08 12:14:53 -05:00
video-walls.js Security audit remediation: auth, IDOR, XSS, hardening 2026-04-11 22:48:07 -05:00
white-label.js Initial open source release 2026-04-08 12:14:53 -05:00
widgets.js Fix widget assignments, designer scaling, and cache strategy 2026-04-08 16:25:05 -05:00