Open jakobroehrl opened 8 months ago
I can confirm issue reported by @jakobroehrl on m end. I received identical output when tried to add shared file to album. I'm using Photos 2.3.0 and Nextcloud version 27.1.2.
Same here, just took Photos for a spin and unable to add most of my (i.e. shared with me) pictures even though it's also a collaborative album with the same user who owns the pictures
Can confirm this issue still exists in Photos 2.3.0 and Nextcloud 27.1.3
Still with NC 28 there: DAV COPY error: 403 (Forbidden)
I lately also ran into this problem. Users can only add their own files to albums.
It would really be great if this could be fixed or at least a workaround and better error handling could be implemented. :-)
I also have this problem. Does anyone know of a work-around? I had a look at the source-code but couldn't orientate myself to find an easy solution.
No updates?
Same problem on Nextcloud 27.1.8, Photos 2.3.0 and Memories 7.2.0. This is still the case even if I am given edit authorization on the shared folder.
Still not working on Nextcloud 28.0.4, Photos 2.4.0 and Memories 7.2.0
I'm also ran into this.
I found the code that generates this error in https://github.com/nextcloud/photos/blob/master/lib/Sabre/Album/AlbumRoot.php#L167
When I comment just that line "it works for me".... but that's a very limited testcase. I think we need to add a condition there that checks access when the uid does not match.
I confirm this error, which also affects pulsejet/memories
which depends on nextcloud/photos
When adding a photo owned by another user but shared with me, the following error appears in the log:
Application: webdav Message: Forbidden Can't add file to album, only files from myuser can be added
Which actually comes from line 152 in this extract: https://github.com/nextcloud/photos/blob/cc0c8804d0261368f0f05b5e8b095e17ef98e3ed/lib/Sabre/Album/AlbumRoot.php#L149-L153
Obviously, the check is incomplete, it should also be authorized to add a photo which is shared to us.
Replacing the above lines 151 to 153 by the following does the trick (as well as of course disabling this check entirely):
if ($ownerUID !== $uid && !$this->albumMapper->isCollaborator($this->album->getAlbum()->getId(), $ownerUID)) {
throw new Forbidden("Can't add photo to album, only photos from $uid can be added unless the album is shared with the owner of the photo ($ownerUID)");
}
My photo gets added but I get a number of weird things:
All in all, why so many webdav operations and copying files around to handle albums? It sounds a bit messy
Hello,
As described here and in this Nextcloud topic, this limitation is truly disappointing as group photos are usually stored in a shared folder, when doing so it is no longer possible to create photo albums. For this reason, today in 2024 I still use the old file view to browse and create basic shared links instead of benefiting from Memories capabilities.
I share a lot of pics with my wife. I can add all of them to an album, but she can not: "Failed to add xyz.jpg to album own."
object { app: "photos", uid: "verena", level: "2", error: Error } app: "photos" error: Error: Invalid response: 403 columnNumber: 1641624 fileName: "https://server/apps/photos/js/photos-main.js?v=a4ddf491-16" lineNumber: 2 message: "Invalid response: 403 " response: Object { data:
<?xml version="1.0" encoding="utf-8"?>\n<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">\n <s:exception>Sabre\\DAV\\Exception\\Forbidden</s:exception>\n <s:message>Can't add file to album, only files from user can be added</s:message>\n</d:error>\n
, status: 403, statusText: "", … }