obsidian-tasks: Postpone button changes "wrong" date when multiple dates are set
Please check that this issue hasn’t been reported before.
- I searched previous Bug Reports didn’t find any similar reports.
Expected Behavior
- I have a task with a start date on or before today and a due date after today
- I have a tasks view with
happens on or before today - I click postpone on that task
- It changes the due date
Current behaviour
- I have a task with a start date on or before today and a due date after today
- I have a tasks view with
happens on or before today - I click postpone on that task
- It changes the start date
Steps to reproduce
mentioned above.
Which Operating Systems are you using?
- Android
- iPhone/iPad
- Linux
- macOS
- Windows
Obsidian Version
1.5.3
Tasks Plugin Version
5.5.0
Checks
- I have tried it with all other plugins disabled and the error still occurs
Possible solution
there’s perhaps some matter of debate as to if this is really a bug or not. Is there a full specification for what the postpone button does?
But – when I have only a start date, it changes that. When I have only a due date, it changes that. I don’t think the button necessarily needs to be aware of the context of the view, but perhaps if the due date is after today it should check to see if there are other dates on or before today and change those.
About this issue
- Original URL
- State: closed
- Created 6 months ago
- Comments: 21
I’d like to apologize for the grumpiness in my earlier posts.
I use Obsidian primarily on my iPad, which doesn’t offer hover state tooltips, and contextual pop-up menus are a bit … unnatural. Indeed, when attempting to long-press on either the postpone or edit task button on the iPad, it just selects the text instead. Those affordances aren’t really available everywhere Obsidian runs.
I rarely use due dates, but when I do, they are for external factors; I realize other people may not use them this way. I had previously used the postpone button to change start dates as a “get this out of my face” as @aubreyz mentions, and had assumed this button would follow the logic of “happens date”, updating the earliest of the dates present on the task. I spend a lot of time thinking about mistake-proofing in UI design, and had not considered that any other behavior would be desirable.
I missed a deadline because I made a mistake. I have ADHD and have learned the hard way that tools not designed for people with this condition are difficult to trust fully, which is what drove me into building my own system with Obsidian and this plugin to begin with. It’s been revolutionary for me. I felt betrayed by my system for the first time, and I’m sorry I posted a complaint about the behavior that, to me, sounds rash, impulsive, and grouchy; it does not reflect who I strive to be.
I’d be happy to take on filing a separate bug-fix request ticket. Either way, I see some challenges:
With the route of having separate buttons, there is both logic needed to display only the buttons necessary given the dates specified on a task, but a challenge of icons and spacing
The route of having a single button act contextually runs the risk of betraying someone’s expectations, as with what led to this ticket being created to begin with.
I’ve read your message several times @mattly…
It has lots of good points. I believe that I understand your concerns, but right now I don’t see any value in creating separate tickets about the postpone button, as there is simply no consensus on what it should do.
I may well later make its behaviour more flexible, but right now all my bandwidth is going on managing recent and current pull-requests.
The postpone facility is great!! However I do agree that when there is both a start and a due date, it is a tad unexpected to operate on the due date. That is not I think what most people would expect, but maybe I am wrong. Postpone means “get this out of my face” - which if there is both a start & due date, is the precise purpose “start” exists. Postponing the critical deadline while keeping it in your face exactly as before is not at all intuitive or useful, at least to me. It means “I don’t want to think about this now”. Perhaps there could be a toggle indicating what the user wants it to mean globally.
That’s a shame, as in addition to the behaviour all being documented, there are tooltips to show which field is edited, and the new date value.
In case it helps save your time when adopting future Tasks releases:
I decided to release the Postpone function as it is, knowing that it would be useful to many - but not all - users, and knowing that it will be updated in future. From the very positive feedback so far, I’m comfortable with this decision.
We did think a lot about the priority order of date fields in Postpone. However, I know from doing user support on Tasks that people have very personal opinions about what is the “right” meaning of the various date fields…
Rather than making Postpone more complex to maintain by making it customisable, my intention is in future to streamline the editing of values on other date fields.
It’s not firmly decided, but my current thinking is to enable right-clicking on the emojis for each of the date fields, and pop up the same kind of menu that is currently shown by Postpone button.