Anki 24.04 beta/RC

There has been a really annoying bug present in Anki for about a year now. When I’m reviewing my cards and press the spacebar to show the answer or go to the next card, the screen doesn’t update. Only when I press the spacebar again (which then skips the current ‘invisible’ review / answer) or move my mouse to another screen element, it updates the screen and shows me the answer / next card.

I’m using the QT6 Apple Silicon build on macOS Sonoma but this bug has also been preset on Ventura (on both my MacBook and my Mac Mini). All stable and beta releases since about a year ago have this bug present. I’ll try to make a screen recording off the issue.

EDIT: I found a post on Reddit of someone having the same issue but I can’t post the link in this post for some reason. The user says changing the video driver fixed the issue for him. I’ll have to test if it also fixes this issue for me.

EDIT 2: here’s another post about this issue: forums.ankiweb .net/t/space-bar-not-working-properly/8641

1 Like

I have about 40000+ cloze cards, so I am pretty nervous about this ngl :sweat_smile:

So far so good.

Now that the new rc is out, I am once again asking for feedback on “Compute optimal retention” and how to make it clear what it does in layman’s terms (see my previous comment).

Bug: it says “Your desired retention is below optimal. Increasing it is recommended.” when the values are equal.

Well here is the first problem
Look at the behavior of c22 in a table (in the editor).

image

I then remove the focus by focusing on another window and the c22 moves away.

Odd behavior 2:

image

When sometimes misclicking and adding an extra space by mistake, clicking Ctrl + Z (Undo), undoes the changes BEFORE this close,

Think I will have to downgrade to the previous RC


Downgraded, now it works just fine as it did before, It is definitely this update. So regarding close deletions did more than harm (I am not sure what the good is) than good, at least in my case.

Bug: optimizing parameters, then resetting them to default and optimizing again results in lower RMSE. To reproduce:

  1. Optimize
  2. Evaluate
  3. Reset to default
  4. Optimize (2)
  5. Evaluate (2)
    The second set of parameters results in lower RMSE. Example:
    image
    I have already reported it to LMSherlock, but I will leave a comment here too, just in case.

Btw, I think it’s counter-intuitive to have SM-2 retention not in “FSRS”, but instead in “Advanced”, since it’s something that is only necessary for FSRS.

Lower RMSE is not always good (remember cheating). Anki 24.04 compares the UM of the old and optimized parameters before updating them.

I am not ruling out a bug. But, I want to highlight that there is a possibility that the first set of parameters are better (in terms of UM) but have a higher RMSE and log loss.

No, Anki compares RMSE using the new, uncheatable definition.

Sorry for missing a key point in my previous comment.

My hypothesis is valid only if you see a “The FSRS parameters currently appear to be optimal.” popup after clicking Optimize in step 1.

Yes, but I wanted to highlight that it is possible that UM suggests that the older parameters are better even though the new parameters have lower RMSE.

It seems to have the same issue as before.

2024-02-04:
Using Simulator v4.12.3, I determined that about the lowest time per remembered card can be achieved with 0.86, to learn 5395 cards in 545 days for 540s/day.
The parameters from the Optimizer were:
1.1325, 1.1562, 5.3816, 19.4573, 5.1459, 1.4759, 0.9091, 0.0542, 1.5270, 0.2114, 0.9703, 2.1669, 0.1246, 0.4450, 0.9464, 0.1052, 2.7488

I have moved many cards around since then, and now the deck contains:
Mature: 4250
Young+Learn: 122
Unseen: 2954
Suspended+Buried: 53

Bug? Half of it is a subdeck with ⁨16180⁩ reviews that was in a backlog I reviewed since, but changing the query does not affect the optimal retention (checked with 365 and 1000).

The parameters are still the same (Anki can’t improve them):
1.1325, 1.1562, 5.3816, 19.4573, 5.1459, 1.4759, 0.9091, 0.0542, 1.5270, 0.2114, 0.9703, 2.1669, 0.1246, 0.4450, 0.9464, 0.1052, 2.7488

days optim
365 0.79
500 0.81
545 0.83
560 0.83
561 0.79
562 0.78
563 0.80
564 0.79
565 0.79
567 0.78
571 0.77
600 0.79
650 0.79
730 0.80
1000 0.80
1095 0.81
1200 0.83
1300 0.82
1400 0.81
1500 0.82
1750 0.83
1900 0.83
2000 0.83
2500 0.84
2550 0.84
2575 0.83
2583 0.83
2591 0.84
2595 0.83
2597 0.85
2599 0.83
2600 0.87
3000 0.87
3650 ⁨0.87⁩

Bug: sometimes, “Iteration: 6…” (or 5) is still displayed at the end. At least once it was when an automatic backup happened before the end.

Again, Anki doesn’t use the Universal Metric. It just compares RMSE. The Universal Metric is a different thing. You can ask @L.M.Sherlock for details.

Basically, what Anki is doing is very simple: just evaluate two sets of parameters (the same way as “Evaluate”) and pick whichever results in a lower RMSE. The Universal Metric is when predictions of algorithm 1 are put into bins based on predictions of algorithm 2, and vice versa. It’s basically RMSE but it only works if you have two algorithms.
Both our new RMSE (which you can read about here) and UM are uncheatable, but UM is less intuitive and doesn’t have any advantages now that we have a better definition of RMSE.

EDIT: my bad, Anki uses UM. I was sure that LMSherlock changed it. I’ll talk to him about it.

The feature compute optimal retention doesn’t consider the existing backlog. It’s only for long-term learning.

For details, please see:

It does not have a backlog now, I just meant that difficulty may have changed.
Sorry, I can’t think well today.
Long version: it was a backlog during the previous computation (with Simulator), when the subdeck was probably in a different deck, and I reviewed the backlog after I moved the subdeck to that deck. Though that subdeck might still be easier, even if it replaced a subdeck with no backlog.

“Compute optimal retention” doesn’t take into account any of your real cards. The real number of cards/reviews doesn’t affect it, at least not directly.

[Edit: this is too verbose, I edited my previous post to give a simple one-paragraph description, read that instead.]

Following up my previous post, here are the steps to reproduce:

  • This bug occurred with both Anki version 24.04rc2 = b84fce4 and version 23.12.1 (with Qt6, and using Windows 11).
  • On your computer, use a North American time zone that observes Daylight Saving Time.
  • In Tools / Preferences / Review, make note of the hour that is set for “Next day starts at”. By default, this is 4:00 am.
  • Wait until the current time of day is a few minutes before that next-day changeover hour (e.g., 3:58 am).
  • In Stats, look at a deck where the histogram bars in the Reviews section show that you studied normally (i.e., reviewed at least one card) on Sunday, March 10, 2024. That is the date for changing from Standard Time to Daylight Time in 2024, and this change always occurs at 2:00 am.
  • (As I write this, it is March 21, 2024 so it should be easy to locate the right histogram bar from 11 days ago in the Reviews section. But if you are trying to reproduce this at a more distant date in the future, it may be helpful to use the Date Calculation feature of the Calculator app in Windows to calculate the exact number of days between the current date and March 10, 2024.)
  • In Stats, look at the Calendar section and mouseover to the little square that corresponds to Sunday, March 10, 2024: it should be blue, and the mouseover pop-up will show how many reviews were done on that date (it should be non-zero for the deck you chose). As mentioned above, the Reviews section of Stats will also show a normal non-zero histogram bar for that date.

image

  • Wait until a few minutes after the next-day changeover hour (e.g., 4:02 am).
  • Look at Stats again. Now in the Calendar section, the little square that corresponds to Sunday, March 10, 2024 is white, and the mouseover pop-up shows 0 reviews. The Reviews section of Stats still shows a normal non-zero histogram bar for that date.

image

  • You can look at Stats for any other deck where you reviewed at least one card on Sunday, March 10, 2024. The above-mentioned Stats / Calendar anomaly occurs for all decks.
  • In the Calendar section of Stats, change the year to 2023. Interestingly, the little squares for Sunday, March 12, 2023 and Sunday, November 5, 2023 (start and end dates for Daylight Saving Time in 2023) do not show the same anomaly as for Sunday, March 10, 2024: they are normal and blue (assuming you reviewed at least one card of the deck on those dates).
  • In the Calendar section of Stats, you can change the year back to 2024, or close the Stats window, or exit from Anki and restart if you like.
  • At this point I refrained from reviewing any cards. I’m not sure if it was actually necessary to do so in order to reproduce the problem.
  • Wait until a bit less than one hour after the next-day changeover hour (e.g., 4:58 am). Look at Stats again: the Calendar anomaly still persists.
  • Wait until a bit more than one hour after the next-day changeover hour (e.g., 5:02 am). Look at Stats again: now the Calendar anomaly is gone, and the little square for Sunday, March 10, 2024 is back to normal: it’s blue, and the mouseover pop-up shows a non-zero number of reviews.

PS,
Note that the color change from very dark blue squares to lighter blue squares between the two images is associated with the choice of “last 12 months” versus “all history” checkboxes.

Small regression related to cloze deletion: when creating a cloze deletion, the text cursor is placed right after }} instead of inside the cloze.

1 Like

@dae

Can confirm, happened to me as well.

Bug

Reproduction steps:

  • In the “Add” window, add some text to a field.
  • Delete a portion of the text.
  • Bold another part of the text.
  • Click Ctrl + Z.

Outcome:
The bolded text doesn’t get unbolded. Rather, the deleted text reappears.

I know that I can press Ctrl + B again to unbold the text. But, often, I decide to unbold the text when I have already moved the cursor to another part of the text. So, I have to reselect the text in order to use Ctrl + B again.