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
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

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