Skip to content

Conversation

@byquanton
Copy link
Collaborator

@byquanton byquanton commented Aug 22, 2025

Current Test Build for commit b3628f8
planify.Devel-x86_64.flatpak

This PR refactors the Planify CalDAV codebase to make it compatible with other CalDAV server implementations besides Nextcloud.

Fixes #1149, #1697

@byquanton byquanton self-assigned this Aug 22, 2025
@byquanton byquanton force-pushed the feature/generic-caldav-support branch 3 times, most recently from 2224850 to 25cabf5 Compare August 24, 2025 22:52
@alainm23 alainm23 marked this pull request as ready for review August 25, 2025 09:25
@alainm23 alainm23 marked this pull request as draft August 25, 2025 09:25
@alainm23
Copy link
Owner

alainm23 commented Aug 26, 2025

📋 CalDAV Test Cases - Planify

This document contains test cases for CalDAV support implementation in Planify.

🔧 Initial Setup

Authentication & Connection

Test Case Nextcloud Generic CalDAV Status
AUTH-01: Username/password/URL authentication N/A
AUTH-02: Handles incorrect credentials
AUTH-03: Nextcloud Login v2 works correctly N/A

Database Storage

Test Case Nextcloud Generic CalDAV Status
DB-01: Credentials are saved correctly
DB-02: Database structure is correct

📅 Calendar Management

Test Case Nextcloud Generic CalDAV Status
SYNC-01: Lists task-type calendars
SYNC-02: Saves calendars to database
SYNC-03: Detects new/deleted calendars

Task Synchronization

Test Case Nextcloud Generic CalDAV Status
TASK-SYNC-01: Sync token works correctly
TASK-SYNC-02: Detects new/modified/deleted tasks
TASK-SYNC-03: Stores tasks in database 🧪

✅ Task CRUD Operations

Create & Edit Tasks

Test Case Nextcloud Generic CalDAV Status
CRUD-01: Create basic task with title
CRUD-02: Create task with description and due date
CRUD-03: Create task with priority
CRUD-04: Edit task properties
CRUD-05: Complete/uncomplete task
CRUD-06: Delete task 🧪
CRUD-07: Changes sync immediately

🔗 Advanced Features

Subtasks

Test Case Nextcloud Generic CalDAV Status
SUBTASK-01: Create and edit subtasks
SUBTASK-02: Delete subtask
SUBTASK-03: Hierarchy maintained in sync

Task Movement

Test Case Nextcloud Generic CalDAV Status
MOVE-01: Move task between calendars
MOVE-02: Preserve metadata when moving

📊 Test Status Legend

Symbol Status Description
Passed Test passed successfully
Failed Test failed
Pending Test is pending execution
🧪 Testing Test is currently being executed

@byquanton byquanton force-pushed the feature/generic-caldav-support branch 4 times, most recently from 30bf7e8 to 1413cff Compare August 31, 2025 12:24
@byquanton byquanton force-pushed the feature/generic-caldav-support branch from 1413cff to feaff26 Compare August 31, 2025 12:32
@byquanton byquanton changed the title WIP: Implement CalDAV support Implement CalDAV support Aug 31, 2025
@byquanton byquanton marked this pull request as ready for review August 31, 2025 13:45
@byquanton
Copy link
Collaborator Author

I'd love to refine more parts, but won't have much time in the next few weeks/months.

Some sync related bugs that the Nextcloud implementation had, are still there

Except for those bugs, I didn't encounter any other major ones in my testing with Radicale, Baikal & Nextcloud.
For my part this PR is ready for review and can be merged.

@byquanton byquanton requested a review from alainm23 August 31, 2025 14:09
@alainm23
Copy link
Owner

alainm23 commented Sep 1, 2025

I see the code is quite structured and organized, this is a good starting point for better synchronization with CalDAV. Thank you very much.

@alainm23
Copy link
Owner

alainm23 commented Sep 1, 2025

I did some quick tests using Nextcloud, I’ve already updated the test table, just two specific things:

  • A migration was done from version 4.13.4 using a Nextcloud account.
  • Planify doesn’t detect new task lists when they are created from Nextcloud (When I deleted the account and registered again, the task lists synced correctly).
  • The sync token is not being updated each time a change is detected in the projects.

It’s not a blocker for merging the changes; it can be fixed gradually before the release.

@alainm23 alainm23 merged commit 5aa4c9b into alainm23:master Sep 1, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Caldav support

2 participants