-
Notifications
You must be signed in to change notification settings - Fork 319
Write access over CalDAV #7655
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Jaggob
wants to merge
36
commits into
nextcloud:main
Choose a base branch
from
Jaggob:feature/cal-dav-write
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,955
−77
Open
Write access over CalDAV #7655
Changes from all commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
905cb59
feat(deck-dav): enable CalDAV write updates for existing Deck items
d00682f
fix(deck-dav): stabilize completed and delete sync from CalDAV
fcbd2c6
feat(deck-dav): harden CalDAV move/create flows and client interopera…
4a60d0c
feat(caldav): map VTODO CATEGORIES to Deck labels
8a36aa7
fix(caldav): sync CATEGORIES with Deck labels for Thunderbird
6b3279e
fix(deck): accept null offset in CardMapper findAll for stacks API
52501d4
feat(caldav): add Apple Reminders tag mapping via X-APPLE-TAGS
eea47cb
feat(caldav): add Apple tag fallback in DESCRIPTION via Deck-Labels
163c92d
Revert "feat(caldav): add Apple tag fallback in DESCRIPTION via Deck-…
1b3a83b
feat(caldav): add per-user list mapping modes for CalDAV
8cd33b6
fix(caldav): refresh mode-based fields and invert list priority mapping
46fdd6a
Refactor CalDAV update handling and remove experimental move reattach
6fac725
Pass board context on delete and expose stable deck card id
5574e74
Trigger CI
84bfa95
Stabilize CalDAV backend after review and CI feedback
5b80756
Harden CalDAV ACL and deleted-card lookup
b6a24e0
Touch source board on cross-board card moves
f0f5bf5
Restore permissive CalDAV ACL for client move compatibility
ec53a1c
Fix CalDAV object name normalization for Thunderbird PUT/MULTIGET
73420ee
Avoid PROPFIND failure on deck calendar children listing
7ed1309
Accept both card and deck-card names in CalDAV child lookup
e437983
Fix CalDAV 412 on Thunderbird cross-board moves
12a8211
Harden CalDAV backend ACL and type handling
Jaggob 151eb81
Decorate list VTODOs with category and priority
Jaggob 6281cdd
Harden CalDAV fallback handling and lightweight card lookups
Jaggob 452fc61
perf(dav): reduce redundant lookups and serialization work
Jaggob 273d9d0
fix(dav): avoid Thunderbird 404 on stale deck card hrefs
Jaggob 482d109
fix(dav): restrict placeholder resolution for write paths
Jaggob faa776b
fix(psalm): suppress unresolved Sabre symbols in DAV backend
Jaggob 8844852
fix(frontend): guard optional OC.Files client bootstrap
Jaggob 12dec14
test(dav): cover app-generated calendar URI normalization
Jaggob d5700ca
test(dav): cover in-progress status and Apple tags label sync
Jaggob 9faaef4
style(test): fix import ordering in dav backend tests
Jaggob 875c711
ci: use ubuntu-latest for fork pull-request workflows
Jaggob c9333b7
chore(ci): drop workflow runner changes for upstream PR
Jaggob 8f1393f
fix(dav): prevent trailing deletes on stack moves and restore via cre…
Jaggob File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
createFile()usesgetChildNode(..., false)before callingcreateCalendarObject, and this fallback lookup can return soft-deleted cards. That routes a PUT forcard-<id>.icsinto the update path instead of the create/restore path;updateCardFromCalendar()then callscardService->find()(non-deleted) and fails. In practice, recreating/restoring a deleted card via CalDAV with the same href can return an error instead of restoring the task.Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 584dcf5.
This is a rather unlikely edge case for most clients, but:
createFile()now resolves existing children with deleted fallback disabled, so soft-deleted cards are no longer routed into the regular update path bygetChildNode(...).This restores correct create/restore behavior for PUT requests on the same
card-<id>.icshref.