mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
2b1124d14a
Guest outboxes are append-only from the host's POV — every sweep reads the same playlist. `applyOutboxSnapshotsToState` was unconditionally pushing every trackId in every snapshot into `state.queue`, so the pending-approval list grew by one duplicate per tick for every unhandled suggestion (visible as 4+ identical rows after ~10 s). Dedupe against `(user, trackId)` already present in `state.queue` or `state.currentTrack` before appending. A guest re-suggesting the same track after it lands/plays is a rare enough case to live with for now. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>