nextcloud / calendar

📆 Calendar app for Nextcloud
https://apps.nextcloud.com/apps/calendar
GNU Affero General Public License v3.0
972 stars 237 forks source link

Calendar not loading #4921

Open the-moog opened 2 years ago

the-moog commented 2 years ago

How to use GitHub

Steps to reproduce

  1. Enable calendar (very old install)

Expected behaviour

Calendar should start

Actual behaviour

Calendar sidebar shows existing calendars (generated from Deck instances) with spinning icons to the side. The calendar is not populated with any data, though new data can be entered. The new data is not populated.

Calendars just enabled (never enabled before) so no events in the calendars. Nothing in the NC logs. Error in JS console is lots of

"l['{DAV:}getcontenttype'] is undefined TypeError: l['{DAV:}getcontenttype'] is undefined"
value davCollection.js:353
value davCollection.js:338
t calendar.js:154
u runtime.js:63
_invoke runtime.js:294
v runtime.js:119
c calendar-main.js:2
o calendar-main.js:2

Very similar to nextcloud/server#17855

Server configuration

Ubuntu 18.04.6 LTS Kernel 4.15.0-163

Operating system: Linux Ubuntu

Web server: Version: 2.4.29-1ubuntu4

Database: PostgreSQL 10.19 (Ubuntu 10.19-0ubuntu0.18.04.1)

PHP version: 7.4.26

Nextcloud version: (see Nextcloud admin page) 22.2.3

Updated from an older Nextcloud/ownCloud or fresh install: Very very old (regularly updated)

Where did you install Nextcloud from: Long time ago (was owncloud)

Signing status:

Signing status ``` Login as admin user into your Nextcloud and access http://example.com/index.php/settings/integrity/failed paste the results here. ``` No errors have been found.

List of activated apps:

App list ``` - accessibility: 1.8.0 - activity: 2.15.0 - appointments: 1.11.6 - bruteforcesettings: 2.2.0 - calendar: 3.0.1 - circles: 22.1.1 - cloud_federation_api: 1.5.0 - comments: 1.12.0 - contactsinteraction: 1.3.0 - dashboard: 7.2.0 - dav: 1.19.0 - deck: 1.5.5 - external: 3.9.0 - federatedfilesharing: 1.12.0 - federation: 1.12.0 - files: 1.17.0 - files_external: 1.13.0 - files_pdfviewer: 2.3.1 - files_rightclick: 1.1.0 - files_sharing: 1.14.0 - files_trashbin: 1.12.0 - files_versions: 1.15.0 - files_videoplayer: 1.11.0 - firstrunwizard: 2.11.0 - groupfolders: 10.0.0 - logreader: 2.7.0 - lookup_server_connector: 1.10.0 - notifications: 2.10.1 - oauth2: 1.10.0 - password_policy: 1.12.0 - photos: 1.4.0 - privacy: 1.6.0 - provisioning_api: 1.12.0 - richdocuments: 4.2.3 - serverinfo: 1.12.0 - settings: 1.4.0 - sharebymail: 1.12.0 - socialsharing_email: 2.4.0 - support: 1.5.0 - survey_client: 1.10.0 - systemtags: 1.12.0 - text: 3.3.0 - theming: 1.13.0 - twofactor_backupcodes: 1.11.0 - updatenotification: 1.12.0 - user_status: 1.2.0 - viewer: 1.6.0 - weather_status: 1.2.0 - workflowengine: 2.4.0 Disabled: - admin_audit - encryption - nextcloud_announcements - recommendations - user_ldap ``` ``` If you have access to your command line run e.g.: sudo -u www-data php occ app:list from within your Nextcloud installation folder ```

Nextcloud configuration:

Config report ``` { "system": { "instanceid": "***REMOVED SENSITIVE VALUE***", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "cloud.dxxxxxxxh.com" ], "datadirectory": "***REMOVED SENSITIVE VALUE***", "dbtype": "pgsql", "version": "22.2.3.0", "overwrite.cli.url": "https:\/\/cloud.dxxxxxxxh.com", "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbport": "", "dbtableprefix": "oc_", "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "installed": true, "maintenance": false, "memcache.local": "\\OC\\Memcache\\APCu", "mail_smtpmode": "sendmail", "mail_sendmailmode": "smtp", "mail_from_address": "***REMOVED SENSITIVE VALUE***", "mail_domain": "***REMOVED SENSITIVE VALUE***", "updater.release.channel": "stable", "theme": "", "loglevel": 2, "trashbin_retention_obligation": "auto, 60", "default_phone_region": "GB", "updater.secret": "***REMOVED SENSITIVE VALUE***" } } ``` ``` If you have access to your command line run e.g.: sudo -u www-data php occ config:list system from within your Nextcloud installation folder or Insert your config.php content here. Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …) ```

Are you using external storage, if yes which one: local/smb/sftp/... Local

Are you using encryption: yes/no No

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/... No

LDAP configuration (delete this part if not used)

LDAP config ``` With access to your command line run e.g.: sudo -u www-data php occ ldap:show-config from within your Nextcloud installation folder Without access to your command line download the data/owncloud.db to your local computer or access your SQL server remotely and run the select query: SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap'; Eventually replace sensitive data as the name/IP-address of your LDAP server or groups. ```

Client configuration

Browser: Firefox 94.0.2 (64bit)

Operating system: Win10

Logs

Web server error log

Web server error log ``` Insert your webserver log here ```

Nextcloud log (data/nextcloud.log)

Nextcloud log ``` Insert your Nextcloud log here ```

Browser log

Browser log ``` Insert your browser log here, this could for example include: a) The javascript console log - See above b) The network log - No errors c) ... ```
pelaxa commented 2 years ago

For anyone else that ends up here take a look at https://github.com/nextcloud/calendar/issues/3858

the-moog commented 2 years ago

I've looked at my oc_properties and the table is completely empty. The problem persists.

the-moog commented 2 years ago

I've upgraded to NC 23.0.1 and the problem persists.

pelaxa commented 2 years ago

I do not think that oc_properties should be empty entirely.

the-moog commented 2 years ago

Any update on this issue. Tried latest NC server (23.0.2) and still no joy.

Tried deleting all Deck releated data. Removed completely Deck, Calendar, Appointments and d/l + reinstall. The old data persisted. (Surely removing an app should reset it's database??)

Looking at Firefox debug console I see the following after a refresh of the calendar page. "l['{DAV:}getcontenttype'] is undefined TypeError: l['{DAV:}getcontenttype'] is undefined"

That seems to relate to: nextcloud/calendar#3551 and nextcloud/calendar#3858

the-moog commented 2 years ago

Interesting: Looking at the same issue, but in Edge dev tools. I get the error "Cannot read properties of undefined (reading 'split') TypeError: Cannot read properties of undefined (reading 'split')" which is different to FF where the the error is: "l['{DAV:}getcontenttype'] is undefined TypeError: l['{DAV:}getcontenttype'] is undefined"

Both from line 353 of davCollection.js , which reads "const contentType = props['{DAV:}getcontenttype'].split(';')[0];"

That explains why some people report one error, others report a different error.

the-moog commented 2 years ago

After a bit of searching I've found the following related issues.

https://github.com/nextcloud/calendar/issues/3551 https://github.com/nextcloud/calendar/issues/4921 https://github.com/nextcloud/calendar/issues/3858 https://github.com/nextcloud/server/issues/17855 https://github.com/nextcloud/deck/issues/2428 https://help.nextcloud.com/t/calendar-app-after-upgrade-to-ncc-22-2-0/126789/3 https://github.com/nextcloud/calendar/issues/3823 https://github.com/nextcloud/calendar/issues/3779

the-moog commented 2 years ago

As somebody closd my previous issue, I creted new issue in the github repo for nextcloud:calendar https://github.com/nextcloud/calendar/issues/4036#issue-1165096617

the-moog commented 2 years ago

Found another report of the same issue https://github.com/nextcloud/calendar/issues/2529

the-moog commented 2 years ago

Two more possibly related isues: https://github.com/nextcloud/calendar/issues/4319 https://github.com/nextcloud/calendar/issues/4313

the-moog commented 2 years ago

Updated to NC 24.0.2 - issues persist. Same errors as before in JS console (or similar) on all browsers.

FF: "l['{DAV:}resourcetype'] is undefined TypeError: l['{DAV:}resourcetype'] is undefined" Edge: "main.js:6115 Cannot read properties of undefined (reading 'find') TypeError: Cannot read properties of undefined (reading 'find')"

pwnoobz commented 1 year ago

I can confirm the calendar hangs forever. Latest update here.

the-moog commented 1 year ago

Same issue on NC25.0.1 but the errors have completely changed.

szaimen commented 1 year ago

Hi, please update to 24.0.9 or better 25.0.3 and report back if it fixes the issue. Thank you!

My goal is to add a label like e.g. 25-feedback to this ticket of an up-to-date major Nextcloud version where the bug could be reproduced. However this is not going to work without your help. So thanks for all your effort!

If you don't manage to reproduce the issue in time and the issue gets closed but you can reproduce the issue afterwards, feel free to create a new bug report with up-to-date information by following this link: https://github.com/nextcloud/server/issues/new?assignees=&labels=bug%2C0.+Needs+triage&template=BUG_REPORT.yml&title=%5BBug%5D%3A+

the-moog commented 1 year ago

Updated from 25.0.2 to 25.0.3. Behavior the same though I seem to have more errors in the Firefox JS console.

Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”). moz-extension:7408:11
Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”). sandbox eval code:771:382
Proxying an event bus of version 2.1.1 with 1.3.0 [index.es.js:2337:14](webpack:///nextcloud/node_modules/@nextcloud/auth/node_modules/@nextcloud/event-bus/dist/index.es.js)
JQMIGRATE: Migrate is installed, version 3.4.0 [jquery-migrate.min.js:2:698](webpack:///nextcloud/node_modules/jquery-migrate/dist/jquery-migrate.min.js)
Proxying an event bus of version 2.1.1 with 1.3.0 [index.es.js:2337:14](webpack:///nextcloud/node_modules/@nextcloud/auth/node_modules/@nextcloud/event-bus/dist/index.es.js)
Proxying an event bus of version 2.1.1 with 3.0.2 [index.esm.js:11:20](webpack:///deck/node_modules/@nextcloud/event-bus/dist/index.esm.js)
jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 2 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
Proxying an event bus of version 2.1.1 with 3.0.2 [ProxyBus.ts:16:20](webpack:///lib/ProxyBus.ts)
Proxying an event bus of version 2.1.1 with 3.0.2 [ProxyBus.ts:16:20](webpack:///lib/ProxyBus.ts)
Proxying an event bus of version 2.1.1 with 1.3.0 [index.es.js:2337:14](webpack:///notifications/node_modules/@nextcloud/notify_push/node_modules/@nextcloud/auth/node_modules/@nextcloud/event-bus/dist/index.es.js)
$ is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
Registering notifications container as a menu [NotificationsApp.vue:220](webpack:///notifications/src/NotificationsApp.vue)
$ is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 2 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
Notifications permissions granted [NotificationsApp.vue:461](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:421](webpack:///notifications/src/NotificationsApp.vue)
Started background fetcher as session_keepalive is enabled [NotificationsApp.vue:283](webpack:///notifications/src/NotificationsApp.vue)
Proxying an event bus of version 2.1.1 with 1.3.0 [index.es.js:2337:14](webpack:///nextcloud/node_modules/@nextcloud/auth/node_modules/@nextcloud/event-bus/dist/index.es.js)
Proxying an event bus of version 2.1.1 with 3.0.0 [index.js:19:12](webpack:///nextcloud/node_modules/@nextcloud/vue/node_modules/@nextcloud/event-bus/dist/index.js)
jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 4 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
Proxying an event bus of version 2.1.1 with 3.0.2 [index.js:19:12](webpack:///calendar/node_modules/@nextcloud/event-bus/dist/index.js)
Proxying an event bus of version 2.1.1 with 3.0.2 [index.esm.js:11:12](webpack:///calendar/node_modules/@nextcloud/event-bus/dist/index.esm.js)
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: null, ariaLabel: null }

Object { _uid: 23, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
[NcButton.js:1:20858](webpack:///calendar/node_modules/@nextcloud/vue/dist/Components/NcButton.js)
@nextcloud/calendar-js app is using version 2.2019c of the timezone database [index.esm.js:14166:4](webpack:///calendar/node_modules/@nextcloud/calendar-js/dist/index.esm.js)
Fallback to locale en [moment.js:85:3](webpack:///calendar/src/utils/moment.js)
jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 4 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
session heartbeat polling started [session-heartbeat.js:103:9](webpack:///nextcloud/core/src/session-heartbeat.js)
jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 204 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 204 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
Got notification data [NotificationsApp.vue:384](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:421](webpack:///notifications/src/NotificationsApp.vue)
$ is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 376 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
calendar home scanned 
Array [ {…}, {…} ]

Array [ {…} ]
[calendars.js:596:2](webpack:///calendar/src/store/calendars.js)
jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 380 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
XHRREPORThttps://nextcloud.<REDACTED>/index.php/apps/dashboard/
[HTTP/1.1 403 Forbidden 258ms]

XHRREPORThttps://nextcloud.<REDACTED>/index.php/apps/dashboard/
[HTTP/1.1 403 Forbidden 263ms]

<empty string> Error: 
    x dist.js:1
    r dist.js:1
    a dist.js:1
    i dist.js:1
    a dist.js:1
    i dist.js:1
    a dist.js:1
    i dist.js:1
    onreadystatechange dist.js:1
    e dist.js:1
[internal-common.js:3658:12](webpack:///calendar/node_modules/@fullcalendar/core/internal-common.js)
<empty string> Error: 
    r dist.js:1
    a dist.js:1
    i dist.js:1
    a dist.js:1
    i dist.js:1
    a dist.js:1
    i dist.js:1
    onreadystatechange dist.js:1
    e dist.js:1
    e dist.js:1
[internal-common.js:3658:12](webpack:///calendar/node_modules/@fullcalendar/core/internal-common.js)
No new notification data received [NotificationsApp.vue:389](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:421](webpack:///notifications/src/NotificationsApp.vue)
No new notification data received [NotificationsApp.vue:389](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:421](webpack:///notifications/src/NotificationsApp.vue)
No new notification data received [NotificationsApp.vue:389](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:421](webpack:///notifications/src/NotificationsApp.vue)
jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 4 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)
No new notification data received [NotificationsApp.vue:389](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:421](webpack:///notifications/src/NotificationsApp.vue)
No new notification data received [NotificationsApp.vue:389](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:421](webpack:///notifications/src/NotificationsApp.vue)
No new notification data received [NotificationsApp.vue:389](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:421](webpack:///notifications/src/NotificationsApp.vue)
No new notification data received [NotificationsApp.vue:389](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:421](webpack:///notifications/src/NotificationsApp.vue)
jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own. 4 [globals.js:60:15](webpack:///nextcloud/core/src/globals.js)

​
szaimen commented 1 year ago

cc @ChristophWurst @st3iny @miaulalala @GretaD

st3iny commented 1 year ago

@the-moog Are you using external CalDAV clients to sync your Nextcloud calendars? Also, please confirm that cron jobs are working properly.

This might also be an issue with some reverse proxy: Please click on the button from the screenshot and open the copied link in a new tab. What do you see on the page?

grafik

the-moog commented 1 year ago

@st3iny Thanks for taking an interest in this issue at last.

My answers:

No external CALDAV. Copy of address as requested: https://nextcloud./remote.php/dav Background jobs are executed by Cron and work fine. File DAV also works fine.

FYI The calendar has not worked for us in a very, very long time. I would say at least 3 years, but probably longer. On the systems which exhibit this issue I have installed/removed the calendar extension and various related components numerous times (over all that time) without much change. Wasted rather a lot of time on this one.... We currently just work without this or any related features - which is a pity as we could use them. A ground up re-install is not really an option. In any case I really really think it would not work.

Clearly it is something with the way our install is configured or everybody would have this issue. But it seems others do have this issue on occasion, though it seems not for the same reason (or they give up and start over). Perhaps something in the server base image or something to do with the VPS provider.....

In the browser JS console I just see obfusticated JS code. I am guessing this is TS->JS generated?

Happy to get a debug env working if somebody will tell me how. I've done a bit of TS/JS coding in the past. Sadly, though I've tried a few time, I've never managed to work out how to debug a live system with the relevant source tree present, remotely.

I think part of the issue in resolving this is that the calendar is a plugin so it's very unclear if the probem with the plugin or the core code (or both). Each community has at some point in the past pushed the issue to the other.

The error at the failure point is always the same, an attempt to de-reference an unset JS variable.

Different browsers give similar errors but at different points in the same code. I think that's more to do with the way their respecitve debuggers and/or interpreters work and how they handle errors rather than the actual code itself.

Oberlurch3000 commented 1 year ago

For me running: "clear-php-opcache" and "nc-fix-permissions" at nextcloudPi fixed the problem after reloading the web page. I had infinite loading screen at calendar app and missing all contacts at contacts app.

btittelbach commented 8 months ago

I currently have this issue as well:

Calendar App Version: 4.6.2 Nextcloud Version: 27.1.5 Database: Postgresql 15

Observations

joshtrichards commented 7 months ago

@the-moog Can your share a snapshot of your Network tab from your browser console when reproducing this?

Also anything non-standard about your web server config for Nextcloud?

the-moog commented 7 months ago

@joshtrichards I've kind of decided that feature is never going to work. And those that were using it have drifted off to other solutions (MSOffice365) due to the Calendar never working, despite multiple re-installs. The same thing happens on multiple installs on multiple servers (in fact I've never seen it work since I started using NC - I was on OC until the fork). All I can think is I use Apache rather than Nginx. Servers are stock Ubuntu server (2018.04 iirc originally but upgraded since) Infrastucture is dedicated VPS hosted in Germany with a 10G network connection (not oversubscribed/resource limited). As for the config it's textbook. I've not really got time now to look into this as there would be no benefit as nobody is using it. When I was looking at it I wasted hours trying to understand the code flow.....