open-spaced-repetition / fsrs4anki-helper

An Anki add-on that supports Postpone & Advance & Load Balance & Easy Days & Disperse Siblings & Flatten
https://ankiweb.net/shared/info/759844606
MIT License
213 stars 17 forks source link

In Anki 24.11+, the add-on should use the easy days configuration from the deck options. #489

Open user1823 opened 1 week ago

user1823 commented 1 week ago

The add-on and Anki have their own Easy Days settings, which can be confusing if the user sets different Easy Days in the add-on and in Anki.

So, in Anki 24.11+, the add-on should not have its own settings for Easy Days. It should use the setting in the Deck Options.

L-M-Sherlock commented 1 week ago

Unfortunately, the easy days feature of Anki is preset-level, but the one of FSRS Helper is collection-level. So the configurations of them are incompatible.

user1823 commented 1 week ago

Assuming that the add-on also worked on a preset-level basis, would it be possible to implement this?

In other words, do we need to make any changes in the Anki before this becomes possible?

I am asking this because we can make changes in the add-on any time but if some changes are needed in Anki, we need to do them soon.

L-M-Sherlock commented 1 week ago

Assuming that the add-on also worked on a preset-level basis, would it be possible to implement this?

It's possible in theory. But it's very complex. I have to refactor the module of load balance:

https://github.com/open-spaced-repetition/fsrs4anki-helper/blob/cb34becc17235db6f3c5dabe0b2fc3f564100777/schedule/reschedule.py#L49-L77

https://github.com/open-spaced-repetition/fsrs4anki-helper/blob/cb34becc17235db6f3c5dabe0b2fc3f564100777/schedule/reschedule.py#L146-L153

https://github.com/open-spaced-repetition/fsrs4anki-helper/blob/cb34becc17235db6f3c5dabe0b2fc3f564100777/schedule/reschedule.py#L383-L392

The due_cnt_per_day is global in current implementation. I need to refactor it to preset-level. However, I cannot fetch preset id directly from the database via SQL.

user1823 commented 1 week ago

However, I cannot fetch preset id directly from the database via SQL.

So, does that require a change in Anki? If so, we may need to do it before the release.

L-M-Sherlock commented 1 week ago

Maybe it doesn't need any changes in Anki. I have an idea, but need time to implement.

user1823 commented 1 week ago

If no changes are required in Anki, don't feel any pressure. Take your time.