-
-
Notifications
You must be signed in to change notification settings - Fork 77
Description
Describe the bug
Photos: v4.0.0-dev.1
Nextcloud v31.0.5
OS: Arch Linux
nginx v1.27.5
mariadb v.11.7.2
Any changes in "Media Folders" and "Upload Folder" will cause the DB entry in oc_preferences to contain the an array similar to ["/path/to/folder"] for the column configvalue.
In the case of "Media Folders" the entry will be inserted into the array causing a type exception when calling the photos app and rendering the "Media Folders" list empty. This will cause type exceptions in the browser console, when entering context where the configvalue is used, and no items for the paths or in the Photo-View to be shown.
In the case of "Upload Folder" config value will be interpreted as /["/path/to/actual/folder"] in the folder picker on attempting another change, if /path/to/actual/folder was previously picked and confirmed.
Manually changing/updating the values in the database to conform with ["/pathliteral1","/pathliteral2"...] for "Media Folders" or /pathliteral for "Upload Folder" will correct the issue.
To Reproduce
Steps to reproduce the behavior:
- Attempt to add or change folder for "Media Folders" or "Upload Folder" in Photos-App Settings context, ending in confirming the path selection in the folder picker.
Expected behavior
Media Folders:
configvalue should be a 1D array with "-terminated string literals representing the paths
Upload Folder:
configvalue should be an unterminated string literal representing the path
Desktop
- OS: Arch Linux
- Browser: Any (Firefox, LibreWolf, Falkon, Chromium)
Server
- Nextcloud: 31.0.5
- Photos: 4.0.0-dev.1
- OS: Arch Linux
- nginx: 1.27.5
- mariadb: 11.7.2
Browser log
Firefox
[WARN] viewer: Some mimes were ignored because they are not enabled in the server previews config
Object { app: "viewer", uid: "nb", level: 2, ignoredMimes: (3) […] }
[index.mjs:51:16](https://concreteserver.ddns.net/nextcloud/apps/viewer/node_modules/@nextcloud/logger/dist/index.mjs)
OCA.Files.Sidebar initialized [Sidebar.js:19:10](webpack:///nextcloud/apps/files/src/services/Sidebar.js)
OCA.Comments.View initialized [comments-app.js:15:8](webpack:///nextcloud/apps/comments/src/comments-app.js)
OCA.Sharing.ShareSearch initialized [ShareSearch.js:16:10](webpack:///nextcloud/apps/files_sharing/src/services/ShareSearch.js)
OCA.Sharing.ExternalLinkActions initialized [ExternalLinkActions.js:16:10](webpack:///nextcloud/apps/files_sharing/src/services/ExternalLinkActions.js)
OCA.Sharing.ExternalShareActions initialized [ExternalShareActions.js:16:10](webpack:///nextcloud/apps/files_sharing/src/services/ExternalShareActions.js)
session heartbeat polling started [session-heartbeat.js:83:9](webpack:///nextcloud/core/src/session-heartbeat.js)
Notifications permissions granted [NotificationsApp.vue:417](https://concreteserver.ddns.net/nextcloud/apps/notifications/src/NotificationsApp.vue)
Polling interval updated to 30000 [NotificationsApp.vue:380](https://concreteserver.ddns.net/nextcloud/apps/notifications/src/NotificationsApp.vue)
Started background fetcher as session_keepalive is enabled [NotificationsApp.vue:251](https://concreteserver.ddns.net/nextcloud/apps/notifications/src/NotificationsApp.vue)
Got notification data, restoring default polling interval. [NotificationsApp.vue:336](https://concreteserver.ddns.net/nextcloud/apps/notifications/src/NotificationsApp.vue)
Content-Security-Policy: The report URI (about:blank) should be an HTTP or HTTPS URI. [Photos.vue:197](webpack:///photos/src/Photos.vue)
Content-Security-Policy: (Report-Only policy) The page’s settings would block a worker script (worker-src) at https://concreteserver.ddns.net/nextcloud/index.php/apps/photos/service-worker.js from being executed because it violates the following directive: “worker-src 'none'” [Photos.vue:197](webpack:///photos/src/Photos.vue)
Content-Security-Policy: The report URI (about:blank) should be an HTTP or HTTPS URI. [photos](https://concreteserver.ddns.net/nextcloud/apps/photos/)
Content-Security-Policy: (Report-Only policy) The page’s settings would block a worker script (worker-src) at https://concreteserver.ddns.net/nextcloud/index.php/apps/photos/service-worker.js from being executed because it violates the following directive: “worker-src 'none'” [photos](https://concreteserver.ddns.net/nextcloud/apps/photos/)
TypeError: this.path.split is not a function
folderName PhotosFolder.vue:71
VueJS 3
C PhotosFolder.vue:1
VueJS 24
[vue.runtime.esm.js:3065:16](webpack:///photos/node_modules/vue/dist/vue.runtime.esm.js)
[ERROR] photos: Error fetching files
Object { app: "photos", uid: "nb", level: 2, error: TypeError }
[ConsoleLogger.js:74:18](webpack:///photos/node_modules/@nextcloud/logger/dist/ConsoleLogger.js)
[ERROR] photos: Error fetching files
Object { app: "photos", uid: "nb", level: 2, error: TypeError }
[ConsoleLogger.js:74:18](webpack:///photos/node_modules/@nextcloud/logger/dist/ConsoleLogger.js)
TypeError: this.path.split is not a function
folderName PhotosFolder.vue:71
VueJS 3
C PhotosFolder.vue:1
VueJS 4
[vue.runtime.esm.js:3065:16](webpack:///photos/node_modules/vue/dist/vue.runtime.esm.js)
Uncaught (in promise) Error: FilePicker: No nodes selected
u index.mjs:18
pickNodes index.mjs:62
close dialog.mjs:14
VueJS 4
handleClose FilePicker-Bp973DaS.mjs:1059
VueJS 4
f NcDialog-D2lwwZL-.mjs:224
VueJS 4
close NcModal.mjs:440
[index.mjs:18](webpack:///photos/node_modules/@nextcloud/dialogs/dist/index.mjs)
Falkon
Error with Feature-Policy header: Unrecognized feature: 'payment'.
images.js:55 [WARN] viewer: Some mimes were ignored because they are not enabled in the server previews config {app: 'viewer', uid: 'nb', level: 2, ignoredMimes: Array(3)}
log @ index.mjs:51
warn @ index.mjs:69
(anonymous) @ images.js:55
Show 2 more frames
Show less
session-heartbeat.js:83 session heartbeat polling started
FetchFilesMixin.js:109 [ERROR] photos: Error fetching files {app: 'photos', uid: 'nb', level: 2, error: TypeError: n.charAt is not a function
at i (https://concreteserver.ddns.net/nextcloud/apps/phot…}
value @ ConsoleLogger.js:74
value @ ConsoleLogger.js:100
fetchFiles @ FetchFilesMixin.js:109
await in fetchFiles
getContent @ Timeline.vue:263
fn @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
fn @ vue.runtime.esm.js:3033
e.$emit @ vue.runtime.esm.js:3732
needContent @ FilesListViewer.vue:229
fn @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
fn @ vue.runtime.esm.js:3033
e.$emit @ vue.runtime.esm.js:3732
isNearBottom @ VirtualScrolling.vue:259
fn @ vue.runtime.esm.js:3033
e.run @ vue.runtime.esm.js:3550
oa @ vue.runtime.esm.js:4141
(anonymous) @ vue.runtime.esm.js:3159
yn @ vue.runtime.esm.js:3081
Promise.then
vn @ vue.runtime.esm.js:3106
xn @ vue.runtime.esm.js:3171
sa @ vue.runtime.esm.js:4227
e.update @ vue.runtime.esm.js:3529
e.notify @ vue.runtime.esm.js:732
set @ vue.runtime.esm.js:976
Na.Ba.set @ vue.runtime.esm.js:5376
(anonymous) @ VirtualScrolling.vue:297
Show 22 more frames
Show less
FetchFilesMixin.js:109 [ERROR] photos: Error fetching files {app: 'photos', uid: 'nb', level: 2, error: TypeError: n.charAt is not a function
at i (https://concreteserver.ddns.net/nextcloud/apps/phot…}
value @ ConsoleLogger.js:74
value @ ConsoleLogger.js:100
fetchFiles @ FetchFilesMixin.js:109
await in fetchFiles
getContent @ Timeline.vue:263
fn @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
fn @ vue.runtime.esm.js:3033
e.$emit @ vue.runtime.esm.js:3732
needContent @ FilesListViewer.vue:229
fn @ vue.runtime.esm.js:3033
n @ vue.runtime.esm.js:1832
fn @ vue.runtime.esm.js:3033
e.$emit @ vue.runtime.esm.js:3732
visibleSections @ VirtualScrolling.vue:267
fn @ vue.runtime.esm.js:3033
e.run @ vue.runtime.esm.js:3550
oa @ vue.runtime.esm.js:4141
(anonymous) @ vue.runtime.esm.js:3159
yn @ vue.runtime.esm.js:3081
Promise.then
vn @ vue.runtime.esm.js:3106
xn @ vue.runtime.esm.js:3171
sa @ vue.runtime.esm.js:4227
e.update @ vue.runtime.esm.js:3529
e.notify @ vue.runtime.esm.js:732
set @ vue.runtime.esm.js:976
Na.Ba.set @ vue.runtime.esm.js:5376
(anonymous) @ VirtualScrolling.vue:297
Show 22 more frames
Show less
NotificationsApp.vue:434 Notifications permissions not yet requested
Additional context
Database Changes, when first adding a new folder to the "Media Folders" and than changing the "Upload Folder"
MariaDB [nextcloud]> select * from oc_preferences where appid='photos';
+--------+--------+---------------------+-----------------------------+------+------+-------+---------+
| userid | appid | configkey | configvalue | lazy | type | flags | indexed |
+--------+--------+---------------------+-----------------------------+------+------+-------+---------+
| test | photos | photosSourceFolders | ["/Photos","/SofortUpload"] | 0 | 0 | 0 | |
+--------+--------+---------------------+-----------------------------+------+------+-------+---------+
1 row in set (0,001 sec)
MariaDB [nextcloud]> select * from oc_preferences where appid='photos';
+--------+--------+---------------------+---------------------------------------+------+------+-------+---------+
| userid | appid | configkey | configvalue | lazy | type | flags | indexed |
+--------+--------+---------------------+---------------------------------------+------+------+-------+---------+
| test | photos | photosSourceFolders | ["/Photos","/SofortUpload",["/ADAC"]] | 0 | 0 | 0 | |
+--------+--------+---------------------+---------------------------------------+------+------+-------+---------+
1 row in set (0,000 sec)
MariaDB [nextcloud]> select * from oc_preferences where appid='photos';
+--------+--------+---------------------+---------------------------------------+------+------+-------+---------+
| userid | appid | configkey | configvalue | lazy | type | flags | indexed |
+--------+--------+---------------------+---------------------------------------+------+------+-------+---------+
| test | photos | photosLocation | ["/SofortUpload"] | 0 | 0 | 0 | |
| test | photos | photosSourceFolders | ["/Photos","/SofortUpload",["/ADAC"]] | 0 | 0 | 0 | |
+--------+--------+---------------------+---------------------------------------+------+------+-------+---------+
2 rows in set (0,001 sec)