From c2549cc945eab9f103707a1861008574a164d9c4 Mon Sep 17 00:00:00 2001 From: ytshen Date: Tue, 30 Dec 2025 17:57:28 +0800 Subject: [PATCH] fix: sort releases by addon_version instead of published_at --- src/zotero_scraper/cache/release_cache.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/zotero_scraper/cache/release_cache.py b/src/zotero_scraper/cache/release_cache.py index d0fb1a8..67069d6 100644 --- a/src/zotero_scraper/cache/release_cache.py +++ b/src/zotero_scraper/cache/release_cache.py @@ -172,8 +172,14 @@ class RepoCache: if not compatible: return None - # Sort by published_at descending to get latest - compatible.sort(key=lambda r: r.published_at, reverse=True) + # Sort by addon_version descending to get highest version + from functools import cmp_to_key + from ..utils.version import compare_versions + + def cmp_release(a: CachedRelease, b: CachedRelease) -> int: + return -compare_versions(a.addon_version or "0", b.addon_version or "0") + + compatible.sort(key=cmp_to_key(cmp_release)) return compatible[0] def get_latest_release(self) -> Optional[CachedRelease]: