feat(queue): expose stop-after marker through QueueState

The marker becomes part of the queue state snapshot the frontend
already consumes via syncQueueState(). Single source of truth — no
parallel event channel, no separate store on the frontend.

Refs #356.

cc
This commit is contained in:
vicrodh committed 2026-04-28 13:23:38 -06:00
1 parent 098176e0e3
commit 3fe06195c6
2 files changed
+23

No files matched your search

+22
View File
@@ -858,6 +858,7 @@ impl QueueManager {
shuffle: state.shuffle,
repeat: state.repeat,
total_tracks: state.tracks.len(),
stop_after_track_id: state.stop_after_track_id,
}
}
@@ -1815,4 +1816,25 @@ mod tests {
assert_eq!(queue.get_stop_after(), Some(102));
}
#[test]
fn test_get_state_includes_stop_after() {
let queue = QueueManager::new();
queue.add_track(create_test_track(101));
queue.set_stop_after(101);
let state = queue.get_state();
assert_eq!(state.stop_after_track_id, Some(101));
}
#[test]
fn test_get_state_returns_none_when_no_marker() {
let queue = QueueManager::new();
queue.add_track(create_test_track(101));
let state = queue.get_state();
assert_eq!(state.stop_after_track_id, None);
}
}