···33## Next
44- Drop support for Windows 7 and 8
55- Drop support for macOS 10.13 and 10.14
66+- Preserve "Up next" when starting a new playback
67- Add playback history to queue panel
78- Redesign queue panel
89- Add queue panel slide-out transition
+8-7
src/lib/queue.ts
···276276 }
277277}
278278279279-// TODO: Preserve userQueue when setting a new queue. Before we do that, a clear user queue button would be nice
280279export function set_new_queue(new_ids: TrackID[], new_current_index: number) {
281280 const auto_queue = new_ids.splice(new_current_index + 1)
282281 const current = new_ids.pop()
283283- queue.set({
284284- past: new_ids.map(new_queue_item),
285285- current: current
282282+ queue.update((q) => {
283283+ if (q.current) {
284284+ q.past.push(q.current.item)
285285+ }
286286+ q.current = current
286287 ? {
287288 item: new_queue_item(current),
288289 from_auto_queue: true,
289290 }
290290- : null,
291291- user_queue: [],
292292- auto_queue: auto_queue.map(new_queue_item),
291291+ : null
292292+ q.auto_queue = auto_queue.map(new_queue_item)
293293+ return q
293294 })
294295 queue.removeDeleted()
295296 apply_shuffle(get(shuffle))