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

"Download all my photos"-button for face detection #3173

Open
JobDoesburg opened this issue Jun 7, 2023 · 2 comments
Open

"Download all my photos"-button for face detection #3173

JobDoesburg opened this issue Jun 7, 2023 · 2 comments
Assignees
Labels
app:facedetection Issues regarding the facedetection-app feature Issues regarding a complete new feature priority: low Should be dealt with when nothing else remains.

Comments

@JobDoesburg
Copy link
Collaborator

Is your feature request related to a problem? Please describe.

I want to download all photos of me

Describe the solution you'd like

A "Download all my photos"-button

Motivation

Describe alternatives you've considered

Additional context

@JobDoesburg JobDoesburg added priority: low Should be dealt with when nothing else remains. feature Issues regarding a complete new feature app:facedetection Issues regarding the facedetection-app labels Jun 7, 2023
@DeD1rk
Copy link
Member

DeD1rk commented Aug 20, 2023

This would be really nice to have. There's also #2770.

I think we could tackle both of them by writing an AWS Lambda that zips a list of s3 objects, and saves it to S3. The original problems for #2770 then no longer apply.

I think it would be nice to keep track of those archives with a model, for zipped albums as well as face detection photos. Then we can:

  • make sure they're recreated when needed (when a photo is added/deleted/(un)hidden from an album, or when a user requests their facedetection photos and the matches have changed).
  • make sure we don't store large orphaned archives when new ones have been created.
  • limit people from requesting their facedetection photos too often (the matches can vary quite frequently and creating archives would probably be very resource-intensive).
  • pre-generate the zips for albums

We could keep track of the exact files that need to be included in an archive by hashing the photos (filenames or even content hashes), and storing that on the zip model. It's really easy and efficient to check whether the stored archive is up to date.

For the UI, when an up-to-date archive already exists, a link to that can just be rendered. For facedetection if an archive doesn't exist yet, we can have JS do an API call to trigger the creation, and either poll until it's done, or have a slow hanging response if we await for lambda completion in the response cycle.

@DeD1rk
Copy link
Member

DeD1rk commented Aug 20, 2023

@T8902 T8902 self-assigned this Jun 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app:facedetection Issues regarding the facedetection-app feature Issues regarding a complete new feature priority: low Should be dealt with when nothing else remains.
Projects
None yet
Development

No branches or pull requests

3 participants