nextcloud / photos

📸 Your memories under your control
GNU Affero General Public License v3.0
588 stars 62 forks source link

Scrolling photos stop loading vue-virtual-grid e is undefined #1131

Open oddstr13 opened 2 years ago

oddstr13 commented 2 years ago

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Open Photos app
  2. Scroll down
  3. See error

Expected behavior A near endless row of pictures

Screenshots image

Desktop (please complete the following information):

Browser log

00:35:06.140 Error fetching timeline 
Object { message: "Changed view" }
photos-src_patchedRequest_js-node_modules_moment_locale_sync_recursive_-src_views_Timeline_vue.js:2:21512
    e VueJS
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    VueJS 7
    e NextJS
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    NextJS 7
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    NextJS 4
    ot photos-main.js:2
    et photos-main.js:2
    (Async: promise callback)
    Ye photos-main.js:2
    ot photos-main.js:2
    $nextTick photos-main.js:2
    NextJS 2
    Ze photos-main.js:2
    un photos-main.js:2
    insert photos-main.js:2
    S photos-main.js:2
    yi photos-main.js:2
    _update photos-main.js:2
    r photos-main.js:2
    get photos-main.js:2
    run photos-main.js:2
    yn photos-main.js:2
    ot photos-main.js:2
    et photos-main.js:2
    (Async: promise callback)
    Ye photos-main.js:2
    ot photos-main.js:2
    update photos-main.js:2
    update photos-main.js:2
    notify photos-main.js:2
    set photos-main.js:2
    set photos-main.js:2
    loading photos-main.js:2
    Ze photos-main.js:2
    n photos-main.js:2
    Ze photos-main.js:2
    $emit photos-main.js:2
    e VueJS
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    VueJS 7
    e NextJS
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    NextJS 2

### multiple;
00:35:06.653 GEThttps:// /core/preview?fileId=1337&c=deadbeef&x=250&y=250&forceIcon=0&a=1
[HTTP/1.1 404 Not Found 0ms]

### New images stop loading after this error;

00:35:37.604 TypeError: e is undefined
    lr photos-main.js:2
    k photos-main.js:2
    k photos-main.js:2
    k photos-main.js:2
    k photos-main.js:2
    yi photos-main.js:2
    _update photos-main.js:2
    r photos-main.js:2
    get photos-main.js:2
    run photos-main.js:2
    yn photos-main.js:2
    ot photos-main.js:2
    et photos-main.js:2
    promise callback*Ye photos-main.js:2
    ot photos-main.js:2
    update photos-main.js:2
    update photos-main.js:2
    notify photos-main.js:2
    set photos-main.js:2
    set photos-main.js:2
    NextJS 2
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    NextJS 8
    Ze photos-main.js:2
    un photos-main.js:2
    insert photos-main.js:2
    S photos-main.js:2
    yi photos-main.js:2
    _update photos-main.js:2
    r photos-main.js:2
    get photos-main.js:2
    run photos-main.js:2
    yn photos-main.js:2
    ot photos-main.js:2
    et photos-main.js:2
    promise callback*Ye photos-main.js:2
    ot photos-main.js:2
    update photos-main.js:2
    update photos-main.js:2
    notify photos-main.js:2
    set photos-main.js:2
    set photos-main.js:2
    loading photos-main.js:2
    Ze photos-main.js:2
    n photos-main.js:2
    Ze photos-main.js:2
    $emit photos-main.js:2
    e VueJS
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    VueJS 7
    e NextJS
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    NextJS 2
photos-main.js:2:855554
How to access your browser console (Click to expand) # Chrome - Press either CTRL + SHIFT + J to open the “console” tab of the Developer Tools. - Alternative method: 1. Press either CTRL + SHIFT + I or F12 to open the Developer Tools. 2. Click the “console” tab. # Safari - Press CMD + ALT + I to open the Web Inspector. - See Chrome’s step 2. (Chrome and Safari have pretty much identical dev tools.) # IE9 1. Press F12 to open the developer tools. 2. Click the “console” tab. # Firefox - Press CTRL + SHIFT + K to open the Web console (COMMAND + SHIFT + K on Macs). - or, if Firebug is installed (recommended): 1. Press F12 to open Firebug. 2. Click on the “console” tab. # Opera 1. Press CTRL + SHIFT + I to open Dragonfly. 2. Click on the “console” tab.

Additional context Seems to happen every time, but when or where it happens isn't consistent. Apologies for not including the whole log, but it contains too much sensitive information.

oddstr13 commented 2 years ago

While the stack trace doesn't seem exact, it looks like this is at least related to, if not duplicate of #748

skjnldsv commented 2 years ago

Please fix your webserver config and allow the serving of .map files :) https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html?highlight=map

Then check the console again, you should have a proper stacktrace

oddstr13 commented 2 years ago

While there's no section in my config specifically for the .map files, they are served via the default location / block. Looks like Firefox didn't use the maps for whatever reason. I did check the disable cache button now, I guess it's possible that did the trick, however I see that the map files where loaded last night too (in the access log).

Looks like the minified js still isn't handled tho

11:28:15.784 Error fetching timeline 
Object { message: "Changed view" }
Timeline.vue:281
    e Timeline.vue:281
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    N Loader.vue:20
    o Loader.vue:20
    (Async: promise callback)
    N Loader.vue:20
    a Loader.vue:20
    U Loader.vue:20
    U Loader.vue:20
    getContent Timeline.vue:223
    e vue-virtual-grid.es.js:430
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    r Actions.js:2
    s Actions.js:2
    s Actions.js:2
    s Actions.js:2
    value vue-virtual-grid.es.js:368
    value vue-virtual-grid.es.js:416
    t vue-virtual-grid.es.js:412
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    r Actions.js:2
    s Actions.js:2
    s Actions.js:2
    s Actions.js:2
    VueJS 5
    value vue-virtual-grid.es.js:411
    value vue-virtual-grid.es.js:395
    VueJS 19
    loading Photos.vue:1
    VueJS 4
    e Timeline.vue:285
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    N Loader.vue:20
    a Loader.vue:20
    (Async: promise callback)
    N Loader.vue:20
    a Loader.vue:20
    U Loader.vue:20
    U Loader.vue:20
    getContent Timeline.vue:223
    e vue-virtual-grid.es.js:430
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    r Actions.js:2
    s Actions.js:2

11:29:03.865 TypeError: e is undefined
    VueJS 20
    value vue-virtual-grid.es.js:448
    e vue-virtual-grid.es.js:423
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    r Actions.js:2
    s Actions.js:2
    s Actions.js:2
    s Actions.js:2
    value vue-virtual-grid.es.js:368
    value vue-virtual-grid.es.js:416
    value vue-virtual-grid.es.js:407
    value vue-virtual-grid.es.js:397
    VueJS 19
    loading Photos.vue:1
    VueJS 4
    e Timeline.vue:285
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    N Loader.vue:20
    a Loader.vue:20
    promise callback*N Loader.vue:20
    a Loader.vue:20
    U Loader.vue:20
    U Loader.vue:20
    getContent Timeline.vue:223
    e vue-virtual-grid.es.js:430
    u runtime.js:288
    _invoke runtime.js:262
    C runtime.js:84
    r Actions.js:2
    s Actions.js:2
vue.runtime.esm.js:1897:12
MoskiT87 commented 2 years ago

Had exactly the same problem, just check if the cron background job is running correctly

oddstr13 commented 2 years ago

«Background jobs; Last job ran 3 minutes ago.» Crontab looks working to me