Something went wrong. Try again.
experiments of a tiny cytube-like player with yt-dlp
Something went wrong. Try again.
refactor: extract pure playback state machine from RoomActor master
Extracts a pure, deterministic PlaybackState machine (src/state.rs) with the impure-pure-impure sandwich pattern: 1. Gather — RoomActor fetches DB data and wall clock 2. Transition — state.transition(event, now) returns Vec<Effect> 3. Commit — RoomActor executes effects (DB writes, pipeline, broadcast) Player is thinned: no longer tracks active_track or is_playing(). The state machine owns queue/history in-memory, so snapshot publishing is SQLite-free.
Author karitham Date (May 17, 2026, 11:58 AM UTC) Commit cdb1b07e cdb1b07e0e4d0de5d96c4c419b7949807356d1c1 Parent e959acd8 e959acd816f5562d59fecb812da45faadc4a2c43 Change ID kqyvpkvw kqyvpkvwlkrynryxxpnrxvzxloookkou