nextcloud / photos

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

Can't add shared photos to an album #2095

Open jakobroehrl opened 8 months ago

jakobroehrl commented 8 months ago

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: "", … }

jsobiecki commented 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.

AxelTheGerman commented 8 months ago

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

StormOli commented 7 months ago

Can confirm this issue still exists in Photos 2.3.0 and Nextcloud 27.1.3

jakobroehrl commented 6 months ago

Still with NC 28 there: DAV COPY error: 403 (Forbidden)

derDings81 commented 6 months ago

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. :-)

ubrfkr commented 6 months ago

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.

alishayei commented 5 months ago

No updates?

lgdumlao commented 2 months ago

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.

dhzl84 commented 2 months ago

Still not working on Nextcloud 28.0.4, Photos 2.4.0 and Memories 7.2.0

helmo commented 2 months ago

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.

tmlmt commented 1 month ago

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

PeggyFree commented 1 day ago

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.