nextcloud / nextcloud/calendar
CLASS: PUBLIC ics imports as private, when there is a SPACE before PUBLIC
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.2k
- Forks
- 332
- Avg merge
- 16h 13m
- Merged PRs (30d)
- 137
Description
Steps to reproduce
- Import ics in nextcloud web ui in a shared calendar:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:https://github.com/derhansen/sf_event_mgt
METHOD:PUBLISH
BEGIN:VEVENT
UID:xx@mail.tld
CLASS: PUBLIC
SUMMARY:xxx
DESCRIPTION:xx
LOCATION:xx
DTSTAMP:20260228T182157Z
DTSTART:20260327T080000Z
DTEND:20260327T140000Z
END:VEVENT
- Events are visible for the user who imported the ics. No error observed.
- Check with different account, who also has access to the shared calendar.
Expected behavior
All users can see the event.
(If the import detects a non compliant ics, warn the user and do not fail silently)
Actual behavior
Users besides the owner of the shared calendar can not see the events.
Calendar app version
6.2.1
CalDAV-clients used
Thunderbird. (this produces the same result as the nextcloud web import)
Browser
ZEN
Client operating system
Linux
Server operating system
nixos, docker
Web server
Apache
Database engine version
PostgreSQL
PHP engine version
PHP 8.4
Nextcloud version
32.0.6
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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start from the Nextcloud web UI calendar import entry point and reproduce the shared-calendar case with the provided ICS, focusing on the space before PUBLIC in the CLASS property. Trace how that value affects event visibility and check whether malformed input is reported. Done means the event is visible to other shared-calendar users or the importer gives a clear warning instead of silently changing visibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100