-
-
Notifications
You must be signed in to change notification settings - Fork 115
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
Broken non-strict recurrence #611
Comments
@amariusz I'm not on a computer right now. Does this happen also with due dates? |
I've done some more testing. It seems non-strict recurrence is only broken for todos with t: and without due: Some more examples: t: and due:input
Expected Behavior
Actual Behavior
wrong creation date only due:input
Expected Behavior
Actual Behavior
wrong creation date |
@stephprobst I am currently afk. Do you have an idea, what could be causing this? |
It was a relativelly simple bug, both in the code and the tests. I created a PR to fix it. (The PR does not contain a fix for the creation dates though. Maybe @ransome1 you can have a look at that once you're back.) |
Will check it and give you some feedback. Thanks for taking care of it! |
@amariusz I just checked @stephprobst PR and it fixes this issue. I will include it in 2.0.3. Thanks for reporting it. |
Thanks! |
@amariusz 2.0.3 has been released and contains the fix. Please feel free to close here, if you can confirm the fix. |
How about fix to "wrong creation date" issue? Is it also included in this build? |
@amariusz why do you expect the threshold date of the newly created non-strict recurrence of one month to be |
@amariusz can you also please check if this pre-release solves the issue? https://github.com/ransome1/sleek/releases/tag/v2.0.4-rc.1 |
Well, that's how It's meant to preserve information about time window between the moment task becomes visible and is due. If you set both to the same date this information would be lost. |
Works great with the single exception of the case you mentioned which is now broken.
should be:
|
After giving it some more thought, I think I know where the confusion might come from. mpcjanssen/simpletask-android#312 (comment) Simpletask behaviour was always unclear to me. I wonder what reasoning led you to this other solution. Thanks |
You mean the solution where the added days are calculated as the difference of To be honest, I don't know. This solution was contributed by @zerodat a long time ago. When I rewrote sleek I basically recreated his logic. And probably broke it now ;) I simply assumed this is how this feature is working in other apps. I myself have never used the the feature. Not because I don't like it, but because it's not relevant in my workflow. Which probably explains why I'm having issues wrapping my head around how it does work and how it should work. I am open for a discussion about how the recurrence feature should work. |
No, there's a misunderstanding here. Let me explain. In In your latest build
I'm not questioning the logic or wiki page. In fact I've even contributed that very page on your request 🤣:
Could you just try to fix this case?
That would completely solve this issue 😃 |
@amariusz can you send me an example for each case we need to cover? I can then share the results without. This might be easier than building another pre-release. |
I've already did that in my first two messages in this thread. Those are all the cases recurrence wise. Before
After
I've made detailed breakdown of all the cases back here: #193 (comment) Thanks, |
Ok good news I guess. I used your cases and was able to create the expected output, of course in a different order:
It will be included in the next pre release, feel free to give it another proper testing. |
Fantastic! |
I've just realized there's one more specific recurrence case - no Before completion
After completion
Personally I'd prefer behaviour without adding I assume this case is useful if you want to have ability to execute the same task multiple times during the day and maintain history of executions. Adding |
Since I have never integrated recurrences into my own personal workflow, I probably don't have a qualified opinion on this. Just by judging it from the distance, it seems quiet like an edge case to me. What you're proposing, @amariusz , is to simply create an exact copy of the todo? @zerodat @stephprobst what are your takes on it? |
@amariusz https://github.com/ransome1/sleek/releases/tag/v2.0.4-rc.2 doesn't do anything about your last post, but it should have included all prior fixes. |
I don't have a strong preference, but a slight tendency towards thee proposal of @amariusz to create the new task without a due date. I don't see why we would need to add a due date if there wasn't one before. The scenario of completing a task multiple times a day and keeping track of how many times and when the task was completed seems reasonable. |
That's almost right - new task should have creation date set to today (which is current behaviour).
I've just tried it. Works great with 6 main cases! |
I've done some comparison testing with IMO there's no benefit to automatically adding If you agree and it's something easy to fix it would be be great to include this change within this issue. But I'm also OK with closing this issue, as I feel the main work is completed. This can serve as a reference information for future purposes. I'll let you decide. What do you think? @ransome1 @stephprobst Before
After in sleek2
After in simpletask
After in topydo
|
I adjusted the logic and this would be the outcome. Can you please review it @amariusz ? Today is 2023-12-19 Case 1
Case 2
Case 3
Case 4
Case 5
|
Some other edge test cases I haven't thought of :) Everything looks fine to me. |
Those adjustments are available in https://github.com/ransome1/sleek/releases/tag/v2.0.4-rc.3 |
That's almost perfect but some issues remain: Before
After
Should be
|
I was under the impression we were just about the Time to wrap this feature up ;) We must not forget to adjust the wiki, once 2.0.4 is published. It won't be accurate any longer. |
I see your point now. I assumed we would choose between simpletask's or topydo's behaviour as described here. I also didn't realize that automatic addition of due date is explicitly documented in the wiki, and actually there may be some users that are accustomed to this behaviour. Also taking under consideration that such task Looks like cherry-picking edge cases from similar todo.txt tools but I hope we will end up with most thoughtful and useful set :) From my perspective Sleek 2.0 already has the best recurrence implementation 💪 So the only issue that remains is that artificial creation date added to completed task: Before
After
|
I agree, unfortunately this can only be solved upstream and there is not much going on recently :/ |
Then it's as good as it gets! 😀 |
Bug Report
App Version: sleek-2.0.3-rc.5 (was present in sleek-2.0.0-dev15)
Platform: Linux
Installation Method: AppImage
Bug Description:
Sleek should determine between strict recurrence (rec:+X) and non-strict recurrence (rec:X). It seems that all cases are treated as strict recurrnce.
https://github.com/ransome1/sleek/wiki/Recurring-todos-(rec:)
Steps to Reproduce:
Enter such tasks and complete them:
Expected Behavior:
Actual Behavior:
Additional Information:
New tasks should have creation date set to
today
, instead old date is reused.The text was updated successfully, but these errors were encountered: