Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assigned memory state after 'set due date'+optimize incorrect #2998

Open
dae opened this issue Feb 9, 2024 · 8 comments · May be fixed by #3025
Open

Assigned memory state after 'set due date'+optimize incorrect #2998

dae opened this issue Feb 9, 2024 · 8 comments · May be fixed by #3025
Labels

Comments

@dae
Copy link
Member

dae commented Feb 9, 2024

If the user uses an interval like '0!' to set a card's due date, then optimizes the deck to assign new memory state, the card will receive the wrong stability.

Reported on https://forums.ankiweb.net/t/old-reviews-before-forget-used-in-fsrs-optimisation/40819/17?u=dae

@dae dae added the FSRS label Feb 9, 2024
@dae dae changed the title Assigned memory state after 'set due date+optimize' incorrect Assigned memory state after 'set due date'+optimize incorrect Feb 9, 2024
@abdnh
Copy link
Contributor

abdnh commented Feb 21, 2024

Is this still valid after #3002 (comment)?

@dae
Copy link
Member Author

dae commented Feb 22, 2024

I think so, yes. Pick a card with a long interval, use 'set due date' to give it '0!', and then make a minor change to the FSRS weights and save. The card has an interval of 1 day but a stability of the interval before 'set due date'.

@abdnh abdnh linked a pull request Feb 24, 2024 that will close this issue
@L-M-Sherlock
Copy link
Contributor

The card has an interval of 1 day but a stability of the interval before 'set due date'.

Is it expected? The set due date shouldn't change the stability.

@L-M-Sherlock
Copy link
Contributor

My test result after 2b890b0

image image

@user1823
Copy link
Contributor

Is it expected? The set due date shouldn't change the stability.

The key thing here is "!", which means that the user wants Anki to change the interval.

If the user enters "0!", it means that they want to review the card today and decrease its interval to 1 day. In this case, my assumption would be that they forgot the card before it was due and thus, they wanted to decrease its interval so that they can learn it again. In other words, I would assume that this entry is equivalent to an "Again" entry.

But, there may be other possible use cases. Thoughts?

I would also like to add that distinguishing this entry from the entry added by "Reschedule cards on change" seems to be impossible. So, dealing with this case is going to be difficult.

@L-M-Sherlock
Copy link
Contributor

L-M-Sherlock commented May 17, 2024

Fine. I just hope they can press Forget instead of set due date. Or I hope we can introduce a new type of manual rescheduling:

https://supermemopedia.com/wiki/Ctrl%2BJ_vs._Ctrl%2BShift%2BR

They can press something like Review Now and then rate again.

@dae
Copy link
Member Author

dae commented May 28, 2024

Using a separate revlog entry to distinguish them is an option in the future, as is some action that will review a card from the browse screen. The latter will likely take some work, as the reviewing process is currently connected to the current review screen state.

@user1823
Copy link
Contributor

user1823 commented Jun 5, 2024

Using a separate revlog entry to distinguish them is an option in the future

If this is planned, I think that doing this as early as possible would lead to the maximum benefit (by preventing the accumulation of "ambiguous" revlog entries in users' collections).

Anyway, creating a separate revlog entry should not be a difficult task apart from deciding how exactly to distinguish them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants