nextcloud / nextcloud/deck

Deck calendar integration breaks calendar delegation

Open
#8,275 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
JavaScript
Stars
1.4k
Forks
354
Avg merge
1d 10h
Merged PRs (30d)
43

Description

Steps to reproduce
  1. Enable Deck calendar/tasks integration for a user.
  2. The user owns active Deck boards.
  3. Configure calendar delegation between two Nextcloud users.
  4. Open/reload the Calendar app as the user who receives the delegated calendar.
  5. Calendar fails to load the delegated calendars.
  6. DAV debugging shows an error for a Deck-generated calendar node, for example:
    Sabre\DAV\Exception\NotFound
    Node with name 'app-generated--deck--board-105' could not be found
    The referenced Deck board exists and is neither deleted nor archived.
  7. Disable Deck calendar/tasks integration for the affected user.
  8. Reload the Calendar app.

The delegated calendars now load correctly.

The issue is reproducible: enabling the Deck calendar integration causes the problem again; disabling it immediately resolves it.

Expected behavior

Deck calendar integration should not interfere with Calendar delegation.

Existing Deck boards should be correctly exposed as app-generated CalDAV calendar nodes. If a Deck-generated calendar node cannot be resolved, this should not prevent unrelated delegated calendars from being loaded.

Calendar delegation should work regardless of whether Deck calendar/tasks integration is enabled.

Actual behavior

With Deck calendar/tasks integration enabled, Calendar delegation fails and the Calendar app displays:

Delegated calendars could not be loaded.
Make sure the server supports calendar delegation.

The server does support calendar delegation. The delegation itself is correctly stored in oc_dav_cal_proxy, and normal CalDAV requests work.

During the failing request, SabreDAV reports:

<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\NotFound</s:exception>
<s:message>Node with name 'app-generated--deck--board-105' could not be found</s:message>
</d:error>

The referenced Deck board exists in oc_deck_boards, is active, and is not deleted or archived.

Other Deck-generated calendar nodes for the same environment can be accessed successfully.

As soon as Deck calendar/tasks integration is disabled for the affected user, calendar delegation works immediately. Re-enabling the integration reproduces the issue.

Calendar app version

6.5.3

CalDAV-clients used

No response

Browser

No response

Client operating system

No response

Server operating system

No response

Web server

None

Database engine version

None

PHP engine version

None

Nextcloud version

34.0.3

Updated from an older installed version or fresh install

None

List of activated apps

Nextcloud configuration

Web server error log

Log file

Browser log

Additional info

The troubleshooting and analysis of this issue was assisted by AI. All described behavior, reproduction steps, database queries, DAV responses, and test results were verified against the actual Nextcloud environment before submitting this issue.

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 failure with Deck calendar/tasks integration enabled and inspect the DAV response for the missing app-generated--deck--board-105 node during delegated-calendar loading. Compare behavior with the integration disabled; done means existing Deck boards are exposed correctly and an unresolved Deck node no longer prevents unrelated delegated calendars from loading.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.