Due-date notifications for Deck cards are triggered at the wrong time
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.4k
- Forks
- 354
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 43
Description
How to use GitHub
- Please use the 👍 reaction to show that you are affected by the same issue.
- Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
- Subscribe to receive notifications on status change and new comments.
Describe the bug
Due-date notifications for Deck cards are triggered at the wrong time:
- In summer (Europe/Berlin, CEST, UTC+2): the notification fires exactly 2 hours too early.
- In winter (Europe/Berlin, CET, UTC+1): the notification fires exactly 1 hour too early.
- The offset changes precisely at the DST transition, confirming this is a UTC-offset-related issue.
Crucially, everything else that deals with the same due date works correctly:
- The due date/time is displayed correctly on the card in the user's local time.
- The "time remaining until due" value is calculated and shown correctly.
This particularly affects managed Nextcloud instances that intentionally keep the server in UTC because they host users across many timezones — e.g. Hetzner Storage Share (the environment in which I observe the bug).The hosting provider explicitly confirmed that they keep the server timezone at UTC by design and consider this a Deck bug, not a server-configuration issue.
To Reproduce
Steps:
- Open the Deck app.
- Create a new card on any board.
- Set a due date/time roughly 10 minutes in the future in your local timezone.
- Wait for the notification.
Expected behavior
The due-date notification is delivered at the configured local due time — the same time that is shown on the card itself.
Actual behavior
The notification is delivered earlier than the configured due time, offset by exactly the user's current UTC offset:
- 2 hours early during CEST (UTC+2)
- 1 hour early during CET (UTC+1)
Screenshots
Not applicable — this is a timing bug; the visual representation of the due date on the card is correct.
Client details:
- OS: Windows 11 / Android 16
- Browser: Edge + Chrome + Firefox
Operating system: Managed hosting (Hetzner Storage Share) — no shell access available to the customer.
Nextcloud version: Nextcloud Hub 25 Autumn(32.0.6)
Deck-App version: 1.16.4
Possibly related: https://github.com/nextcloud/deck/issues/4764
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the notification timing in the Deck app with a due date set about 10 minutes ahead, comparing it with the time displayed on the card. Trace the due-date notification scheduling path and compare its timezone handling with the working due-date display and time-remaining calculation; done means delivery occurs at the configured local due time across CEST and CET.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100