nextcloud / nextcloud/deck

Due-date notifications for Deck cards are triggered at the wrong time

Open
#7,868 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

need to reproduce
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:

  1. Open the Deck app.
  2. Create a new card on any board.
  3. Set a due date/time roughly 10 minutes in the future in your local timezone.
  4. 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
Server details

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.