Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

duplicate function lists duplicate but fails to delete them => Can't delete asset: DeleteAsset, DELETE 400 Bad Request #223

Open
MrColumbo opened this issue Apr 20, 2024 · 5 comments

Comments

@MrColumbo
Copy link

After moving more and more stuff to Immich I wanted to use the duplicate function of immich-go since i used that tool to upload a lot of photos.

When I try it i get results but whenever i select yes i get an error

For example it looks like that:

immich-go -server http://192.168.178.186:2283 -key ####################### duplicate

There are 2 copies of the asset 222.JPG.JPG, taken on 1970-04-16T22:22:45+01:00
delete 222.JPG 2048x1536, 370.8 KB, upload/library/692a9ac8-b728-4c8a-897d-6c84c94c2053/1970/1970-04-16/222.JPG
keep 222.JPG 2048x1536, 370.8 KB, upload/library/f129e4df-22fb-4000-b3ce-3f8fe2412698/1970/1970-04-16/222.JPG
Proceed? [n]/y: y
Can't delete asset: DeleteAsset, DELETE, http://192.168.178.186:2283/api/asset, 400 Bad Request
Bad Request

Since i am doing that locally without the reverse proxy i was able to sniff the traffic ....the actual HTTP traffic looks like that

DELETE /api/asset HTTP/1.1
Host: 192.168.178.186:2283
User-Agent: Go-http-client/1.1
Transfer-Encoding: chunked
Accept: application/json
Content-Type: application/json
X-Api-Key: #########################################
Accept-Encoding: gzip

{"force":false,"ids":["###################"]}
HTTP/1.1 400 Bad Request
X-Powered-By: Express
x-immich-cid: pxu7smfs
Content-Type: application/json; charset=utf-8
Content-Length: 88
ETag: "#######################"
Date: Sat, 20 Apr 2024 14:17:51 GMT
Connection: keep-alive
Keep-Alive: timeout=5

{"message":"Not found or no asset.delete access","error":"Bad Request","statusCode":400}GET /api/album?assetId=############################### HTTP/1.1
Host: 192.168.178.186:2283
User-Agent: Go-http-client/1.1
Accept: application/json
X-Api-Key: ######################################
Accept-Encoding: gzip

using the search function and the filename and date I found the 2 duplicates ....they really exist

@MrColumbo
Copy link
Author

MrColumbo commented Apr 20, 2024

since i found the 2 files via search i thought lets have a look if i am able to delete them via the gui - well - i am not able to delete them via the gui either. . I guess the 2 assets are from my partner.

Is the duplicate returning results which are read only for the user owning the api key used to run the command? Somehow it is nice to those but at the same time i feel it does make sense to ask the user with read only access if it fine to delete them ;)
Or do I miss something?

@MrColumbo
Copy link
Author

i did ran the command again with the other api key and now it works

@MrColumbo
Copy link
Author

it gets quite funny when there is a duplicate when there is one in your account in one in your partner account and immich-go decides to keep the one which it could delete but wants to delete the one from your partner.
I looks like it even does that when i use the api key from my partner ....

@simulot
Copy link
Owner

simulot commented Apr 21, 2024

Interesting case. The duplicate search is done on the list of assets delivered by the api. It may happen that partner's photos are included. That would explain the deletion error.

@MrColumbo
Copy link
Author

I agree - the API obviously returns the partner images as well and I consider this as a benefit / feature to be able to look for duplicates in all assets (accessible to you) but unfortunately the client does not seem to recognize when results return assets where one asset belongs to the partner and one belongs to you.
I wish there would be a switch to tell the client to keep the partner assets and delete your assets or ignore those. Thinking a bit more about it I think it might be also nice to have a way to prefer to keep the ones being part of an album.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants