calendar icon indicating copy to clipboard operation
calendar copied to clipboard

Calendar not loading

Open the-moog opened this issue 4 years ago • 22 comments

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

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) ...

the-moog avatar Dec 07 '21 17:12 the-moog

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

pelaxa avatar Jan 26 '22 16:01 pelaxa

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

the-moog avatar Jan 26 '22 17:01 the-moog

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

the-moog avatar Jan 31 '22 13:01 the-moog

I do not think that oc_properties should be empty entirely.

pelaxa avatar Jan 31 '22 17:01 pelaxa

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 avatar Feb 21 '22 18:02 the-moog

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 avatar Feb 21 '22 19:02 the-moog

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 avatar Mar 07 '22 13:03 the-moog

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 avatar Mar 10 '22 11:03 the-moog

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

the-moog avatar May 31 '22 21:05 the-moog

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

the-moog avatar Jun 28 '22 09:06 the-moog

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')"

the-moog avatar Jun 28 '22 10:06 the-moog

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

pwnoobz avatar Nov 12 '22 14:11 pwnoobz

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

the-moog avatar Nov 12 '22 23:11 the-moog

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+

szaimen avatar Jan 23 '23 12:01 szaimen

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)

​

the-moog avatar Jan 24 '23 13:01 the-moog

cc @ChristophWurst @st3iny @miaulalala @GretaD

szaimen avatar Jan 24 '23 13:01 szaimen

@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

st3iny avatar Jan 24 '23 15:01 st3iny

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

My answers:

No external CALDAV. Copy of address as requested: https://nextcloud.<REDACTED>/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.

the-moog avatar Jan 24 '23 18:01 the-moog

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.

Oberlurch3000 avatar Jun 10 '23 11:06 Oberlurch3000

I currently have this issue as well:

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

Observations

  • Dav Server and external Clients are completely fine
  • ical events when exported look completely fine
  • only Nextcloud Calender App hangs and FREEZES the browser window
    • and ONLY in month view
    • and ONLY if viewing a month where many (>16?) concurrent and/or overlapping multiday events are in the calendar that wrap around at least two months (or years)
  • deleting some entries, solves the problem. Does not matter which entries, just reducing the number helps.
  • That is however no solution, as the entries need to be there

btittelbach avatar Jan 08 '24 16:01 btittelbach

@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?

joshtrichards avatar Feb 12 '24 00:02 joshtrichards

@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.....

the-moog avatar Feb 13 '24 21:02 the-moog