Anki 25.06 Beta

No, and tbh it feels like a monkey patch rather than a well thought-out solution.

If there are other issues then yes. If this is the only problem, then I see it as a valid solution.

sum(log(S)*R) or sum(R*(S)^x); 0<x<1.
It would make S less aggressive.

Yeah, but then it lacks a clear interpretation. sum(S*R) can be interpreted as “sum of stabilities of your memories, adjusted for the fact that you won’t recall 100% of cards”.

1 Like

Is this a branch / fork of Anki that I can build, so that you’ve got another data source?

Right now, nope. You can ask @A_Blokee, but I think it’s better to wait for Dae’s approval

Agreed. Once you decide to create a branch, feel free to ping me (or send a private message).

Here:

I still think a cap is cleaner solution than using logs and stuff. It’s also easy to interpret, e.g. if 1 year is the max for S, we basically assume every card with more than a year stability to be equal.

Ok, but then we still need to test average R over 365 days. If we want a significant number of people to try all 3 options, a dropdown menu in Anki itself is the only option.

I never said don’t do that. I thought they just wanted the S*R branch?

I thought Expertium and you needed some more beta testers for some fsrs related features.

Do I understand this correctly that this branch isn’t the thing you two need more data on?

I want to test 3 things outlined here: Anki 25.06 Beta - #39 by Expertium

This branch doesn’t have all 3, and also, if we want more people to participate, we need something convenient, aka a direct integration into Anki.

Let’s just wait for Dae.

I only thought you wanted the S*R branch to test on your personal decks. If you want the branch for

sum(average R over the next 365 days). This is better because it takes into account how slowly R decays

You can find it here: (For 50 years).

On an unrelated note could this be somehow split into a “Save CMRR” thread I think its cluttering the beta.

2 Likes

I have no objections to you shipping experimental code in a beta or even a stable release, as long as it’s clearly indicated as such, and sufficiently hidden away that it won’t cause confusion for the average user, or generate a bunch of questions.

3 Likes

Considering dae gave his okay regarding that feature, I’m going to wait until there’s a PR an give you the values once I built and ran said PR.

That would make it a bit easier for me.

Hi, this version of Anki breaks AnkiConnect’s deck selection when adding new cards.

The aqt.mw.requireReset() function causes the deck id of un-added notes to be reset.

Example code for an addon’s __init__.py to replicate this issue (load up Anki and click the Run the bug menu button):

import aqt
from aqt.qt import (QAction)
import anki

def setup():
    def the_bug():
        collection = aqt.mw.col
        model = collection.models.by_name("Basic")
        deck = collection.decks.by_name("Default")
        ankiNote = anki.notes.Note(collection, model)

        ankiNote.note_type()['did'] = deck['id']
        print("Input Deckid: ", deck['id'])
        print("Note Deckid: ", ankiNote.note_type()['did'])

        aqt.mw.requireReset()
        
        print("Note Deckid after reset: ", ankiNote.note_type()['did'])

    menuAction = QAction("Run the bug", aqt.mw, triggered=the_bug)
    aqt.mw.form.menuTools.addSeparator()
    aqt.mw.form.menuTools.addAction(menuAction)

if __name__ != "__main__":
    setup()

Example output (sometimes it resets to an existing deck instead of None):

Input Deckid:  1749758880110
Note Deckid:  1749758880110
...
requireReset() is obsolete; please use CollectionOp()
Note Deckid after reset:  None
1 Like

See Clear notetypes cache on import by abdnh ¡ Pull Request #3969 ¡ ankitects/anki ¡ GitHub

The notetype cache is cleared and the deck id is set to None as it was refetched from the backend after the call to requireReset

Perhaps an easy fix would be to move ankiconnect’s call to startEditing to the top of addNote?

2 Likes

Perhaps an easy fix would be to move ankiconnect’s call to startEditing to the top of addNote?

This seems to work fine. I’ll send a patch with this change to foosoft.

  1. I noticed the stability of the card is low. So it’s intended because the Retrievability in the Card Info box uses the elapsed seconds to calculate R, which is more accurate.
  2. I will try to reproduce it.
  3. The 1.4 months interval is the gap between 2025-04-24 and 2025-06-07. It’s correct and irrelevant to the interval above the answer button card which is the next interval when you press the button.

Edit: I cannot reproduce the second problem. Could you send me a backup file and the steps to reproduce this problem?

My guess: the due of your learning card in filtered deck is a large negative number, but I don’t know why.

Edit: Fine, I find more bugs😅

This one I can fix:

But this one I cannot:

3 Likes