-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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(web): add download shortcut on the timeline & asset viewer #12339
feat(web): add download shortcut on the timeline & asset viewer #12339
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's better to add the shortcut directly in the download action to avoid duplicating logic and to make sure it also works for shared links
assetInteractionStore.clearMultiselect(); | ||
await downloadFile(asset); | ||
return; | ||
} | ||
|
||
assetInteractionStore.clearMultiselect(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably clear the selection after the download happens. Also, can you wrap this in a try/catch that uses handleError
to send a notification to the user if something goes wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The downloadFile
promise only resolves once the file is fully downloaded. Clearing the selection afterwards could be problematic, because the user can change the selection in the meantime. This function already does some error handling and will show a notification if the download fails, so I'm not sure if the try/catch is even needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see.
fdd6937
to
0294382
Compare
Great idea! It turns out the asset viewer already had the shortcut implemented. It was simply missing from the photos page |
…114.0 (#951) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/immich-app/immich-server](https://redirect.github.com/immich-app/immich) | minor | `v1.113.1` -> `v1.114.0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>immich-app/immich (ghcr.io/immich-app/immich-server)</summary> ### [`v1.114.0`](https://redirect.github.com/immich-app/immich/releases/tag/v1.114.0) [Compare Source](https://redirect.github.com/immich-app/immich/compare/v1.113.1...v1.114.0) ### v1.114.0 #### Highlights Welcome to release `v1.114.0` of Immich. Who doesn't love a juicy release on a Friday? This release focuses on additional enhancements and bug fixes for recent new features. Please find some of the highlights below: - Tag improvements (including Lightroom support) - Import faces from EXIF and XMP sidecars (Digikam format) - Better handling of timezones - Upload panel \*\*New look\*\* - Automatic database reconnection ##### Tag improvements Since the last release, when we introduced support for tags, we have made a few changes based on your feedback. - We now support reading from `HierarchicalSubject`. Values will be parsed as hierarchical tags, with `|` as a delimiter. - We now only read from `Keywords` as a fallback when no hierarchical tag information is available - We have fixed a bug where you could not remove the last tag from EXIF/XMP. NOTE: these changes apply to the metadata extraction job. To apply them to your photos and videos, re-run metadata extraction. ##### Import faces from metadata This release adds the ability to read face metadata in Digikam format during metadata extraction, increasing interoperability with other software and laying the foundation for faces from sources other than machine learning. Note that there are certain limitations with these faces. These limitations may be removed in a later release: - Assets that contain face metadata are skipped during face detection - Faces from metadata are not considered during facial recognition - Faces from metadata are grouped into people based on name - Only face metadata in Digikam format is supported You can enable this feature by going to `Administration > Metadata Settings`. ##### Better handling of timezones This version fixes some issues related to how timezone offsets are parsed and how timezones and offsets are displayed. The offset is now parsed correctly for photos and videos taken with the "+00:00" offset (e.g., several African countries, Iceland, Portugal/UK/Ireland in winter). If you notice that the "+00:00" offset is not shown correctly, please re-run the "Extract Metadata" job on all photos and videos. ##### Upload panel The upload panel has a new look! It works the same as before, except that duplicates are no longer automatically cleared from the queue. They will remain behind, along with a clickable icon, that links to the deduped image. | Light | Dark | | - | - | | ![image](https://redirect.github.com/user-attachments/assets/2911ed68-6ea2-4688-9b6e-57df7b801fc8) | ![image](https://redirect.github.com/user-attachments/assets/9f7a65f2-6f4a-4112-bc0c-a0f43ca83716) | ##### Automatic database reconnection Previously, when the connection to the database was interrupted for any reason (restart, timeout, network interruption, etc.), the server would never reconnect. Restoring the connection required a container restart. Now, the server will automatically try to reconnect every 5 seconds indefinitely. ![image](https://redirect.github.com/user-attachments/assets/c0814c51-a4b0-45ac-8875-4c837acdedf9) *** #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> If you find the project helpful, you can support Immich by purchasing a product key at <https://buy.immich.app>. Cheers! 🍻 <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### 🚀 Features - feat(server): Import face regions from metadata by [@​bugfest](https://redirect.github.com/bugfest) in [https://github.com/immich-app/immich/pull/6455](https://redirect.github.com/immich-app/immich/pull/6455) ##### 🌟 Enhancements - feat(server): support lightroom tags by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12288](https://redirect.github.com/immich-app/immich/pull/12288) - feat(web): show folder navigation in root directory by [@​ben-basten](https://redirect.github.com/ben-basten) in [https://github.com/immich-app/immich/pull/12299](https://redirect.github.com/immich-app/immich/pull/12299) - chore(mobile): handle sync album on duplicated by [@​alextran1502](https://redirect.github.com/alextran1502) in [https://github.com/immich-app/immich/pull/12173](https://redirect.github.com/immich-app/immich/pull/12173) - feat(web): sort albums in modal by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12331](https://redirect.github.com/immich-app/immich/pull/12331) - feat(web): add skip link to sidebar by [@​ben-basten](https://redirect.github.com/ben-basten) in [https://github.com/immich-app/immich/pull/12330](https://redirect.github.com/immich-app/immich/pull/12330) - fix(server): search suggestions include partner assets by [@​Lukasdotcom](https://redirect.github.com/Lukasdotcom) in [https://github.com/immich-app/immich/pull/12269](https://redirect.github.com/immich-app/immich/pull/12269) - feat(web): add download shortcut on the timeline & asset viewer by [@​imondrag](https://redirect.github.com/imondrag) in [https://github.com/immich-app/immich/pull/12339](https://redirect.github.com/immich-app/immich/pull/12339) ##### 🐛 Bug fixes - fix(server): empty trash for archived assets by [@​alextran1502](https://redirect.github.com/alextran1502) in [https://github.com/immich-app/immich/pull/12281](https://redirect.github.com/immich-app/immich/pull/12281) - feat(server): prefer tagslist by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12286](https://redirect.github.com/immich-app/immich/pull/12286) - fix: remove public. reference in migration sql by [@​alextran1502](https://redirect.github.com/alextran1502) in [https://github.com/immich-app/immich/pull/12285](https://redirect.github.com/immich-app/immich/pull/12285) - fix(server): public references in migrations by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12298](https://redirect.github.com/immich-app/immich/pull/12298) - fix(web): paste event in input fields by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12297](https://redirect.github.com/immich-app/immich/pull/12297) - fix(server): parse time zone with explicit zero offset by [@​C-Otto](https://redirect.github.com/C-Otto) in [https://github.com/immich-app/immich/pull/12307](https://redirect.github.com/immich-app/immich/pull/12307) - fix(web): retain selected time zone offset also for +00:00 by [@​C-Otto](https://redirect.github.com/C-Otto) in [https://github.com/immich-app/immich/pull/12310](https://redirect.github.com/immich-app/immich/pull/12310) - fix(web): handle RTL languages in the map component by [@​zackpollard](https://redirect.github.com/zackpollard) in [https://github.com/immich-app/immich/pull/12308](https://redirect.github.com/immich-app/immich/pull/12308) - fix(server): auto-reconnect to database by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12320](https://redirect.github.com/immich-app/immich/pull/12320) - fix(web): correct color for active tree item by [@​alextran1502](https://redirect.github.com/alextran1502) in [https://github.com/immich-app/immich/pull/12318](https://redirect.github.com/immich-app/immich/pull/12318) - refactor(web): upload panel by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12326](https://redirect.github.com/immich-app/immich/pull/12326) - fix(mobile): background task crashing on Android by [@​alextran1502](https://redirect.github.com/alextran1502) in [https://github.com/immich-app/immich/pull/12314](https://redirect.github.com/immich-app/immich/pull/12314) - fix(server): asset no longer has tags by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12350](https://redirect.github.com/immich-app/immich/pull/12350) - fix(web): only show valid time zones/offsets, update list based on date by [@​C-Otto](https://redirect.github.com/C-Otto) in [https://github.com/immich-app/immich/pull/12315](https://redirect.github.com/immich-app/immich/pull/12315) - fix: flash bug on tag by [@​midzelis](https://redirect.github.com/midzelis) in [https://github.com/immich-app/immich/pull/12332](https://redirect.github.com/immich-app/immich/pull/12332) - fix(web): showing album timeline after adding new assets by [@​alextran1502](https://redirect.github.com/alextran1502) in [https://github.com/immich-app/immich/pull/12354](https://redirect.github.com/immich-app/immich/pull/12354) - fix(mobile): download asset to DCIM/Immich folder on Android by [@​alextran1502](https://redirect.github.com/alextran1502) in [https://github.com/immich-app/immich/pull/12355](https://redirect.github.com/immich-app/immich/pull/12355) - fix(web): person asset grid by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12370](https://redirect.github.com/immich-app/immich/pull/12370) - fix(server): copy video projection metadata for 360 videos by [@​mertalev](https://redirect.github.com/mertalev) in [https://github.com/immich-app/immich/pull/12376](https://redirect.github.com/immich-app/immich/pull/12376) - fix(web): auth on navigation from shared link to timeline by [@​michelheusschen](https://redirect.github.com/michelheusschen) in [https://github.com/immich-app/immich/pull/12385](https://redirect.github.com/immich-app/immich/pull/12385) - fix(web): broken album thumbnail by [@​michelheusschen](https://redirect.github.com/michelheusschen) in [https://github.com/immich-app/immich/pull/12381](https://redirect.github.com/immich-app/immich/pull/12381) - fix(web): ensure shared link covers are full size by [@​michelheusschen](https://redirect.github.com/michelheusschen) in [https://github.com/immich-app/immich/pull/12386](https://redirect.github.com/immich-app/immich/pull/12386) - fix(web): show focus outline for asset thumbnails again by [@​michelheusschen](https://redirect.github.com/michelheusschen) in [https://github.com/immich-app/immich/pull/12382](https://redirect.github.com/immich-app/immich/pull/12382) ##### 📚 Documentation - docs: Fix link to ioredis docs by [@​halkeye](https://redirect.github.com/halkeye) in [https://github.com/immich-app/immich/pull/12291](https://redirect.github.com/immich-app/immich/pull/12291) - docs: Add conditional album storage template information by [@​feyst](https://redirect.github.com/feyst) in [https://github.com/immich-app/immich/pull/12218](https://redirect.github.com/immich-app/immich/pull/12218) ##### 🌐 Translations - feat(web): add Malay language by [@​jrasm91](https://redirect.github.com/jrasm91) in [https://github.com/immich-app/immich/pull/12311](https://redirect.github.com/immich-app/immich/pull/12311) - chore(web): update translations by [@​weblate](https://redirect.github.com/weblate) in [https://github.com/immich-app/immich/pull/12265](https://redirect.github.com/immich-app/immich/pull/12265) #### New Contributors - [@​halkeye](https://redirect.github.com/halkeye) made their first contribution in [https://github.com/immich-app/immich/pull/12291](https://redirect.github.com/immich-app/immich/pull/12291) - [@​bugfest](https://redirect.github.com/bugfest) made their first contribution in [https://github.com/immich-app/immich/pull/6455](https://redirect.github.com/immich-app/immich/pull/6455) - [@​Lukasdotcom](https://redirect.github.com/Lukasdotcom) made their first contribution in [https://github.com/immich-app/immich/pull/12269](https://redirect.github.com/immich-app/immich/pull/12269) **Full Changelog**: https://github.com/immich-app/immich/compare/v1.113.1... </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC43MC4yIiwidXBkYXRlZEluVmVyIjoiMzguNzAuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==-->
We currently tell users that the download shortcut is "shift+d" but it's not actually implemented!
This PR will address #11375