-
-
Notifications
You must be signed in to change notification settings - Fork 291
Description
⚠️ Check request is valid.
- My request is about the Tasks plugin for Obsidian.
- I am only requesting a single feature in the Tasks plugin. Multiple changes should be split into individual requests, with links between them.
- I believe my requested feature will be generally applicable to other Tasks plugin users, not just me: it is not uniquely tied to my personal workflow.
⚠️ Please check that this feature request hasn't been suggested before.
- I searched previous Tasks plugin Ideas in Discussions didn't find any similar feature requests.
- I searched previous Tasks plugin Issues didn't find any similar feature requests.
🔖 Feature description
Context
All my tasks have a scheduled date (I use the "use filename as scheduled date" function), but only the few tasks with a hard deadline have a due date. My dashboard shows tasks based on the earlier between due and scheduled dates.
Problem
When tasks have a due date, clicking "postpone" only updates the due date. This is the opposite of what I want: the due date is usually some hard deadline that does not change, while scheduled is what I use to decide what I work on every day. This issue forces me to have manually fix the incorrectly adjusted due date and change scheduled date. So I end up not using the postpone button much for this reason.
✔️ Solution
Current logic
- Due date, if present.
- Scheduled date
- if no Due date is present.
- Start date
- If no Due or Scheduled date is present.
Proposed new logic
When both due and scheduled date exist, the proposal is to update the earliest date, making sure that scheduled is always <= due (which makes sense). So sometimes both will be adjusted.
if (due && !scheduled): due = new_date
else if (!due && scheduled): scheduled = new_date
else if (due && scheduled):
if (due <= scheduled):
due = new_date
scheduled = min(scheduled, new_date)
else: scheduled = min(due, new_date)
else:
start = new_date
❓ Alternatives
No response
📝 Additional Context
No response