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

feat(mobile): share to mechanism #15229

Merged
merged 20 commits into from
Jan 17, 2025
Merged

feat(mobile): share to mechanism #15229

merged 20 commits into from
Jan 17, 2025

Conversation

alextran1502
Copy link
Contributor

@alextran1502 alextran1502 commented Jan 10, 2025

Closes #2659

This PR adds "Share to" option to the mobile app. This feature helps users who want to quickly upload media to their Immich instance without saving the media to the gallery first.

ScreenRecording_01-10-2025.13-05-53_1-1.mov

Caveat

When initializing a share action, iOS will default to using the most compatible format, so the HEIC file will be converted to JPEG unless the user changes the settings from the native share sheet before sending the action to the Immich app.

TODO

  • clear file cache

@mertalev
Copy link
Contributor

I think it's important that it warns you if the images aren't the originals or the location metadata is stripped. You don't want people using this without realizing that Immich isn't getting the original.

Also, how does this handle live photos on iOS? Is the video transferred as well?

@alextran1502
Copy link
Contributor Author

alextran1502 commented Jan 14, 2025

@mertalev

I think it's important that it warns you if the images aren't the originals or the location metadata is stripped. You don't want people using this without realizing that Immich isn't getting the original.
Also, how does this handle live photos on iOS? Is the video transferred as well?

You cannot reliably do this without reading the file EXIF metadata. This is not a primary use case for this feature. This feature allows you to upload quickly from a webpage or another messenger app without saving the media to your library.

LivePhotos only sends the image part.

For full file backup with a single selection, we will use the in-app picker mechanism like this https://github.com/fluttercandies/flutter_wechat_assets_picker which will integrate well with photo_manager's data type used across the app. I plan to have this in perhaps after this feature so we have all mechanisms for all upload use cases

mobile/lib/pages/share_intent/share_intent.page.dart Outdated Show resolved Hide resolved
mobile/lib/pages/share_intent/share_intent.page.dart Outdated Show resolved Hide resolved
mobile/lib/services/upload.service.dart Outdated Show resolved Hide resolved
@alextran1502 alextran1502 merged commit fd99bd0 into main Jan 17, 2025
36 checks passed
@alextran1502 alextran1502 deleted the share-intent branch January 17, 2025 03:20
vladd11 pushed a commit to vladd11/immich that referenced this pull request Jan 25, 2025
* setup ios

* chore: succesfully sent media to the app

* share from Android

* wip: navigate to share screen

* wip: UI for displaying upload candidate

* wip: logic

* wip: upload logic

* wip: up up up we got it up

* wip

* wip

* wip

* upload state

* feat: i18n

* fix: release build ios'

* feat: clear file cache

* pr feedback

* using const for checking download status

---------

Co-authored-by: Alex <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants