From b2bb85b1a28ee30512beba066a863031fc004157 Mon Sep 17 00:00:00 2001 From: matbe766 Date: Thu, 2 Oct 2025 11:59:09 +0200 Subject: [PATCH 1/4] Avoid QProgressBar overflow by normalizing to kilobytes (fixes #4341) (#4354) * qt: normalize large progress totals to kilobytes to avoid QProgressBar overflow (#4341); docs: update CONTRIBUTORS * update * revert: keep ProgressManager generic; no autoscaling in progress.py * revert: keep ProgressManager generic; do scaling only in full sync * Simplify sync progress update by scaling to KB, fix CONTRIBUTORS --- CONTRIBUTORS | 2 ++ qt/aqt/sync.py | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index a6334b0d9..c66588274 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -247,6 +247,8 @@ Hanna Nilsén Elias Johansson Lara Toby Penner Danilo Spillebeen +Matbe766 + ******************** diff --git a/qt/aqt/sync.py b/qt/aqt/sync.py index 9b29ada20..75bdeca89 100644 --- a/qt/aqt/sync.py +++ b/qt/aqt/sync.py @@ -209,11 +209,20 @@ def on_full_sync_timer(mw: aqt.main.AnkiQt, label: str) -> None: return sync_progress = progress.full_sync + # If we've reached total, show the "checking" label if sync_progress.transferred == sync_progress.total: label = tr.sync_checking() + + total = sync_progress.total + transferred = sync_progress.transferred + + # Scale both to kilobytes with floor division + max_for_bar = total // 1024 + value_for_bar = transferred // 1024 + mw.progress.update( - value=sync_progress.transferred, - max=sync_progress.total, + value=value_for_bar, + max=max_for_bar, process=False, label=label, ) From 969c2b43b52ff7ceaf83b494b1d772d1c3f1b037 Mon Sep 17 00:00:00 2001 From: GithubAnon0000 <160563432+GithubAnon0000@users.noreply.github.com> Date: Thu, 2 Oct 2025 10:00:09 +0000 Subject: [PATCH 2/4] CHANGE launcher strings to clarify installing for novices (#4327) * CHANGE strings to clarify for novices * Update launcher.ftl including suggestions from @dae --- ftl/core/launcher.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ftl/core/launcher.ftl b/ftl/core/launcher.ftl index 13d419a0c..46a08df5a 100644 --- a/ftl/core/launcher.ftl +++ b/ftl/core/launcher.ftl @@ -1,9 +1,9 @@ launcher-title = Anki Launcher -launcher-press-enter-to-start = Press enter to start Anki. +launcher-press-enter-to-start = Press the Enter/Return key on your keyboard to install or update Anki. launcher-anki-will-start-shortly = Anki will start shortly. launcher-you-can-close-this-window = You can close this window. launcher-updating-anki = Updating Anki... -launcher-latest-anki = Latest Anki (just press Enter) +launcher-latest-anki = Install Latest Anki (default) launcher-choose-a-version = Choose a version launcher-sync-project-changes = Sync project changes launcher-keep-existing-version = Keep existing version ({ $current }) From 1ba4512011af1b0e1d1fa404d53d15defe20ffbf Mon Sep 17 00:00:00 2001 From: user1823 <92206575+user1823@users.noreply.github.com> Date: Thu, 2 Oct 2025 20:20:44 +0530 Subject: [PATCH 3/4] Fix launcher strings (#4375) * Fix launcher strings * Add prompt to press enter for installation * Prompt should appear after ensuring that the OS is supported --- ftl/core/launcher.ftl | 5 +++-- qt/launcher/src/main.rs | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ftl/core/launcher.ftl b/ftl/core/launcher.ftl index 46a08df5a..ee3aa6320 100644 --- a/ftl/core/launcher.ftl +++ b/ftl/core/launcher.ftl @@ -1,5 +1,6 @@ launcher-title = Anki Launcher -launcher-press-enter-to-start = Press the Enter/Return key on your keyboard to install or update Anki. +launcher-press-enter-to-install = Press the Enter/Return key on your keyboard to install or update Anki. +launcher-press-enter-to-start = Press enter to start Anki. launcher-anki-will-start-shortly = Anki will start shortly. launcher-you-can-close-this-window = You can close this window. launcher-updating-anki = Updating Anki... @@ -13,7 +14,7 @@ launcher-on = on launcher-off = off launcher-cache-downloads = Cache downloads: { $state } launcher-download-mirror = Download mirror: { $state } -launcher-uninstall = Uninstall +launcher-uninstall = Uninstall Anki launcher-invalid-input = Invalid input. Please try again. launcher-latest-releases = Latest releases: { $releases } launcher-enter-the-version-you-want = Enter the version you want to install: diff --git a/qt/launcher/src/main.rs b/qt/launcher/src/main.rs index cdfc54d8c..26fbe86a7 100644 --- a/qt/launcher/src/main.rs +++ b/qt/launcher/src/main.rs @@ -173,6 +173,8 @@ fn run() -> Result<()> { ensure_os_supported()?; + println!("{}\n", state.tr.launcher_press_enter_to_install()); + check_versions(&mut state); main_menu_loop(&state)?; From 1f9d943c8d33020301d449af3070f95617faf734 Mon Sep 17 00:00:00 2001 From: AmandaSternberg-creator Date: Thu, 2 Oct 2025 16:52:49 +0200 Subject: [PATCH 4/4] Localize FSRS error message and update contributors (#4342) Co-authored-by: Amanda Sternberg --- CONTRIBUTORS | 1 + ftl/core/deck-config.ftl | 2 +- rslib/src/scheduler/fsrs/error.rs | 8 +------- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index c66588274..7d44671ca 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -248,6 +248,7 @@ Elias Johansson Lara Toby Penner Danilo Spillebeen Matbe766 +Amanda Sternberg ******************** diff --git a/ftl/core/deck-config.ftl b/ftl/core/deck-config.ftl index 1e193dc04..4930dbe0e 100644 --- a/ftl/core/deck-config.ftl +++ b/ftl/core/deck-config.ftl @@ -382,7 +382,7 @@ deck-config-which-deck = Which deck would you like to display options for? ## Messages related to the FSRS scheduler deck-config-updating-cards = Updating cards: { $current_cards_count }/{ $total_cards_count }... -deck-config-invalid-parameters = The provided FSRS parameters are invalid. Leave them blank to use the default parameters. +deck-config-invalid-parameters = The provided FSRS parameters are invalid. Leave them blank to use the default values. deck-config-not-enough-history = Insufficient review history to perform this operation. deck-config-must-have-400-reviews = { $count -> diff --git a/rslib/src/scheduler/fsrs/error.rs b/rslib/src/scheduler/fsrs/error.rs index d5b596a36..404ee3605 100644 --- a/rslib/src/scheduler/fsrs/error.rs +++ b/rslib/src/scheduler/fsrs/error.rs @@ -13,13 +13,7 @@ impl From for AnkiError { FSRSError::OptimalNotFound => AnkiError::FsrsUnableToDetermineDesiredRetention, FSRSError::Interrupted => AnkiError::Interrupted, FSRSError::InvalidParameters => AnkiError::FsrsParamsInvalid, - FSRSError::InvalidInput => AnkiError::InvalidInput { - source: InvalidInputError { - message: "invalid params provided".to_string(), - source: None, - backtrace: None, - }, - }, + FSRSError::InvalidInput => AnkiError::FsrsParamsInvalid, FSRSError::InvalidDeckSize => AnkiError::InvalidInput { source: InvalidInputError { message: "no cards to simulate".to_string(),