screentinker/server
ScreenTinker 55c8e354b4 Phase 2: assignments.js operates on device playlists instead of assignments table
All CRUD routes now read/write playlist_items via device.playlist_id.
Auto-creates a playlist for a device on first content add if none exists.
PUT/DELETE push updates to ALL devices sharing the same playlist.
Copy-to-device creates a playlist on the target if needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 22:05:19 -05:00
..
db Phase 2 migration: convert existing assignments to per-device playlists 2026-04-11 22:03:41 -05:00
middleware Initial open source release 2026-04-08 12:14:53 -05:00
player Fix widget assignments, designer scaling, and cache strategy 2026-04-08 16:25:05 -05:00
routes Phase 2: assignments.js operates on device playlists instead of assignments table 2026-04-11 22:05:19 -05:00
services Phase 2: buildPlaylistPayload reads from playlist_items via device.playlist_id 2026-04-11 22:04:26 -05:00
ws Phase 2: buildPlaylistPayload reads from playlist_items via device.playlist_id 2026-04-11 22:04:26 -05:00
config.js Initial open source release 2026-04-08 12:14:53 -05:00
package-lock.json Initial open source release 2026-04-08 12:14:53 -05:00
package.json Initial open source release 2026-04-08 12:14:53 -05:00
server.js Register playlist routes in server.js 2026-04-11 21:10:24 -05:00