Contact and calendar page non functionnal, with errors in the webrower's console

The Basics

  • Nextcloud Server version
    • 33.0.0
  • Operating system and version
    • Debian GNU/Linux 13 (trixie) stable channel
    • Docker version 29.0.2
  • Web server and version
    • Apache/2.4.66 (Unix)
  • Reverse proxy and version
    • Bunker Web
  • PHP version
    • PHP 8.3.30
  • Is this the first time you’ve seen this error?
    • Yes
  • When did this problem seem to first start?
    • Since I installed Nextcloud two days ago
  • Installation method
    • AIO
  • Are you using CloudfIare, mod_security, or similar?
    • No

Summary of the issue you are facing:

The calendar and contact page in the web browser partially loads, but no data is displayed and no actions is possible (creating new calendars or events).

Screenshots

Calendar page

Trying to create a calendar

Trying to create an event

The contact page

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

  1. Open the Calendar or Contact page

Log entries

Nextcloud

Full debug logs when loading the calendar page

I only see debug and notice message, mostly about deprecation and missing config keys.

Web Browser

Log when refreshing the calendar page

Only errors :

[ERROR] calendar: [Vue error]: Error in render: TypeError: can't access property "scheduleDefaultCalendarUrl", this.currentUserPrincipal is undefined 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0, error: TypeError, vm: {…}, info: "render" }
calendar-main.js:2:2952428
[ERROR] calendar: [Vue error]: Error in beforeMount hook (Promise/async): TypeError: can't access property "split", t is undefined 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0, error: TypeError, vm: {…}, info: "beforeMount hook (Promise/async)" }
calendar-main.js:2:2952428
############  Here, I try to create a new calendar ############
TypeError: can't access property "createCalendarCollection", u() is undefined
    A caldavService.js:160
    appendCalendar calendars.js:375
    a pinia.mjs:1399
    createNewCalendar CalendarListNew.vue:259
    submit CalendarListNew.vue:1
    VueJS 4
calendar-main.js:2:5326202
Full logs
Content-Security-Policy warnings 2
pipewire-screenaudio script injected injector.js:12:11
[DEBUG] core: Unified search initialized! 
Object { app: "core", uid: "Vincent Guinaudeau", level: 0 }
core-common.js:1:2920541
[INFO] calendar: Using notify_push sync 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0 }
calendar-main.js:2:2952297
[INFO] calendar: 
Initial settings:
	- AppVersion: 6.2.1
	- EventLimit: true
	- FirstRun: true
	- ShowWeekNumbers: false
	- ShowTasks: true
	- ShowWeekends: true
	- SkipPopover: false
	- SlotDuration: 00:30:00
	- DefaultReminder: none
	- TalkEnabled: true
	- TasksEnabled: true
	- TasksSidebar: true
	- Timezone: automatic
	- HideEventExport: false
	- ForceEventAlarmType: false
	- disableAppointments: false
	- CanSubscribeLink: true
	- attachmentsFolder: /Calendar
	- ShowResources: true
	- PublicCalendars: 
 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0 }
calendar-main.js:2:2952297
[ERROR] calendar: [Vue error]: Error in render: TypeError: can't access property "scheduleDefaultCalendarUrl", this.currentUserPrincipal is undefined 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0, error: TypeError, vm: {…}, info: "render" }
calendar-main.js:2:2952428
@nextcloud/calendar-js app is using version 2.2025b of the timezone database calendar-main.js:2:3082312
Calendar API not initialized yet calendar-main.js:2:5880604
Initializing unified search plugin-filters from talk talk-search.js:1:179922
[INFO] core: session heartbeat polling started 
Object { app: "core", uid: "Vincent Guinaudeau", level: 0 }
core-common.js:1:2920608
[WARN] @nextcloud/vue: You need to fill either the text or the ariaLabel props in the button component. 
Object { uid: "Vincent Guinaudeau", app: "@nextcloud/vue", level: 0, text: undefined, ariaLabel: null, instance: {…} }
core-common.js:1:2920673
[WARN] @nextcloud/vue: You need to fill either the text or the ariaLabel props in the button component. 
Object { uid: "Vincent Guinaudeau", app: "@nextcloud/vue", level: 0, text: undefined, ariaLabel: null, instance: {…} }
core-common.js:1:2920673
[INFO] calendar: Updated moment locale: fr 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0 }
calendar-main.js:2:2952297
[DEBUG] core: this browser is officially supported ! 🚀 
Object { app: "core", uid: "Vincent Guinaudeau", level: 0 }
core-common.js:1:2920541
Notifications permissions not yet requested NotificationsApp-zv-lMaEW.chunk.mjs:83:58528
Has notify_push enabled, slowing polling to 15 minutes NotificationsApp-zv-lMaEW.chunk.mjs:83:53702
Polling interval updated to 900000 NotificationsApp-zv-lMaEW.chunk.mjs:83:57611
Started background fetcher as session_keepalive is enabled NotificationsApp-zv-lMaEW.chunk.mjs:83:54771
[DEBUG] calendar: Fetched principals 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0, principals: [] }
calendar-main.js:2:2952230
[DEBUG] calendar: Fetched principals 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0, principals: [] }
calendar-main.js:2:2952230
[DEBUG] calendar: Fetched rooms and resources 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0, rooms: [], resources: [] }
calendar-main.js:2:2952230
Got notification data, restoring default polling interval. NotificationsApp-zv-lMaEW.chunk.mjs:83:56566
[ERROR] calendar: [Vue error]: Error in beforeMount hook (Promise/async): TypeError: can't access property "split", t is undefined 
Object { app: "calendar", uid: "Vincent Guinaudeau", level: 0, error: TypeError, vm: {…}, info: "beforeMount hook (Promise/async)" }
calendar-main.js:2:2952428
This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”. blank
TypeError: can't access property "createCalendarCollection", u() is undefined
    A caldavService.js:160
    appendCalendar calendars.js:375
    a pinia.mjs:1399
    createNewCalendar CalendarListNew.vue:259
    submit CalendarListNew.vue:1
    VueJS 4
calendar-main.js:2:5326202

Logs when loading the contact page

Only errors :

Uncaught (in promise) TypeError: can't access property "split", r is undefined
    _extractAdvertisedDavFeatures index.mjs:3347
    connect index.mjs:2986
    beforeMount Contacts.vue:242
    an runtime-core.esm-bundler.js:3080
    sr runtime-core.esm-bundler.js:199
    Tt runtime-core.esm-bundler.js:206
    __weh runtime-core.esm-bundler.js:3060
    An shared.esm-bundler.js:85
    H runtime-core.esm-bundler.js:6022
    run reactivity.esm-bundler.js:239
    z runtime-core.esm-bundler.js:6202
    le runtime-core.esm-bundler.js:5977
    ee runtime-core.esm-bundler.js:5929
    g runtime-core.esm-bundler.js:5435
    H runtime-core.esm-bundler.js:6154
    run reactivity.esm-bundler.js:239
    runIfDirty reactivity.esm-bundler.js:277
    sr runtime-core.esm-bundler.js:199
    Gc runtime-core.esm-bundler.js:408
    promise callback*zc runtime-core.esm-bundler.js:322
    Dr runtime-core.esm-bundler.js:336
    Uu runtime-core.esm-bundler.js:7475
    scheduler runtime-core.esm-bundler.js:884
    scheduler reactivity.esm-bundler.js:1917
    trigger reactivity.esm-bundler.js:267
    zi reactivity.esm-bundler.js:325
    notify reactivity.esm-bundler.js:616
    trigger reactivity.esm-bundler.js:590
    set value reactivity.esm-bundler.js:1522
    G vue-router.mjs:1388
    ct vue-router.mjs:1316
    promise callback*ct vue-router.mjs:1304
    Z vue-router.mjs:1257
    install vue-router.mjs:1504
    use runtime-core.esm-bundler.js:4127
    <anonymous> main.js:36
style-D8nNTY2f.chunk.mjs:12:125928
Full logs
Content-Security-Policy warnings 2
pipewire-screenaudio script injected injector.js:12:11
Initial state loaded defaultProfileState HOME style-D8nNTY2f.chunk.mjs:12:146774
Initial state loaded localesState 
Array(750) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
style-D8nNTY2f.chunk.mjs:12:146837
Initializing unified search plugin-filters from talk talk-search.js:1:179922
[WARN] @nextcloud/vue: You need to fill either the text or the ariaLabel props in the button component. 
Object { uid: "Vincent Guinaudeau", app: "@nextcloud/vue", level: 2, text: undefined, ariaLabel: null, instance: {…} }
core-common.js:1:2920673
[WARN] @nextcloud/vue: You need to fill either the text or the ariaLabel props in the button component. 
Object { uid: "Vincent Guinaudeau", app: "@nextcloud/vue", level: 2, text: undefined, ariaLabel: null, instance: {…} }
core-common.js:1:2920673
Notifications permissions not yet requested NotificationsApp-zv-lMaEW.chunk.mjs:83:58528
Has notify_push enabled, slowing polling to 15 minutes NotificationsApp-zv-lMaEW.chunk.mjs:83:53702
Polling interval updated to 900000 NotificationsApp-zv-lMaEW.chunk.mjs:83:57611
Started background fetcher as session_keepalive is enabled NotificationsApp-zv-lMaEW.chunk.mjs:83:54771
Got notification data, restoring default polling interval. NotificationsApp-zv-lMaEW.chunk.mjs:83:56566
Uncaught (in promise) TypeError: can't access property "split", r is undefined
    _extractAdvertisedDavFeatures index.mjs:3347
    connect index.mjs:2986
    beforeMount Contacts.vue:242
    an runtime-core.esm-bundler.js:3080
    sr runtime-core.esm-bundler.js:199
    Tt runtime-core.esm-bundler.js:206
    __weh runtime-core.esm-bundler.js:3060
    An shared.esm-bundler.js:85
    H runtime-core.esm-bundler.js:6022
    run reactivity.esm-bundler.js:239
    z runtime-core.esm-bundler.js:6202
    le runtime-core.esm-bundler.js:5977
    ee runtime-core.esm-bundler.js:5929
    g runtime-core.esm-bundler.js:5435
    H runtime-core.esm-bundler.js:6154
    run reactivity.esm-bundler.js:239
    runIfDirty reactivity.esm-bundler.js:277
    sr runtime-core.esm-bundler.js:199
    Gc runtime-core.esm-bundler.js:408
    promise callback*zc runtime-core.esm-bundler.js:322
    Dr runtime-core.esm-bundler.js:336
    Uu runtime-core.esm-bundler.js:7475
    scheduler runtime-core.esm-bundler.js:884
    scheduler reactivity.esm-bundler.js:1917
    trigger reactivity.esm-bundler.js:267
    zi reactivity.esm-bundler.js:325
    notify reactivity.esm-bundler.js:616
    trigger reactivity.esm-bundler.js:590
    set value reactivity.esm-bundler.js:1522
    G vue-router.mjs:1388
    ct vue-router.mjs:1316
    promise callback*ct vue-router.mjs:1304
    Z vue-router.mjs:1257
    install vue-router.mjs:1504
    use runtime-core.esm-bundler.js:4127
    <anonymous> main.js:36
style-D8nNTY2f.chunk.mjs:12:125928

Web server / Reverse Proxy

I have bunker web as a reverse proxy for other applications, but I see no anomaly in the network activity of the browser or the server, so I don’t think this is relevant.

Configuration

Nextcloud

Output of occ config:list system
{
    "system": {
        "one-click-instance": true,
        "one-click-instance.user-limit": 100,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "check_data_directory_permissions": false,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "overwritehost": "cloud.chezphilia.org",
        "overwriteprotocol": "https",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "cloud.chezphilia.org"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "33.0.0.16",
        "overwrite.cli.url": "https:\/\/cloud.chezphilia.org\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "updatechecker": true,
        "updatedirectory": "\/nc-updater",
        "loglevel": 2,
        "app_install_overwrite": [
            "nextcloud-aio"
        ],
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log",
        "log_rotate_size": 10485760,
        "log.condition": {
            "apps": [
                "admin_audit"
            ]
        },
        "preview_max_x": 2048,
        "preview_max_y": 2048,
        "jpeg_quality": 60,
        "enabledPreviewProviders": {
            "1": "OC\\Preview\\Image",
            "2": "OC\\Preview\\MarkDown",
            "3": "OC\\Preview\\MP3",
            "4": "OC\\Preview\\TXT",
            "5": "OC\\Preview\\OpenDocument",
            "6": "OC\\Preview\\Movie",
            "7": "OC\\Preview\\Krita",
            "0": "OC\\Preview\\Imaginary",
            "23": "OC\\Preview\\ImaginaryPDF"
        },
        "enable_previews": true,
        "upgrade.disable-web": true,
        "mail_smtpmode": "smtp",
        "trashbin_retention_obligation": "auto, 30",
        "versions_retention_obligation": "auto, 30",
        "activity_expire_days": 30,
        "simpleSignUpLink.shown": false,
        "share_folder": "\/Shared",
        "one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
        "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
        "maintenance_window_start": 100,
        "allow_local_remote_servers": true,
        "davstorage.request_timeout": 3600,
        "documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
        "htaccess.RewriteBase": "\/",
        "dbpersistent": false,
        "auth.bruteforce.protection.enabled": true,
        "ratelimit.protection.enabled": true,
        "files_external_allow_create_new_local": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
        "config_preset": 3,
        "DOMAIN": "cloud.chezphilia.org",
        "AIO_VERSION": "v12.8.0"
    }
}

Apps

List
Enabled:
  - activity: 6.0.0-dev.0
  - admin_audit: 1.23.0
  - bruteforcesettings: 6.0.0-dev.0
  - calendar: 6.2.1
  - circles: 33.0.0
  - cloud_federation_api: 1.17.0
  - comments: 1.23.0
  - contacts: 8.4.1
  - contactsinteraction: 1.14.1
  - dashboard: 7.13.0
  - dav: 1.36.0
  - deck: 1.17.0
  - federatedfilesharing: 1.23.0
  - federation: 1.23.0
  - files: 2.5.0
  - files_antivirus: 6.2.0
  - files_downloadlimit: 5.1.0-dev.0
  - files_fulltextsearch: 33.0.0
  - files_pdfviewer: 6.0.0-dev.0
  - files_reminders: 1.6.0
  - files_sharing: 1.25.2
  - files_trashbin: 1.23.0
  - files_versions: 1.26.0
  - firstrunwizard: 6.0.0-dev.0
  - fulltextsearch: 33.0.0
  - fulltextsearch_elasticsearch: 33.0.0
  - groupfolders: 21.0.6
  - guests: 4.6.0
  - logreader: 6.0.0
  - lookup_server_connector: 1.21.0
  - nextcloud-aio: 0.8.0
  - nextcloud_announcements: 5.0.0
  - notes: 4.13.0
  - notifications: 6.0.0
  - notify_push: 1.3.1
  - oauth2: 1.21.0
  - password_policy: 5.0.0-dev.0
  - photos: 6.0.0-dev.0
  - privacy: 5.0.0-dev.0
  - profile: 1.2.0
  - provisioning_api: 1.23.0
  - recommendations: 6.0.0-dev.0
  - related_resources: 4.0.0-dev.0
  - richdocuments: 10.1.0
  - serverinfo: 5.0.0-dev.0
  - settings: 1.16.0
  - sharebymail: 1.23.0
  - spreed: 23.0.1
  - support: 5.0.0
  - survey_client: 5.0.0-dev.0
  - systemtags: 1.23.0
  - tasks: 0.17.1
  - text: 7.0.0-dev.3
  - theming: 2.8.0
  - twofactor_backupcodes: 1.22.0
  - twofactor_totp: 15.0.0-dev.0
  - twofactor_webauthn: 2.6.0
  - updatenotification: 1.23.0
  - user_status: 1.13.0
  - viewer: 6.0.0-dev.0
  - weather_status: 1.13.0
  - webhook_listeners: 1.5.0
  - whiteboard: 1.5.7
  - workflowengine: 2.15.0
Disabled:
  - app_api: 33.0.0 (installed 33.0.0)
  - encryption: 2.21.0
  - files_external: 1.25.1
  - suspicious_login: 11.0.0-dev.0
  - twofactor_nextcloud_notification: 7.0.0
  - user_ldap: 1.24.0

Observations

  • I am able to access my calendars through any other webDAV client, like my default android agenda app, or gnome calendar on my linux laptop.
  • The database contains the calendar, but there is no subscriptions in oc_calendarsubscriptions (I try creating one with occ dav:create-subscription but this didn’t change anything)
  • The database contains the default addressbooks in oc_addressbooks.