fix(qconnect): wait for authoritative shuffle queue

cx
This commit is contained in:
vicrodh committed 2026-03-13 22:54:27 -06:00
1 parent 19b4182dd6
commit af7652c86b
3 files changed
+36 -75

No files matched your search

+12
View File
@@ -156,6 +156,10 @@ impl<A: FrontendAdapter + Send + Sync + 'static> QbzCore<A> {
let queue = self.queue.write().await;
queue.set_shuffle(enabled);
self.emit(CoreEvent::ShuffleChanged { enabled }).await;
self.emit(CoreEvent::QueueUpdated {
state: queue.get_state(),
})
.await;
}
/// Set shuffle mode using an authoritative order.
@@ -163,6 +167,10 @@ impl<A: FrontendAdapter + Send + Sync + 'static> QbzCore<A> {
let queue = self.queue.write().await;
queue.set_shuffle_with_order(enabled, shuffle_order);
self.emit(CoreEvent::ShuffleChanged { enabled }).await;
self.emit(CoreEvent::QueueUpdated {
state: queue.get_state(),
})
.await;
}
/// Toggle shuffle and return new state
@@ -175,6 +183,10 @@ impl<A: FrontendAdapter + Send + Sync + 'static> QbzCore<A> {
enabled: new_enabled,
})
.await;
self.emit(CoreEvent::QueueUpdated {
state: queue.get_state(),
})
.await;
new_enabled
}