photos icon indicating copy to clipboard operation
photos copied to clipboard

Can't add shared photos to an album (`Can't add file to album, only files from USER can be added`)

Open jakobroehrl opened this issue 1 year ago • 17 comments

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

jakobroehrl avatar Oct 17 '23 18:10 jakobroehrl

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.

jsobiecki avatar Oct 22 '23 19:10 jsobiecki

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

AxelTheGerman avatar Oct 28 '23 03:10 AxelTheGerman

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

StormOli avatar Nov 17 '23 13:11 StormOli

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

jakobroehrl avatar Dec 20 '23 06:12 jakobroehrl

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

derDings81 avatar Dec 31 '23 13:12 derDings81

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.

ubrfkr avatar Jan 04 '24 05:01 ubrfkr

No updates?

alishayei avatar Jan 24 '24 18:01 alishayei

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.

lgdumlao avatar Apr 18 '24 09:04 lgdumlao

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

dhzl84 avatar Apr 19 '24 12:04 dhzl84

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.

helmo avatar Apr 26 '24 07:04 helmo

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:

  • Previews have trouble being displayed. I need to refresh the page for them to appear. And I get an error in the log saying that some folder "appdata_xxxxxxxx/preview/a/b/1/2/3" couldn't get created. But it was created and the preview is generated is seems ...
  • the photo gets copied to the root of my Photos folder: is this the expected behavior?
  • I get another error message saying "Failed to add myphoto.jpg to collection photos/myuser/albums/myalbumname" in the UI and a "Webdav / Not found: myphoto.jpg" in the log. This comes from the following line: https://github.com/nextcloud/photos/blob/cc0c8804d0261368f0f05b5e8b095e17ef98e3ed/src/store/collections.js#L185 Why this error? I don't even see a folder called photos/myuser/albums in my data?

All in all, why so many webdav operations and copying files around to handle albums? It sounds a bit messy

tmlmt avatar May 23 '24 10:05 tmlmt

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.

PeggyFree avatar Jul 01 '24 09:07 PeggyFree

I absolutely agree! My wife and I are trying to collaborate on an album to share out with the rest of the family. Except she cannot add anything to the album because we pool together our pictures in a folder that I just share directly to her for her easy access. Seeing this limitation is extremely disappointing. I don't understand why Nextcloud has little quirks like this that breaks an otherwise good experience with the platform.

LukeRhok avatar Jul 03 '24 10:07 LukeRhok

Exact same problem here ... :(

dab0u avatar Aug 05 '24 10:08 dab0u

Same here.

Setup:

  • i sync my photos from my photo to my nextcloud, onto a folder on a mounted SMB Share
  • i share the SMB folder via nextcloud with another user
  • i create an Album in Memories, for example to collect photos for a montage and share that Album
  • the other user can see those photos in their Memories app and see the shared Album
  • BUT the other user cannot add to the Album

[webdav] Debug: Can't add file to album, only files from USER can be added COPY /remote.php/dav/files/USER/Shared/Photos/2024/08/NAME.heic from IP by USER at 11.08.2024, 09:45:17

001101111011101101 avatar Aug 11 '24 08:08 001101111011101101

Nextcloud is just not built to be a photo management system (creating albums, sharing albums, etc.). That part would need to be completely rewritten to be robust and feature-full. I would recommend carving that part out and using a dedicated solution such as Immich.

tmlmt avatar Aug 11 '24 16:08 tmlmt