feat(queue): add source_item_id_hint to QueueTrack

Reserved for upcoming Mixtape/Collection enqueue paths to mark item
boundaries. Existing enqueue paths populate it with the track's
album_id as a safe fallback so skip-to-item commands behave
correctly even for queues built via "play album" today.

cc
This commit is contained in:
vicrodh committed 2026-04-18 17:23:59 -06:00
1 parent c2da9512ff
commit b2fb251783
11 files changed
+33 -5

No files matched your search

+7
View File
@@ -39,6 +39,13 @@ pub struct QueueTrack {
/// Parental advisory / explicit content
#[serde(default)]
pub parental_warning: bool,
/// Opaque identifier of the Mixtape/Collection item that produced this track,
/// used by v2_skip_to_next_item / v2_skip_to_previous_item to detect boundaries.
/// For non-Mixtape enqueue paths, set to the track's album_id so boundary
/// detection still works for "play album" flows. None is a safe fallback
/// (the skip commands fall back to album_id when this is absent).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_item_id_hint: Option<String>,
}
fn default_streamable() -> bool {