Skip to content

persist colors for shared calendars #263

Description

@TheOnAndOnlyZenomat

Problem / motivation

Hi,

Thanks for building this tool. I looked for an eternity to find a caldav server with easy user management and calendar sharing. This wrapped all that is a nice and simple package :D

I have a problem tho: when importing a calendar shared from another user the calendar color does not get shared as as well. Looking at the sabre dashboard from davis I can that the color is only present in owned calendars, not in shared.

This is especially a problem when using it with davx on android, as all calendars without a specific color get assigned green.

Is this a spec problem or something that could conceivably be worked around?

Proposed solution

The shared calendars should be assigned the color from the source calendar.

Alternatives considered

In my android calendar app (fossify calendar) I assigned custom colors to those shared calendars, but they get reset when davx synchronizes the calendar list.

Area

CalDAV

Additional context

No response

Activity

  1. self-assigned this
    on May 28, 2026
  2. TheOnAndOnlyZenomat commented on May 29, 2026

    @TheOnAndOnlyZenomat
    Author

    I found a (partial) solution: You can edit the calendars shared with you and assign a custom color there.

    It would still be nice if davis would pick the color of the source calendar automatically. Because with the solution from above I still need to update the colors for every shared calendar for every user manually.

  3. tchapi commented on May 29, 2026

    @tchapi
    Owner

    Hi

    when importing a calendar shared from another user

    Can you precise exactly what you mean by importing? You mean when you share the calendar via the Davis dashboard?

    Note that I understand we're talking about color assignment at once, not a continuous update (ie if the sharer updates the color on their side, it won't get ported to all the sharees)

  4. TheOnAndOnlyZenomat commented on May 29, 2026

    @TheOnAndOnlyZenomat
    Author

    What I mean is:

    1. I create a calendar on account 1 and assign it the color red
    2. I share that calendar with account 2 via the davis dashboard
    3. Account 2 is then synced via Davx5 on Android

    In Davx5 the calendar does not have the color red by default. I have to manually assign the color in the davis dashboard in the shared calendar on account 2.

    Assigning the color only once on share is fine in my book. Tho an argument could be made that it should be updated for all sharees if they did not explicitly set a color for that shared calendar themselves.

  5. tchapi commented on May 30, 2026

    @tchapi
    Owner

    Could you check that #266 fixes your use case (initial seeding, no later tracking) ?

  6. TheOnAndOnlyZenomat commented on May 31, 2026

    @TheOnAndOnlyZenomat
    Author

    Hi, thanks for the quick fix. Could you give me a pointer for how to test this with my docker deployment? Or do I just copy my database and do a local install for that?

  7. tchapi commented on May 31, 2026

    @tchapi
    Owner

    You can test locally yes (by checking out this branch), or, given the fix is simple, just add the two lines directly in your container code

  8. TheOnAndOnlyZenomat commented on May 31, 2026

    @TheOnAndOnlyZenomat
    Author

    I checked it out, it seems to work. Awesome, thank you <3

  9. tchapi commented on Jun 1, 2026

    @tchapi
    Owner

    Thanks a lot for your donation 🫶
    Will include the latest fixes in a release today or tomorrow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions