Calender issue with NC32

Support intro

Dear Nextcloud Community,

we¹ are currently developing PermaplanT, a web app that should support sustainable and bio-diverse gardening. We heavily integrated Nextcloud, to be used for files, chats etc. to enable users to collaborate.

We are facing several challenges with Nextcloud and now see the need to have a staging environment so that all the problems are not immediately user-facing. For example, the calender completely broke after the upgrade from 30.0.7 to 30.0.8. Our Nextcloud calender now has an endless spinner on the left side and doesn’t show calender entries. The browser shows to one person (my log see below):

We already fixed many CORS and Keycloak integration issues but this time we are stuck. We used this calender heavily for development planning.

Is there someone who is interested in the web app or generally in sustainability and wants to help us with this and other Nextcloud challenges?

best regards, Markus

¹ we are mostly from TU Wien and I am in the process of setting up a non-profit (gemeinnütziger und mildtätiger Verein) called Perma, for sustainable future development.


The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 32.0.0
  • Operating system and version (e.g., Ubuntu 24.04):
    • Devuan Linux 5 (daedalus 12.11)
  • Web server and version (e.g, Apache 2.4.25):
    • apache2
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • Caddy:alpine, we want to migrate to HAProxy
  • PHP version (e.g, 8.3):
    • 8.3
  • Is this the first time you’ve seen this error? (Yes / No):
    • First time reporting, we see it for a while now.
  • When did this problem seem to first start?
    • Upgrade to Nextcloud version 30.0.8
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • AIO
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • we use Keycloak for auth

Summary of the issue you are facing:

Calender has no entries.

Steps to replicate it (hint: details matter!):

  1. Visit Calender (needed to remove URL because of 4 URLs restrictions)

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

Nothing while accessing the calender

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

Source-Map-Fehler: Error: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Stack in the worker:parseSourceMapInput@resource://devtools/client/shared/vendor/source-map/lib/util.js:163:15
_factory@resource://devtools/client/shared/vendor/source-map/lib/source-map-consumer.js:1066:22
SourceMapConsumer@resource://devtools/client/shared/vendor/source-map/lib/source-map-consumer.js:26:12
_fetch@resource://devtools/client/shared/source-map-loader/utils/fetchSourceMap.js:83:19

Ressourcen-Adresse: https://cloud.permaplant.net/index.php/apps/calendar/dayGridMonth/%3Canonymous%20code%3E
Source-Map-Adresse: installHook.js.map

Notifications permissions not yet requested NotificationsApp.vue:457:12
Polling interval updated to 30000 NotificationsApp.vue:403:12
Started background fetcher as session_keepalive is enabled NotificationsApp.vue:273:13
Failed sending heartbeat, got: undefined UserStatus.vue:159:1
[ERROR] calendar: [Vue error]: Error in beforeMount hook (Promise/async): TypeError: can't access property "split", t is undefined 
Object { app: "calendar", uid: "...", level: 2, error: TypeError, vm: {…}, info: "beforeMount hook (Promise/async)" }

Uncaught (in promise) TypeError: can't access property "findAllCalendars", d() is undefined
    p caldavService.js:66
    backgroundSyncJob Calendar.vue:267
    setInterval handler*created Calendar.vue:265
    VueJS 28
    <anonymous> main.js:53
    <anonymous> main.js:63
    <anonymous> main.js:63
caldavService.js:66:9
    p caldavService.js:66
    backgroundSyncJob Calendar.vue:267
    (Async: setInterval handler)
    created Calendar.vue:265
    VueJS 28
    <anonym> main.js:53
    <anonym> main.js:63
    <anonym> main.js:63
(these errors repeat)

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

couldnt find log of Caddy

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "cloud.permaplant.net"
        ],
        "dbtype": "pgsql",
        "version": "32.0.0.13",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "dbpersistent": true,
        "installed": true,
        "maintenance": false,
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "loglevel": 2,
        "memories.db.triggers.fcu": true,
        "memories.exiftool": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/exiftool-amd64-glibc",
        "memories.vod.path": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/go-vod-amd64",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwriteprotocol": "https",
        "overwrite.cli.url": "https:\/\/cloud.permaplant.net",
        "preview_max_x": 2048,
        "preview_max_y": 2048,
        "upgrade.disable-web": true,
        "maintenance_window_start": 22,
        "default_phone_region": "AT",
        "chunkSize": "5120MB",
        "auth.bruteforce.protection.enabled": true,
        "skeletondirectory": "\\srv\\nextcloud_user_template",
        "auth.webauthn.enabled": false,
        "app.mail.verify-tls-peer": false,
        "mail_smtpmode": "smtp",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": 587,
        "mail_smtpsecure": "tls",
        "mail_smtpauthtype": "PLAIN",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "user_oidc": {
            "selfencoded_bearer_validation_audience_check": false,
            "selfencoded_bearer_validation_azp_check": false,
            "allow_multiple_user_backends": 0
        },
        "app_install_overwrite": [
            "passwords"
        ]
    }
}

Apps

The output of occ app:list (if possible).

   Enabled:
  - activity: 5.0.0-dev.0
  - admin_audit: 1.22.0
  - analytics: 6.0.1
  - app_api: 32.0.0
  - bookmarks: 16.0.0
  - bruteforcesettings: 5.0.0-dev.0
  - calendar: 6.0.2
  - circles: 32.0.0
  - cloud_federation_api: 1.16.0
  - collectives: 3.2.3
  - comments: 1.22.0
  - contacts: 8.0.4
  - contactsinteraction: 1.13.1
  - cookbook: 0.11.4
  - cospend: 3.1.6
  - dashboard: 7.12.0
  - dav: 1.34.2
  - deck: 1.16.0
  - federatedfilesharing: 1.22.0
  - federation: 1.22.0
  - files: 2.4.0
  - files_downloadlimit: 5.0.0-dev.0
  - files_external: 1.24.0
  - files_pdfviewer: 5.0.0-dev.0
  - files_reminders: 1.5.0
  - files_sharing: 1.24.0
  - files_trashbin: 1.22.0
  - files_versions: 1.25.0
  - firstrunwizard: 5.0.0-dev.0
  - forms: 5.2.2
  - integration_gitlab: 3.2.0
  - logreader: 5.0.0-dev.0
  - lookup_server_connector: 1.20.0
  - nextcloud_announcements: 4.0.0-dev.0
  - notes: 4.12.3
  - notifications: 5.0.0-dev.0
  - oauth2: 1.20.0
  - password_policy: 4.0.0-dev.0
  - passwords: 2025.10.20
  - photos: 5.0.0-dev.1
  - polls: 8.5.0
  - privacy: 4.0.0-dev.0
  - profile: 1.1.0
  - provisioning_api: 1.22.0
  - recommendations: 5.0.0-dev.0
  - related_resources: 3.0.0-dev.0
  - serverinfo: 4.0.0-dev.0
  - settings: 1.15.1
  - sharebymail: 1.22.0
  - spreed: 22.0.1
  - support: 4.0.0-dev.0
  - systemtags: 1.22.0
  - text: 6.0.0-dev.0
  - theming: 2.7.0
  - twofactor_backupcodes: 1.21.0
  - updatenotification: 1.22.0
  - user_oidc: 8.1.0
  - user_status: 1.12.0
  - viewer: 5.0.0-dev.0
  - weather_status: 1.12.0
  - webhook_listeners: 1.3.0
  - workflowengine: 2.14.0
Disabled:
  - bbb: 2.8.0 (installed 2.8.0)
  - cms_pico: 1.0.21 (installed 1.0.21)
  - encryption: 2.20.0
  - external: 7.0.0 (installed 7.0.0)
  - files_automatedtagging: 3.0.0 (installed 3.0.0)
  - files_rightclick: 1.4.0 (installed 1.6.0)
  - files_texteditor: 2.15.1 (installed 2.15.1)
  - groupfolders: 20.1.2 (installed 20.1.2)
  - mail: 5.5.11 (installed 5.5.11)
  - memories: 7.7.0 (installed 7.7.0)
  - metadata: 0.23.0 (installed 0.23.0)
  - phonetrack: 0.9.1 (installed 0.9.1)
  - previewgenerator: 5.10.0 (installed 5.10.0)
  - quota_warning: 1.22.0 (installed 1.22.0)
  - survey_client: 4.0.0-dev.0 (installed 1.7.0)
  - suspicious_login: 10.0.0-dev.0
  - twofactor_nextcloud_notification: 6.0.0-dev.0
  - twofactor_totp: 14.0.0
  - uppush: 2.3.1 (installed 2.3.1)
  - user_ldap: 1.23.0
  - user_migration: 9.0.0 (installed 9.0.0)

Tips for increasing the likelihood of a response

  • Use the preformatted text formatting option in the editor for all log entries and configuration output.
  • If screenshots are useful, feel free to include them.
    • If possible, also include key error output in text form so it can be searched for.
  • Try to edit log output only minimally (if at all) so that it can be ran through analyzers / formatters by those trying to help you.

What we already tried without success is:

rm -r data/appdata_/css/ data/appdata_/js/
occ files:scan-app-data

The only thing that worked was rolling back to 30.0.7, but this is not possible anymore, as we already did a lot in Nextcloud since we upgraded to NC32. (We probably should have reported this problem earlier here.)

Thank you for your time!

having a staging environment is always a good idea..

I can’t say for sure what is the problem - calendar works all 3 of my instances running NC32 two of them with OpenID login through Keycloak. I also believe there would be many complaints in the forum if it would be a general problem. but I’m confident

is not going to help rather brake almost everything!

From your config I see you are still on 32.0.0 so I would recommend you upgrade to 32.0.1 to bring back assets you removed before and dig deeper into the problem if it persist.

Thank you for the hint that a new version is available! I updated to 32.0.1 but updating did not fix this issue (like the other updates from 30.0.8 on).

The calender entries are still not shown and there is an endless spinner. The error messages seem to be the same:

Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource (media-src) auf data: blockiert, da sie gegen folgende Direktive verstößt: "media-src 'self' blob:" now
@nextcloud/calendar-js app is using version 2.2025b of the timezone database index.mjs:251:13
Calendar API not initialized <anonymous code>:1:147461
Source-Map-Fehler: Error: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Stack in the worker:parseSourceMapInput@resource://devtools/client/shared/vendor/source-map/lib/util.js:163:15
_factory@resource://devtools/client/shared/vendor/source-map/lib/source-map-consumer.js:1066:22
SourceMapConsumer@resource://devtools/client/shared/vendor/source-map/lib/source-map-consumer.js:26:12
_fetch@resource://devtools/client/shared/source-map-loader/utils/fetchSourceMap.js:83:19

Ressourcen-Adresse: https://cloud.permaplant.net/index.php/apps/calendar/dayGridMonth/%3Canonymous%20code%3E
Source-Map-Adresse: installHook.js.map

Initializing unified search plugin-filters from talk search.js:22:10
Notifications permissions granted NotificationsApp.vue:449:13
Polling interval updated to 30000 NotificationsApp.vue:412:12
Started background fetcher as session_keepalive is enabled NotificationsApp.vue:279:13
Failed sending heartbeat, got: undefined UserStatus.vue:159:1
[ERROR] calendar: [Vue error]: Error in beforeMount hook (Promise/async): TypeError: can't access property "split", t is undefined 
Object { app: "calendar", uid: "bodhi", level: 2, error: TypeError, vm: {…}, info: "beforeMount hook (Promise/async)" }
<anonymous code>:1:147461
Got notification data, restoring default polling interval. NotificationsApp.vue:368:13
Uncaught (in promise) TypeError: can't access property "findAllCalendars", d() is undefined
    p caldavService.js:66

The Die Einstellungen der Seite haben das Laden einer Ressource (media-src) auf data: blockiert, da sie gegen folgende Direktive verstößt: "media-src 'self' blob:" and can't access property "split", t is undefined is shown at other pages, too.

But the findAllCalendars error seems to be specific to this page. I don’t know if it related to the error, though.

this sounds like you setup some custom config related to contentsecuritypolicy and for this reason the browser doesn’t load JavaScript from your server. CSP is provided by Nextcloud application and your reverse proxy should not add/change such headers.

Same issue here. And this is a vanilla NC32 without any customizations and/or reverse proxies etc.

@Summerhill thank you for jumping in.

Do you maybe have many calenders and/or many calender entries?

It is of course a wild guess if there is a relation, but maybe relevant to the issue is to say that we have many calenders and a big calender with many entries shared with a Keycloak group: About 14 people coordinated their meetings in one shared calender.

But anyways, good to know that we are not the only ones. We will soon setup a new NC32 on our staging machine and see if we can reproduce it.

It’s a huge calendar with many entries. Strange behavior: The sync with CalDav Synchronizer in Outlook quits with HTTP-500 Error but the sync from Outlook to an iPhone over Nextcloud works. But you can’t see the calender in the nextcloud webapp.