nextcloud / photos

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

Firefox - Thumbnails do not show in publicly shared photo album. #2109

Open solarisfire opened 11 months ago

solarisfire commented 11 months ago

Describe the bug Thumbnails do not show in an unauthenticated session using a public photo album link.

To Reproduce Steps to reproduce the behavior:

  1. Use Firefox
  2. Create an album with some photos.
  3. Create a publicly shared link
  4. Paste it into a "Private" window.

Expected behavior The album has blank tiles where the thumbnails should be. However clicking on each tile allows you to view the photo.

Screenshots image

Desktop (please complete the following information):

Browser log

Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content. node.js:401
JQMIGRATE: Migrate is installed, version 3.4.1 jquery-migrate.min.js:2:980
[WARN] viewer: Some mimes were ignored because they are not enabled in the server previews config 
Object { app: "viewer", level: 2, ignoredMimes: (3) […] }
ConsoleLogger.js:56:18
OCA.Viewer initialized Viewer.js:81:10
Proxying an event bus of version 3.1.0 with 1.3.0 index.es.js:2337:14
Proxying an event bus of version 3.1.0 with 1.3.0 index.es.js:2337:14
session heartbeat polling started session-heartbeat.js:103:9
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
DOMException: The operation is insecure.
    l PreviewService.js:32
    mounted File.vue:164
    VueJS 18
    addFilesToPublicAlbum collectionStoreFactory.js:80
    A vuex.esm.js:844
    commit vuex.esm.js:466
    commit vuex.esm.js:465
    _withCommit vuex.esm.js:624
    commit vuex.esm.js:464
    commit vuex.esm.js:409
    fetchAlbumContent PublicAlbumContent.vue:275
    beforeMount PublicAlbumContent.vue:203
    VueJS 24
    init vue-router.esm.js:3005
    init vue-router.esm.js:3004
    updateRoute vue-router.esm.js:2414
    transitionTo vue-router.esm.js:2263
    confirmTransition vue-router.esm.js:2402
vue.runtime.esm.js:3049:16
sopvkore commented 10 months ago

This seems to be Firefox related 'per se'. It is not specific to publicly shared albums. But ... I'm observing it only under some 'strange' conditions. Say, user logged in in a private browsing window or a public link in a private browsing window.

Update: I've investigated this a bit more and I am confident the issue is related to Firefox's Private browsing mode only. Not sure whether it is Firefox's problem of NC's. I also confirm previews display in private/incognito mode of other 'major' browsers just fine.

joshtrichards commented 1 month ago

DOMException: The operation is insecure.

Are you accessing your instance via HTTP or HTTPS typically?

Please check your browser inspector, under the Network tab and see what transactions are failing. My guess is this is a configuration matter in your Server (possibly missing/invalid overwrite* parameters if behind a reverse proxy or cloudflare). Or maybe we're generating URLs wrong somewhere.