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

Dismissing "next repetition" mess with which is the current repetition #59

Open
um1642 opened this issue Sep 28, 2021 · 3 comments
Open

Comments

@um1642
Copy link

um1642 commented Sep 28, 2021

version: 0.4

Let's say we have a queue like:

Link Priority Notes Interval Next Rep
[[IW-test 3]] 20 1 2021-09-28
[[IW-test 2]] 24 1 2021-09-28
[[IW-test 1]] 34 1 2021-09-28
[[IW-test 4]] 12 1 2021-09-28

The display bar shows "Rep: IW-test 4"

by the way, the ordering is strange (and undesirable) to me they where queued as 1, 2, 3, 4 but priority lead to 4, 3, 2, 1 i.e. latest queued is scheduled first. This is a LIFO queue and I would expect the reverse i.e. a FIFO queue. Is there a way to change this through configuration ?

Now Invoke "Next Repetition" but cancel it (with ESC). This lead to this queue:

Link Priority Notes Interval Next Rep
[[IW-test 3]] 24.98 1 2021-09-28
[[IW-test 2]] 49.95 1 2021-09-28
[[IW-test 1]] 74.93 1 2021-09-28
[[IW-test 4]] 99.9 1 2021-09-28

Notice that priority changed even so the operation has been canceled.
Also is it expected to have decimal on the priority ?
The display bar still shows "Rep: IW-test 4"

Finally invoke "Dismiss Current Repetition". This lead to this queue:

Link Priority Notes Interval Next Rep
[[IW-test 2]] 49.95 1 2021-09-28
[[IW-test 1]] 74.93 1 2021-09-28
[[IW-test 4]] 99.9 1 2021-09-28

notice that "IW-test 3" has been removed instead of "IW-test 4"
The display bar shows "Rep: IW-test 4" (which is indeed the result of the wrong removal)

@bjsi
Copy link
Owner

bjsi commented Sep 28, 2021

The strange ordering is stemming from the counterintuitive priority system I think. I recently added this explanation to the README:

"Important! Priorities

Confusingly, low priority numbers correspond to high priorities! That means your daily queue of repetitions will be sorted from lowest priority number (most important) to highest priority number (least important). This is because this is the way priorities work in SuperMemo and having used it for a couple years I just got used to thinking about it like that. I didn't realise how confusing this could be until someone mentioned it in an issue. Apologies for any confusion!"

I should probably add an option to reverse this because it is exactly the opposite of what non-SuperMemo users expect.

Edit: "Now Invoke "Next Repetition" but cancel it (with ESC). This lead to this queue" I will investigate this and get back to you soon.

@um1642
Copy link
Author

um1642 commented Sep 28, 2021

I'm sorry there is a misunderstanding here so let me try to be more clear.

There is nothing to be confused about. When speaking about priorities it is the expected numbering to have the lowest number as highest priority (first to be processed) and highest number as lowest priority (last to be processed), this is not a supermemo specific thing at all. This is like when saying "our priority number 1 is..." which means "the most important/urgent is...". Every priority/task/todo related app works that way. So the numbering is actually perfectly correct.

In fact this should only be confusing to people that are not used to the concept of priority because they may think high number = high priority. But by definition priority is the *order of importance which means the most important item should be first in order and so get the first priority number which is 1.

The issue here is not the numbering but the fact that queueing an item put it as the most important/urgent before other already queued.
let me give you an example:
If we add 3 items: A then B then C for the same day the result will be that C will be reviewed before B and B before A so C then B then A but we would expect to have the review in the same order as their insertion A, B, C.

That means that there is no need to change the numbering, we can just queue new item at the end of the queue instead of the start.
I would quess that now you somewhat have to increase the priority of every item to insert a lower priority number in front but you just have to push items with a priority above all other items that are already queued for the same day (i.e. find the max of the day and add 1).

rem: The same should be true when reviewing and rescheduling all items for let's say tomorrow we would expect to review all items tomorrow in the same order otherwise it means that items order is reversed with every review.

I hope this will clarify the topic...

@bjsi
Copy link
Owner

bjsi commented Oct 2, 2021

"Now Invoke "Next Repetition" but cancel it (with ESC). This lead to this queue"

I had time to look at this today and realized the problem. The next repetition and schedule command executes next repetition and then opens a modal to edit the scheduling data, so even if you hit escape it still changes the row because it executed next repetition. You could use the edit current rep data command instead which you could use to schedule the next repetition without effecting the data if you hit cancel.

I will try to get back to you on your latest comment soon.

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

No branches or pull requests

2 participants