Fixed liked track sorting

This commit is contained in:
Ultradesu
2026-07-27 17:09:33 +01:00
parent d36f55b3f6
commit 7ebf07161e
3 changed files with 12 additions and 8 deletions
Generated
+1 -1
View File
@@ -1567,7 +1567,7 @@ dependencies = [
[[package]] [[package]]
name = "furumi_tui" name = "furumi_tui"
version = "0.1.6" version = "0.1.7"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"blake3", "blake3",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "furumi_tui" name = "furumi_tui"
version = "0.1.7" version = "0.1.8"
edition = "2024" edition = "2024"
rust-version = "1.97" rust-version = "1.97"
description = "A federated P2P player for personal music libraries" description = "A federated P2P player for personal music libraries"
+10 -6
View File
@@ -1201,7 +1201,11 @@ impl Library {
.get(&track.id) .get(&track.id)
.copied() .copied()
.unwrap_or_default(); .unwrap_or_default();
(liked_at, track.title.clone(), track) let stable_key = track
.content_id
.clone()
.unwrap_or_else(|| format!("local:{:020}", track.id));
(liked_at, stable_key, track)
}) })
.collect(); .collect();
@@ -1218,11 +1222,11 @@ impl Library {
})?; })?;
for row in fed_rows { for row in fed_rows {
let (liked_at, fed) = row?; let (liked_at, fed) = row?;
entries.push(( let stable_key = fed
liked_at, .content_id
fed.title.clone(), .clone()
crate::federation::pending_track(&fed), .unwrap_or_else(|| format!("fed:{}", fed.item_id));
)); entries.push((liked_at, stable_key, crate::federation::pending_track(&fed)));
} }
entries.sort_by(|left, right| right.0.cmp(&left.0).then_with(|| left.1.cmp(&right.1))); entries.sort_by(|left, right| right.0.cmp(&left.0).then_with(|| left.1.cmp(&right.1)));
return Ok(PlaylistDetail { return Ok(PlaylistDetail {