nextcloud / nextcloud/calendar

Web view missing events from subscribed ICS

Open
#7,117 0 comments 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. Create ICS file with the content below
  2. Import ICS file as new calender (applies to subscriptions as well)
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Sabre//Sabre VObject 4.5.6//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:GMT+2
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:GMT+1
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=Europe/Berlin:20250712T140000
DTEND;TZID=Europe/Berlin:20250712T183000
RRULE:FREQ=MONTHLY;UNTIL=20250501T215959Z;BYDAY=4SA
DTSTAMP:20250716T152731Z
UID:redacted@google.com
CREATED:20250616T195756Z
LAST-MODIFIED:20250616T195756Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:foobar
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
Expected behavior

I expect to import an event on 2025-07-12
I would be happy with a warning/error message in the case something is wrong with my ICS

Actual behavior

There is no event on 2025-07-12 after import

Calendar app version

5.3.6

CalDAV-clients used

Webapp

Browser

Friefox 139.0.4

Client operating system

Windows 11

Server operating system

Debian

Web server

Nginx

Database engine version

PostgreSQL

PHP engine version

PHP 8.2

Nextcloud version

31.0.7

Updated from an older installed version or fresh install

Updated from an older version

List of activated apps
will provide if needed
Nextcloud configuration
will provide if needed
Web server error log
will provide if needed
Log file
will provide if needed
Browser log
GET
https://cloud.stertingen.net/apps/calendar/dayGridMonth/now
[HTTP/2 200  324ms]

Warnungen zu Content-Security-Policy 2
GET
https://cloud.stertingen.net/core/css/server.css?v=6c25f893-43
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/firstrunwizard/css/firstrunwizard-style.css?v=470ea973-43
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/notes/css/global.css?v=98362a55-43
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/notifications/css/notifications-main.css?v=470ea973-43
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/spreed/css/unified-search.css?v=25965678-43
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/user_status/css/user-status-menu.css?v=4987047a-43
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/default.css?plain=1&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/light.css?plain=1&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/light.css?plain=0&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/dark.css?plain=0&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/light-highcontrast.css?plain=0&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/dark-highcontrast.css?plain=0&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/opendyslexic.css?plain=0&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/dark.css?plain=1&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/light-highcontrast.css?plain=1&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/theming/theme/dark-highcontrast.css?plain=1&v=533c03fe
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/dist/core-common.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/dist/core-main.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/dist/updatenotification-init.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/dist/core-files_fileinfo.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/dist/core-files_client.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/js/core/merged-template-prepend.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/dist/core-unsupported-browser-redirect.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/dist/core-unified-search.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/calendar/js/calendar-contacts-menu.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/calendar/js/calendar-main.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/firstrunwizard/js/firstrunwizard-about.mjs?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/notifications/js/notifications-main.mjs?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/spreed/js/talk-search.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/theming/js/theming.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/dist/user_status-menu.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/dist/files_sharing-main.js?v=6c25f893-43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/theming/image/background?v=43
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/core/img/logo/logo.svg
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/firstrunwizard/js/modulepreload-polyfill-Cp76Uzro.chunk.mjs
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/notifications/js/vite-preload-helper-CpjhnH87.chunk.mjs
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/notifications/js/style-Byu8SpL6.chunk.mjs
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/theming/image/background?v=43
[HTTP/1.1 200 OK 0ms]

GET
https://cloud.stertingen.net/core/img/logo/logo.svg
[HTTP/1.1 200 OK 0ms]

[INFO] calendar: 
Initial settings:
	- AppVersion: 5.3.6
	- EventLimit: true
	- FirstRun: false
	- ShowWeekNumbers: true
	- ShowTasks: true
	- ShowWeekends: true
	- SkipPopover: false
	- SlotDuration: 00:30:00
	- DefaultReminder: none
	- TalkEnabled: true
	- TasksEnabled: true
	- Timezone: automatic
	- HideEventExport: false
	- ForceEventAlarmType: false
	- disableAppointments: false
	- CanSubscribeLink: true
	- attachmentsFolder: /Calendar
	- ShowResources: true
	- PublicCalendars: 
 
Object { app: "calendar", uid: "hermann", level: 1 }
calendar-main.js:2:2741259
XHRPROPFIND
https://cloud.stertingen.net/remote.php/dav/
[HTTP/2 207  202ms]

@nextcloud/calendar-js app is using version 2.2024a of the timezone database 2 calendar-main.js:2:2876400
Fallback to locale en calendar-main.js:2:5646193
GET
https://cloud.stertingen.net/apps/notifications/css/style-CUqpM4Ms.chunk.css
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/notifications/css/_plugin-vue2_normalizer-D9peD3JJ.chunk.css
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/notifications/css/BrowserStorage-CUymxkzr.chunk.css
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/notifications/css/NotificationsApp-B3xBHIiy.chunk.css
[HTTP/2 200 OK 0ms]

GET
https://cloud.stertingen.net/apps/calendar/js/calendar-vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96.js?v=8313ce8cdb2aade6c4db
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/calendar/js/calendar-node_modules_moment_locale_sync_recursive_.js?v=0b017af699cfb64d4418
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/notifications/js/NotificationsApp-B6NN3irW.chunk.mjs
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/notifications/js/_plugin-vue2_normalizer-Csw1wJBP.chunk.mjs
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/notifications/js/BrowserStorage-BtVOEfLN.chunk.mjs
[HTTP/2 200  0ms]

Initializing unified search plugin-filters from talk talk-search.js:764:1955
[INFO] core: session heartbeat polling started 
Object { app: "core", uid: "hermann", level: 1 }
core-common.js:1:1993118
GET
https://cloud.stertingen.net/apps/theming/icon/calendar?v=533c03fe
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/theming/favicon/calendar?v=533c03fe
[HTTP/2 200  0ms]

XHRGET
https://cloud.stertingen.net/ocs/v2.php/apps/user_status/api/v1/user_status
[HTTP/2 200  212ms]

XHRPUT
https://cloud.stertingen.net/ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json
[HTTP/2 200  192ms]

[INFO] calendar: Updated moment locale: nextcloud-calendar-fake-locale-de-en 
Object { app: "calendar", uid: "hermann", level: 1 }
calendar-main.js:2:2741259
GET
https://cloud.stertingen.net/apps/user_status/img/app.svg?v=6c25f893
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/theming/img/accessibility-dark.svg?v=6c25f893
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/settings/img/personal.svg?v=6c25f893
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/settings/img/admin.svg?v=6c25f893
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/settings/img/apps.svg?v=6c25f893
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/settings/img/users.svg?v=6c25f893
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/firstrunwizard/img/info.svg?v=6c25f893
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/settings/img/help.svg?v=6c25f893
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/core/img/actions/logout.svg?v=6c25f893
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/avatar/hermann/64?v=3
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/dist/7883-7883.js?v=5a61e353a3ada3863242
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/spreed/img/app.svg
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/files/img/app.svg
[HTTP/2 200  0ms]

Notifications permissions granted NotificationsApp-B6NN3irW.chunk.mjs:38:61514
Polling interval updated to 30000 NotificationsApp-B6NN3irW.chunk.mjs:38:60945
Started background fetcher as session_keepalive is enabled NotificationsApp-B6NN3irW.chunk.mjs:38:58149
GET
https://cloud.stertingen.net/apps/photos/img/photos.svg
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/activity/img/activity.svg
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/keeweb/img/app.svg
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/mail/img/mail.svg
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/contacts/img/app.svg
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/calendar/img/calendar.svg
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/notes/img/notes.svg
[HTTP/2 200  0ms]

GET
https://cloud.stertingen.net/apps/tasks/img/tasks.svg
[HTTP/2 200  0ms]

XHRPROPFIND
https://cloud.stertingen.net/remote.php/dav/principals/calendar-rooms/
[HTTP/2 207  199ms]

XHRPROPFIND
https://cloud.stertingen.net/remote.php/dav/principals/calendar-resources/
[HTTP/2 207  199ms]

XHRGET
https://cloud.stertingen.net/ocs/v2.php/apps/notifications/api/v2/notifications
[HTTP/2 200  206ms]

GET
https://cloud.stertingen.net/avatar/hermann/64?v=3
[HTTP/1.1 200 OK 0ms]

XHRPROPFIND
https://cloud.stertingen.net/remote.php/dav/principals/users/hermann/
[HTTP/2 207  366ms]

Got notification data, restoring default polling interval. NotificationsApp-B6NN3irW.chunk.mjs:38:59900
XHRPROPFIND
https://cloud.stertingen.net/remote.php/dav/calendars/hermann/
[HTTP/2 207  321ms]

calendar home scanned 
Array(12) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
 
Array [ {…} ]
 
Array []
calendar-main.js:2:96078
XHRREPORT
https://cloud.stertingen.net/remote.php/dav/calendars/hermann/imported-blubbics/
[HTTP/2 207  210ms]

XHRREPORT
https://cloud.stertingen.net/remote.php/dav/calendars/hermann/imported-blubbics/
[HTTP/2 207  211ms]

XHRPROPFIND
https://cloud.stertingen.net/remote.php/dav/calendars/hermann/
[HTTP/2 207  349ms]

XHRGET
https://cloud.stertingen.net/ocs/v2.php/apps/notifications/api/v2/notifications
[HTTP/2 304  207ms]
Additional info

There are no errors from the calendar app in the admin log view and in the browser console.
In the case of an ICS subscription, I can confirm that my server sends the ICS containing the missing event to the client. I suspect the fault near the browser-side ICS Parsing.

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

Reproduce the missing-event case with the supplied ICS content through the web app's calendar import flow. Trace the resulting REPORT request to /remote.php/dav/calendars/hermann/imported-blubbics/ and determine why the 2025-07-12 event is absent; done means the event imports or the invalid recurrence produces a visible warning or error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.