feat(update-modal): display last 5 release notes instead of single

- Modified backend to fetch last 5 releases from GitHub API
- Updated frontend to iterate through and display multiple releases
- Added latest badge and publish date styling
- Added update.latestBadge translation key to all locales
- Maintains backward compatibility for single changelog display
This commit is contained in:
Will Miao
2026-01-23 22:19:43 +08:00
parent 0bb75fdf77
commit 7bba24c19f
15 changed files with 180 additions and 52 deletions

View File

@@ -24,11 +24,12 @@ async def test_get_remote_version_offline_logs_without_traceback(monkeypatch, ca
caplog.set_level(logging.WARNING)
monkeypatch.setattr(update_routes, "get_downloader", lambda: _stub_downloader(OfflineDownloader()))
version, changelog = await update_routes.UpdateRoutes._get_remote_version()
version, changelog, releases = await update_routes.UpdateRoutes._get_remote_version()
assert version == "v0.0.0"
assert changelog == []
assert "Failed to fetch GitHub release" in caplog.text
assert releases == []
assert "Failed to fetch GitHub releases" in caplog.text
assert "Cannot connect to host" in caplog.text
assert "Traceback" not in caplog.text
@@ -38,10 +39,11 @@ async def test_get_remote_version_network_error_logs_warning(monkeypatch, caplog
caplog.set_level(logging.WARNING)
monkeypatch.setattr(update_routes, "get_downloader", lambda: _stub_downloader(RaisingDownloader()))
version, changelog = await update_routes.UpdateRoutes._get_remote_version()
version, changelog, releases = await update_routes.UpdateRoutes._get_remote_version()
assert version == "v0.0.0"
assert changelog == []
assert releases == []
assert "Unable to reach GitHub for release info" in caplog.text
assert "Traceback" not in caplog.text