Skip to content

Parser rejects spaced dates from completion #343

Description

@uNyanda
  • Date: 2026-07-07
  • Severity: Low
  • Environment:
    • OS: Linux
    • WM: Niri
    • Compositor: Wayland
  • Software version: 2.10.0

Description

The date-completion popup (offering @today, @tomorrow, @yesterday) only appears when the user types a space after due: (i.e, due: ).

After selecting an option, the resulting task looks like this (space preserved):

due: YYYY-MM-DD

However, the Tasks Calendar and Kanban views only recognise due dates in the following formats:

  • due:YYYY-MM-DD (no space, ISO date) - works

They fail to recognise:

  • due: YYYY-MM-DD (with space) - treated as plain text, placed in Today
  • due:@tomorrow (no space, but with @ keyword) - placed in Today

The core conflict:
Users must type a space to invoke the completion popup, but must manually delete that space afterward for the date to be parsed correctly - creating a broken, inconsistent workflow.

Steps to reproduce

  1. Create a task and type due: (with space) to trigger the popup.
  2. Select a date (e.g., @tomorrow) -> results in due: YYYY-MM-DD.
  3. Open Tasks with :tasks, press 2 to view the calendar, press 3 for kanban view and observe.

Actual Behaviour

  • due: YYYY-MM-DD (spaced) -> not parsed; stays in Today column.
  • due:@tomorrow -> not parsed; stays in Today column.
  • due:YYYY-MM-DD (no space) -> parsed correctly; appears on the correct calendar date/kanban column.

Expected Behaviour

One of the following fixes would resolve the inconsistency:

  • Option A (trigger-side): Make the completion popup trigger without requiring a space - e.g., show suggestions immediately after due: or when due:@ is typed - so the final output naturally becomes due:YYYY-MM-DD or due:@tomorrow without a manual cleanup.
  • Option B (parser-side): Make the parser accept all common variations, including due: YYYY-MM-DD (with space), due:@tomorrow and due: @tomorrow, so the existing completion workflow works out of the box.

Either change would eliminate the need for users to manually remove the space after every date insertion.

Screenshots

Case Result
Kanban view - due: YYYY-MM-DD kanban.png
Calendar view - due: YYYY-MM-DD calendar.png

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions