calendar icon indicating copy to clipboard operation
calendar copied to clipboard

Shared calendars get "stuck" loading in web ui

Open mintyhippoxyz opened this issue 3 years ago • 5 comments

Expected behaviour

Calendars should load

Actual behaviour

I have around 15 calendars shared with me. Since I upgraded from 19.0.4 to 21 they do not all load (see screenshot) and it is intermittent which ones actually load each time. Screenshot 2021-04-07 095805

I have found a workaround, if I hide visibility of one that is stuck then the others that were stuck do finally load in.

Also, I'm not sure if it's a separate issue or related but the user avatars do not all load either. A handful of them either show a broken image or show the loading spinner indefinitely. The requests appear to 404.

Calendar app

Calendar app version: 2.2.0

CalDAV-clients used: (Thunderbird Lightning, DAVx5, Evolution, macOS Calendar, etc) Issue effects web UI

Client configuration

Browser: Latest versions of Chrome, Firefox & Edge

Operating system: Windows & Linux Mint

Server configuration

Docker install

Nextcloud Version: 21.0.0

Updated from an older installed version or fresh install: 19.0.4 > 20 > 21

List of activated apps:

If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your instance's installation folder

Nextcloud configuration:

If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your instance's 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, …)

Logs

Web server error log (e.g. /var/log/apache)

Insert your webserver log here

Log file (data/nextcloud.log)

{"reqId":"Tcm2RxPM2EYGhdZ8C9lN","level":3,"time":"2021-04-07T15:23:29+00:00","remoteAddr":"10.0.8.6","user":"--","app":"base","method":"REPORT","url":"/remote.php/dav/calendars/matta/marketing-webinars_shared_by_jent/","message":{"Exception":"ErrorException","Message":"s
ession_name(): Cannot change session name when headers already sent","Code":0,"Trace":[{"function":"trapError","class":"OC\\Session\\Internal","type":"->","args":[2,"session_name(): Cannot change session name when headers already sent","/var/www/html/lib/private/Session/Internal.php",209,{"functionName":"session_name","parameters":["oclmqquheibk"],"silence":false}]},{"function":"session_name","args":["oclmqquheibk"]},{"file":"/var/www/html/lib/private/Session/Internal.php","line":209,"function":"call_user_func_array","args":["session_na
me",["oclmqquheibk"]]},{"file":"/var/www/html/lib/private/Session/Internal.php","line":55,"function":"invoke","class":"OC\\Session\\Internal","type":"->","args":["session_name",["oclmqquheibk"]]},{"file":"/var/www/html/lib/base.php","line":417,"function":"__construct","class":"OC\\Session\\Internal","type":"->","args":["oclmqquheibk"]},{"file":"/var/www/html/lib/base.php","line":639,"function":"initSession","class":"OC","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":1076,"function":"init","class":"OC","type":"::","ar
gs":[]},{"file":"/var/www/html/remote.php","line":115,"args":["/var/www/html/lib/base.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/Session/Internal.php","Line":185,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0","version":"21.0.0.18"}

Browser log

c['{DAV:}resourcetype'] is undefined TypeError: c['{DAV:}resourcetype'] is undefined
    value davCollection.js:349
    value davCollection.js:337
    e calendar.js:154
    m runtime.js:63
    _invoke runtime.js:293
    M runtime.js:118
    Bt calendar.js:2
    i calendar.js:2
    promise callback*Bt calendar.js:2
    i calendar.js:2
    Rt calendar.js:2
    Rt calendar.js:2
    value calendar.js:53
    e calendar.js:110
    m runtime.js:63
    _invoke runtime.js:293
    M runtime.js:118
    Bt calendar.js:2
    i calendar.js:2
    Rt calendar.js:2
    Rt calendar.js:2
    value calendar.js:53
    n calendars.js:673
    m runtime.js:63
    _invoke runtime.js:293
    M runtime.js:118
    fe calendar.js:2
    i calendar.js:2
    promise callback*fe calendar.js:2
    i calendar.js:2
    ge calendar.js:2
    ge calendar.js:2
    getEventsFromCalendarInTimeRange calendars.js:668
    h vuex.esm.js:851
    dispatch vuex.esm.js:516
    dispatch vuex.esm.js:406
    n eventSource.js:56
    m runtime.js:63
    _invoke runtime.js:293
    M runtime.js:118
    ap calendar.js:2
    i calendar.js:2
    r calendar.js:2
    r calendar.js:2
    events eventSource.js:45
    Dl main.js:4515
    fetch main.js:6415
    wu main.js:6199
    xu main.js:6187
    Mu main.js:6170
    Su main.js:6162
    bu main.js:6119
    _handleAction main.js:6994
    runTask main.js:6820
    drain main.js:6812
    drained main.js:6783
    tryDrain main.js:6765
    request main.js:6726
    request main.js:6798
    resetOptions main.js:6961
    resetOptions main.js:102
    handler FullCalendar.js:62
    VueJS 4
main.js:6219:8

Uncaught (in promise) TypeError: t.t0.response is undefined
    t notificationsService.js:72
    m runtime.js:63
    _invoke runtime.js:293
    M runtime.js:118
    ot notifications-main.js:318
    i notifications-main.js:318
    promise callback*ot notifications-main.js:318
    i notifications-main.js:318
    it notifications-main.js:318
    it notifications-main.js:318
    lt notificationsService.js:53
    t notificationsService.js:39
    m runtime.js:63
    _invoke runtime.js:293
    M runtime.js:118
    ot notifications-main.js:318
    i notifications-main.js:318
    it notifications-main.js:318
    it notifications-main.js:318
    st notificationsService.js:26
    e App.vue:235
    m runtime.js:63
    _invoke runtime.js:293
    M runtime.js:118
    ct notifications-main.js:337
    i notifications-main.js:337
    dt notifications-main.js:337
    dt notifications-main.js:337
    _fetch App.vue:234
    _backgroundFetch App.vue:265
    setInterval handler*setupBackgroundFetcher App.vue:177
    _setPollingInterval App.vue:279
    mounted App.vue:140
    VueJS 13
    <anonymous> main.js:32
    Webpack 3
notificationsService.js:72:2

mintyhippoxyz avatar Apr 07 '21 15:04 mintyhippoxyz

Given the avatars and the notifications issues, it could be related to performance issues with all the requests at the same time.

tcitworld avatar Apr 08 '21 15:04 tcitworld

I have the docker volumes on NFS. I added a couple volumes to make logs go to the local disk instead of the default location in the data volume.

volumes:
  ...
  - /var/log/nextcloud.log:/var/www/html/data/nextcloud.log
  - /var/log/nextcloud.log.1:/var/www/html/data/nextcloud.log.1

After seeing @tcitworld's comment I had a hunch that was the bottleneck since the new version is logging an excessive amount of deprecation notices.

Anyways, that helped tremendously but I'm still intermittently seeing 1-3 calendars/avatars not load.

I'll see if I can find anything else I could possibly do the same with but if anyone has other ideas I'm all ears. I would prefer to keep the website root on NFS if possible so it's easier to move to a new host in the future.

mintyhippoxyz avatar Apr 14 '21 16:04 mintyhippoxyz

Anyways, that helped tremendously but I'm still intermittently seeing 1-3 calendars/avatars not load.

I'm having the same issue but with invitations. The sidebar works fine. But the avatars for invited user are missing, even though these user have working avatars.

The search autocomplete shows the avatar as expected. Screenshot 2021-04-19 at 08 50 48 Once the user is invited the avatar is gone. Screenshot 2021-04-19 at 08 50 58 In the Web console it is clear why: the Avatar URL is build with the display name instead of the username. Screenshot 2021-04-19 at 08 51 57

Here the user Nextcloud has the username nextcloud_admin. For the search field, the avatar is loaded as expected.

Fails with latest Chrome and Firefox, NC 21.0.1 and Calendar 2.2.0. User are managed through the LDAP backend. This is the only place where this happens.

loelkes avatar Apr 19 '21 07:04 loelkes

Is this still a known, open bug?

I'm having the same issue for only one of my users. The left dot keeps spinning (loading) for several shared or subscribed calendars, the entire website is unresponsive.

I can not unselect them, so no work-around for me.

Nextcloud 24.0.2 calendar 3.4.0 User are managed through the LDAP Happens for only one specific user, tried Firefox, Chrome, Safari latest versions. I tried restarting calendar and restarting Nextcloud without success.

Does anyone have a hint how to resolve this? Thanks a lot, paradeiser

paradeiser avatar Jun 27 '22 08:06 paradeiser

Seems to be the same issue, like https://github.com/nextcloud/calendar/issues/4313

Switching to WeekView makes the Calendar un-stuck: https://github.com/nextcloud/calendar/issues/4313#issuecomment-1167013511

paradeiser avatar Jun 27 '22 13:06 paradeiser