calendar icon indicating copy to clipboard operation
calendar copied to clipboard

.ics calender with "CLASS:public" imported with property "when shared hide this event"

Open omike9 opened this issue 6 months ago • 2 comments

Steps to reproduce

  1. import .ics caleder via setting->import calender into a new calender
  2. share with other users

Expected behavior

when sharing this calender, the entries should be shown to the shared users as well, which it does not do

Actual behavior

to see this entries for shared users

following problem:

  • import .ics calender file with calender entries. these entries contain a property "CLASS:public", which should indicate that the import policy of this event translate to the the property "When shared show full event". In case of writing "public" lowercase, it results in property "when shared hide this event"
  • Workaround: replace all "CLASS:public" with "CLASS:PUBLIC" in .ics file (via notepad++ etc.)
  • Fix: seems like implementation is case dependent after CLASS tag

Calendar app version

No response

CalDAV-clients used

No response

Browser

Microsoft Edge, Firefox

Client operating system

Windows

Server operating system

No response

Web server

None

Database engine version

None

PHP engine version

None

Nextcloud version

No response

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

No response

omike9 avatar Jun 10 '25 12:06 omike9

RFC 5545 says:

All names of properties, property parameters, enumerated property values, and property parameter values are case-insensitive.

The issue lies here where a case-sensitive comparison is done when saving events:

https://github.com/nextcloud/server/blob/eb9a6214a1d4497556cef9b4a379473bcb7f99a3/apps/dav/lib/CalDAV/CalDavBackend.php#L3134-L3144

EDIT: however even if valid, it's unusual to have lowercase parameters like this. Do you mind sharing what's the software that produced these ics file? You may also find information in the PRODID parameter.

tcitworld avatar Jun 10 '25 15:06 tcitworld

in my case i downloaded the ics file from https://www.thunderbird.net/de/calendar/holidays/ (Austrian calender).

I am not familiar of the format ics uses normally, still it should not be a case sensitive check IMO. Just to prevent unnecessary needed touches of the ics file to use it properly.

omike9 avatar Jun 10 '25 21:06 omike9