Skip to content

fix(TaskBody): show due date instead of start date in task list#3190

Merged
raimund-schluessler merged 1 commit into
nextcloud:mainfrom
schulm:fix/3187-taskbody-due-date
Jun 29, 2026
Merged

fix(TaskBody): show due date instead of start date in task list#3190
raimund-schluessler merged 1 commit into
nextcloud:mainfrom
schulm:fix/3187-taskbody-due-date

Conversation

@schulm

@schulm schulm commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Fix: task list shows due date instead of start date (#3187)

Problem

Since the recurring-tasks change (#3021), the task list started showing the start date instead of the due date for tasks that have both set — a regression from 0.17.1 (#3187).

Background

I tried to remember the reasoning behind the original change. As best I can reconstruct it, the idea was to surface some date for tasks that have only a start date (which previously showed nothing) — but the precedence ended up backwards, so the start date was preferred in all cases, hiding the due date whenever both were set.

Thinking it through again: the start date isn't the actionable date in the list, and recurrence doesn't change that — the due date is what matters, and it's also the value the recurrence completion advances (task.due || task.start). Putting a start date in the same unlabeled column as due dates was also the source of the "which date is this?" confusion.

Fix

Revert the date column to its pre-0.18.0 behavior: always show the due date.

  • v-if="task.due || task.completed"
  • overdue highlight based on the due date only
  • dueDateShort / dueDateLong use the due date directly

The recurring indicator icon is unaffected. Start-only tasks show no date text (the long-standing behavior) and still get the existing CalendarClock icon hint.

Testing

  • Verified the three date combinations (start+due → due, due-only → due, start-only → no date) on a running instance.
  • npm run lint, npm run dev, and the unit test suite (vitest) all pass.

Fixes #3187

The recurring tasks change (nextcloud#3021) made the task list prefer the start
date over the due date whenever a start date was set, so a task with
both a start and a due date wrongly showed its start date and hid the
due date (nextcloud#3187).

Revert the date column to its pre-0.18.0 behavior: always show the due
date. The start date is not the actionable date in the list, and showing
it in the same column as the due date - same style, no label - made it
impossible to tell which date was shown. Recurrence does not change this:
the completion handler advances the due date (anchored on
`task.due || task.start`), so the due date is the relevant value for
recurring tasks too. The recurring indicator icon is unaffected.

This also restores correct overdue semantics: a task is overdue based on
its due date only, not its start date.

Fixes nextcloud#3187
@raimund-schluessler

Copy link
Copy Markdown
Member

@schulm Thanks a lot for the comprehensive explanation and for providing the fix!

@raimund-schluessler raimund-schluessler merged commit 198b221 into nextcloud:main Jun 29, 2026
24 of 25 checks passed
@raimund-schluessler raimund-schluessler added this to the 0.18.1 milestone Jun 29, 2026
@github-actions

Copy link
Copy Markdown

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.

Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6

Thank you for contributing to Nextcloud and we hope to hear from you soon!

(If you believe you should not receive this message, you can add yourself to the blocklist.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

regression: TaskBody shows start date instead of due date if start date is set

2 participants