nextcloud / nextcloud/calendar
Web view missing events from subscribed ICS
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
- Create ICS file with the content below
- 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
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
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