Fix/FSRS progress sometime shows 0 reviews (#3591)

* Fix/FSRS progress sometime shows 0 reviews

* wait for progress_thread

* set 200ms timeout
This commit is contained in:
Jarrett Ye 2024-11-24 18:52:12 +08:00 committed by GitHub
parent 69ac450098
commit 9a013d8601
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 3 additions and 2 deletions

View file

@ -81,7 +81,7 @@ impl Collection {
// adapt the progress handler to our built-in progress handling
let progress = CombinedProgressState::new_shared();
let progress2 = progress.clone();
thread::spawn(move || {
let progress_thread = thread::spawn(move || {
let mut finished = false;
while !finished {
thread::sleep(Duration::from_millis(100));
@ -98,6 +98,7 @@ impl Collection {
}
});
let mut params = FSRS::new(None)?.compute_parameters(items.clone(), Some(progress2))?;
progress_thread.join().ok();
if let Ok(fsrs) = FSRS::new(Some(current_params)) {
let current_rmse = fsrs.evaluate(items.clone(), |_| true)?.rmse_bins;
let optimized_fsrs = FSRS::new(Some(&params))?;

View file

@ -155,7 +155,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
)) ||
resp.params.length === 0
) {
setTimeout(() => alert(tr.deckConfigFsrsParamsOptimal()), 100);
setTimeout(() => alert(tr.deckConfigFsrsParamsOptimal()), 200);
} else {
$config.fsrsParams5 = resp.params;
}