nextcloud / nextcloud/calendar

CLASS: PUBLIC ics imports as private, when there is a SPACE before PUBLIC

Open
#8,076 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. to triage bug
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Steps to reproduce
  1. 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
  1. Events are visible for the user who imported the ics. No error observed.
  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.