fix(mobile): better UI for metadata panel#24428
fix(mobile): better UI for metadata panel#24428alextran1502 merged 11 commits intoimmich-app:mainfrom
Conversation
…rom bottomNavigationBar into the Stack
|
Having the bottom bar visible while the bottom sheet is presented isn't what we want |
@alextran1502 Maybe my description caused some misunderstanding. I fixed this issue with this PR, I did not add the issue. This screenshot is obtained from recorded video with current implementation without this PR, this problem only show up when you swipe the bottom sheet down (during auto close after the threshold). It’s less visible on a 120 Hz screen but for 60 Hz screen you can see it clearly. |
|
ah sorry about the misunderstanding, let me give it a quick test |
|
With this change, when the metadata panel is opened, you cannot swipe to navigate between the photos anymore |
@alextran1502 It can be swiped to navigate between the photos if the panel and photo is placed at a lower position. But once the photo is pushed to a very high position, it can not be swiped anymore (it has been like this without this PR), I can't indentify what caused this in existing code. Anyway, I changed back the default position after opening up to about 2/3 position (67% of screen height), now user can swipe left and right to navigate between the photos at default position. |
…kao-byte/immich into metadata-animation-improvement2
mobile/lib/presentation/widgets/asset_viewer/asset_viewer.page.dart
Outdated
Show resolved
Hide resolved
| previousExtent = currentExtent; | ||
| // Closes the bottom sheet if the user is dragging down | ||
| if (isDraggingDown && delta.extent < 0.55) { | ||
| if (isDraggingDown && delta.extent < 0.67) { |
There was a problem hiding this comment.
Any reason why this got bumped to 0.67 from 0.55? I prefer the previous value because the user gets to swipe it a bit before the sheet auto-closes itself
There was a problem hiding this comment.
@shenlong-tanwen I agreed with you, I changed it back to 0.55, I also changed the animation curve to Curves.linear
Now the buttom sheet's closing animation looks perfect.
There was a problem hiding this comment.
@shenlong-tanwen bottomSheetController.jumpTo(0.55) was also removed
|
@shenlong-tanwen I actually feel To close the user can either:
|
bb6f5fc to
408c1be
Compare
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/immich-app/immich-machine-learning](https://github.com/immich-app/immich) | minor | `v2.3.1` -> `v2.4.0` | | [ghcr.io/immich-app/immich-server](https://github.com/immich-app/immich) | minor | `v2.3.1` -> `v2.4.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-machine-learning)</summary> ### [`v2.4.0`](https://github.com/immich-app/immich/releases/tag/v2.4.0) [Compare Source](immich-app/immich@v2.3.1...v2.4.0) ##### v2.4.0 ##### Highlights Welcome to the release `v2.4.0` of Immich. This release focuses on bug fixes, QoL improvements, and polished UI components and animation across mobile and the web. Let’s dive right in. - Show the owner's name in the shared album - Command palette - Change search type directly in the search bar - Better action button placement in the mobile asset viewer - Notable fix: fix an issue where metadata extraction could fail on high concurrency ##### Show the owner's name in the shared album. On the web, in shared albums, you can now toggle an option to display the asset’s owner name at the bottom right corner of the thumbnail. <img width="800" alt="asset owner name in album" src="https://github.com/user-attachments/assets/90f425b3-91d4-4ef3-9455-234b2c28b0f0" /> ##### Command palette The web app now has an integrated command palette, which can be opened `ctrl + k` on Windows/Linux or `cmd + k` on macOS. This first iteration of this lets you quickly navigate between administration pages by typing the name of the page you want to go to. It also already supports some common actions when on the respective admin pages, many of which also support shortcuts. Have a look around and check them out! <img width="800" alt="command pallet" src="https://github.com/user-attachments/assets/e9fb1638-a926-4df2-92ce-3ddfd0b04e02" /> ##### Change search type directly in the search bar You can now click on the pill from the search bar to select a different search type without opening the search filter panel. <img width="800" alt="search type" src="https://github.com/user-attachments/assets/493d0b74-8b6f-4581-b2ba-9f00da9bcc30" /> ##### Better placement of action buttons in the mobile asset viewer Previously, to perform a specific action on the asset, you needed first to swipe up to open the detail panel, then swipe all the way to the right and tap the action. It limits the discoverability of some actions. To help resolve that issue, all the action buttons in the detail panel are now moved to the drop-down menu when tapping on the vertical dot icon (or kebab menu), along with some buttons that used to be on the top bar, clearing up space to display more helpful information when viewing the asset. <img width="350" alt="kebab menu" src="https://github.com/user-attachments/assets/7b4610c4-d04b-4f5e-8b7b-02504a9ee531" /> ##### 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> or our merchandise at <https://immich.store> ##### What's Changed ##### 🫥 Deprecated Changes - feat: queues by [@​jrasm91](https://github.com/jrasm91) in [#​24142](immich-app/immich#24142) ##### 🚀 Features - feat: improve performance: don't sort timeline buckets from server by [@​midzelis](https://github.com/midzelis) in [#​24032](immich-app/immich#24032) - feat: command palette by [@​danieldietzler](https://github.com/danieldietzler) in [#​23693](immich-app/immich#23693) - feat(web): Shared album owner labels by [@​xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#​21171](immich-app/immich#21171) - feat(mobile): persist album sorting & layout in settings by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​22133](immich-app/immich#22133) - feat: queue detail page by [@​jrasm91](https://github.com/jrasm91) in [#​24352](immich-app/immich#24352) - chore(mobile): add kebabu menu in asset viewer by [@​idubnori](https://github.com/idubnori) in [#​24387](immich-app/immich#24387) - feat(mobile): create new album from add to modal by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24431](immich-app/immich#24431) - feat(mobile): move buttons in the bottom sheet to the kebabu menu by [@​idubnori](https://github.com/idubnori) in [#​24175](immich-app/immich#24175) ##### 🌟 Enhancements - feat(web): allow navigating the map with arrow keys by [@​lukashass](https://github.com/lukashass) in [#​24080](immich-app/immich#24080) - feat: separate camera and lens info in detail panel by [@​fabianbees](https://github.com/fabianbees) in [#​23670](immich-app/immich#23670) - feat(web): shared link card tweaks by [@​jrasm91](https://github.com/jrasm91) in [#​24192](immich-app/immich#24192) - feat(server): exclude syncthing folders from external libraries by [@​SaphuA](https://github.com/SaphuA) in [#​24240](immich-app/immich#24240) - feat(web): search type selection dropdown by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24091](immich-app/immich#24091) - feat: header context menu by [@​jrasm91](https://github.com/jrasm91) in [#​24374](immich-app/immich#24374) - feat(mobile): move top bar buttons into kebabu menu in AssetViewer by [@​idubnori](https://github.com/idubnori) in [#​24461](immich-app/immich#24461) - feat(web): asset selection bar in tags view by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24522](immich-app/immich#24522) - feat(web): slideshow feature on shared albums by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24598](immich-app/immich#24598) - feat: replace heart icons to thumbs-up across activity by [@​idubnori](https://github.com/idubnori) in [#​24590](immich-app/immich#24590) ##### 🐛 Bug fixes - fix: effect loop by [@​jrasm91](https://github.com/jrasm91) in [#​24014](immich-app/immich#24014) - fix: do not clear hash on updated\_at change by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​24039](immich-app/immich#24039) - fix: disable animation "add to" action menu by [@​bwees](https://github.com/bwees) in [#​24040](immich-app/immich#24040) - fix: Use correct app store link by [@​Mraedis](https://github.com/Mraedis) in [#​24062](immich-app/immich#24062) - fix: show archived assets in favorite page by [@​bwees](https://github.com/bwees) in [#​24052](immich-app/immich#24052) - fix(mobile): first video memory on page doesn't play by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​23906](immich-app/immich#23906) - feat(web): show detected faces in spherical photos by [@​meesfrensel](https://github.com/meesfrensel) in [#​23974](immich-app/immich#23974) - fix: add users to album by [@​danieldietzler](https://github.com/danieldietzler) in [#​24133](immich-app/immich#24133) - fix(server): sanitize DB\_URL for pg\_dumpall to remove unknown query params by [@​lutostag](https://github.com/lutostag) in [#​23333](immich-app/immich#23333) - fix: use proper updatedAt value in local assets by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​24137](immich-app/immich#24137) - fix: albums page reactivity loops by [@​danieldietzler](https://github.com/danieldietzler) in [#​24046](immich-app/immich#24046) - fix: getAspectRatio fallback to db width and height by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​24131](immich-app/immich#24131) - fix(web): fix support & feedback modal wrapping by [@​Snowknight26](https://github.com/Snowknight26) in [#​24018](immich-app/immich#24018) - fix: don't get OCR data in shared link by [@​alextran1502](https://github.com/alextran1502) in [#​24152](immich-app/immich#24152) - fix: duration extraction by [@​jrasm91](https://github.com/jrasm91) in [#​24178](immich-app/immich#24178) - fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by [@​LukaPrebil](https://github.com/LukaPrebil) in [#​24045](immich-app/immich#24045) - fix: update timeline-manager after archive actions by [@​midzelis](https://github.com/midzelis) in [#​24010](immich-app/immich#24010) - fix: theme switcher by [@​jrasm91](https://github.com/jrasm91) in [#​24209](immich-app/immich#24209) - fix: label 'for' attributes in user-api-key-grid by [@​kimsey0](https://github.com/kimsey0) in [#​24232](immich-app/immich#24232) - fix(mobile): enable backup text overflows by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24227](immich-app/immich#24227) - fix(web): integrate zoom toggle button into panorama photo viewer by [@​meesfrensel](https://github.com/meesfrensel) in [#​24189](immich-app/immich#24189) - fix(web): use full tag path when creating nested subtags by [@​NiklasvonM](https://github.com/NiklasvonM) in [#​24249](immich-app/immich#24249) - fix: only generate memory based on users assets by [@​alextran1502](https://github.com/alextran1502) in [#​24151](immich-app/immich#24151) - fix(mobile): docs link by [@​mmomjian](https://github.com/mmomjian) in [#​24277](immich-app/immich#24277) - fix(server): use bigrams for cjk by [@​mertalev](https://github.com/mertalev) in [#​24285](immich-app/immich#24285) - fix(ml): do not upscale preview by [@​mertalev](https://github.com/mertalev) in [#​24322](immich-app/immich#24322) - fix(web): open onboarding documentation link in new tab by [@​carbonemys](https://github.com/carbonemys) in [#​24289](immich-app/immich#24289) - fix(mobile): use correct timezone displayed in the info sheet by [@​kao-byte](https://github.com/kao-byte) in [#​24310](immich-app/immich#24310) - fix(web): folder view sort oder by [@​etnoy](https://github.com/etnoy) in [#​24337](immich-app/immich#24337) - fix(server): do not delete offline assets by [@​mertalev](https://github.com/mertalev) in [#​24355](immich-app/immich#24355) - fix: exposure info and better readability by [@​alextran1502](https://github.com/alextran1502) in [#​24344](immich-app/immich#24344) - fix: Adjust the zoom level by [@​jforseth210](https://github.com/jforseth210) in [#​24353](immich-app/immich#24353) - fix: local full sync on Android on resume by [@​alextran1502](https://github.com/alextran1502) in [#​24348](immich-app/immich#24348) - fix(web): Add minimum content size to logo for consistent visual on small screens by [@​kiloomar](https://github.com/kiloomar) in [#​24372](immich-app/immich#24372) - fix: use adjustment time in iOS for hash reset by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​24047](immich-app/immich#24047) - fix(server): update exiftool-vendored to v34 for more robust metadata extraction by [@​skatsubo](https://github.com/skatsubo) in [#​24424](immich-app/immich#24424) - fix(mobile): cannot create album while name field is focused by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24449](immich-app/immich#24449) - fix(web): \[album table view] long album title overflows table row by [@​simonkub](https://github.com/simonkub) in [#​24450](immich-app/immich#24450) - fix(mobile): fix overflow text in backup card by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24448](immich-app/immich#24448) - fix(mobile): timeline bottom padding on selection by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24480](immich-app/immich#24480) - feat(mobile): Localized backup upload details page by [@​ArnyminerZ](https://github.com/ArnyminerZ) in [#​21136](immich-app/immich#21136) - fix(mobile): iOS local permission dialog extra whitespace by [@​kurtmckee](https://github.com/kurtmckee) in [#​24491](immich-app/immich#24491) - fix(mobile): versionStatus.message text overflow by [@​idubnori](https://github.com/idubnori) in [#​24504](immich-app/immich#24504) - fix(server): prevent metadata extraction failures on large video files by [@​hubert-taieb](https://github.com/hubert-taieb) in [#​24094](immich-app/immich#24094) - fix(web): show inferred timezone in date editor by [@​skatsubo](https://github.com/skatsubo) in [#​24513](immich-app/immich#24513) - fix(mobile): local videos with '#' don't play on android by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24373](immich-app/immich#24373) - fix: refresh appear in list after asset is added to a current or new album by [@​alextran1502](https://github.com/alextran1502) in [#​24523](immich-app/immich#24523) - fix(mobile): birthday off by one day on remote by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24527](immich-app/immich#24527) - fix(web): download panel being hidden by admin sidebar by [@​diogotcorreia](https://github.com/diogotcorreia) in [#​24583](immich-app/immich#24583) - fix(web): recent search doesn't use search type by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24578](immich-app/immich#24578) - fix(server): only extract image's duration if format supports animation by [@​meesfrensel](https://github.com/meesfrensel) in [#​24587](immich-app/immich#24587) - fix(mobile): local delete missing from sheet on some routes by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24505](immich-app/immich#24505) - fix(mobile): better UI for metadata panel by [@​kao-byte](https://github.com/kao-byte) in [#​24428](immich-app/immich#24428) - fix: shared link expiration and small styling by [@​alextran1502](https://github.com/alextran1502) in [#​24566](immich-app/immich#24566) - fix: asset update race condition by [@​danieldietzler](https://github.com/danieldietzler) in [#​24384](immich-app/immich#24384) ##### 📚 Documentation - docs: DB\_STORAGE\_TYPE is only used by the database container by [@​dionysius](https://github.com/dionysius) in [#​24215](immich-app/immich#24215) - fix(docs): build `cli` for e2e tests by [@​roschaefer](https://github.com/roschaefer) in [#​24184](immich-app/immich#24184) - docs(faq): add more info on archiving by [@​etnoy](https://github.com/etnoy) in [#​24326](immich-app/immich#24326) - fix(docs): server and machine-learning use IMMICH\_HOST and IMMICH\_PORT by [@​dionysius](https://github.com/dionysius) in [#​24335](immich-app/immich#24335) - fix: prevent OOM on nginx reverse proxy servers by [@​NicholasFlamy](https://github.com/NicholasFlamy) in [#​24351](immich-app/immich#24351) - fix(docs): obsolete docs about rootless docker by [@​roschaefer](https://github.com/roschaefer) in [#​24376](immich-app/immich#24376) - fix(docs): websockets in nginx example by [@​fourthwall](https://github.com/fourthwall) in [#​24411](immich-app/immich#24411) - fix(docs): slow upload speed with example nginx reverse proxy config by [@​goalie2002](https://github.com/goalie2002) in [#​24490](immich-app/immich#24490) - fix(docs): typo in maintenance mode command by [@​bartvanvelden](https://github.com/bartvanvelden) in [#​24518](immich-app/immich#24518) ##### 🌐 Translations - chore: add new language requests by [@​danieldietzler](https://github.com/danieldietzler) in [#​23991](immich-app/immich#23991) - chore(web): update translations by [@​weblate](https://github.com/weblate) in [#​24004](immich-app/immich#24004) ##### New Contributors - [@​ujjwal123123](https://github.com/ujjwal123123) made their first contribution in [#​24101](immich-app/immich#24101) - [@​lutostag](https://github.com/lutostag) made their first contribution in [#​23333](immich-app/immich#23333) - [@​LukaPrebil](https://github.com/LukaPrebil) made their first contribution in [#​24045](immich-app/immich#24045) - [@​kimsey0](https://github.com/kimsey0) made their first contribution in [#​24232](immich-app/immich#24232) - [@​SaphuA](https://github.com/SaphuA) made their first contribution in [#​24240](immich-app/immich#24240) - [@​dionysius](https://github.com/dionysius) made their first contribution in [#​24215](immich-app/immich#24215) - [@​NiklasvonM](https://github.com/NiklasvonM) made their first contribution in [#​24249](immich-app/immich#24249) - [@​kao-byte](https://github.com/kao-byte) made their first contribution in [#​24098](immich-app/immich#24098) - [@​carbonemys](https://github.com/carbonemys) made their first contribution in [#​24289](immich-app/immich#24289) - [@​kiloomar](https://github.com/kiloomar) made their first contribution in [#​24372](immich-app/immich#24372) - [@​fourthwall](https://github.com/fourthwall) made their first contribution in [#​24411](immich-app/immich#24411) - [@​simonkub](https://github.com/simonkub) made their first contribution in [#​24450](immich-app/immich#24450) - [@​ArnyminerZ](https://github.com/ArnyminerZ) made their first contribution in [#​21136](immich-app/immich#21136) - [@​kurtmckee](https://github.com/kurtmckee) made their first contribution in [#​24491](immich-app/immich#24491) - [@​hubert-taieb](https://github.com/hubert-taieb) made their first contribution in [#​24094](immich-app/immich#24094) - [@​bartvanvelden](https://github.com/bartvanvelden) made their first contribution in [#​24518](immich-app/immich#24518) **Full Changelog**: <immich-app/immich@v2.3.1...v2.4.0> </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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41Mi44IiwidXBkYXRlZEluVmVyIjoiNDIuNTIuOCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: Renovate Bot <renovate@zarantonello.dev> Co-committed-by: Renovate Bot <renovate@zarantonello.dev>
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/immich-app/immich-server](https://github.com/immich-app/immich) | minor | `v2.3.1` -> `v2.4.1` | --- ### Release Notes <details> <summary>immich-app/immich (ghcr.io/immich-app/immich-server)</summary> ### [`v2.4.1`](https://github.com/immich-app/immich/releases/tag/v2.4.1) [Compare Source](immich-app/immich@v2.4.0...v2.4.1) ### 2.4.1 #### What's Changed ##### 🐛 Bug fixes - fix(web): shared link expiry does not save by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24569](immich-app/immich#24569) - fix(mobile): infinite loading screen when hiding UI in map viewer on iOS by [@​timonrieger](https://github.com/timonrieger) in [#​24563](immich-app/immich#24563) - fix(web): auto-start slideshow when confirming settings modal by [@​timonrieger](https://github.com/timonrieger) in [#​24629](immich-app/immich#24629) - fix(mobile): merged video in On This Device played with incorrect ratio by [@​alextran1502](https://github.com/alextran1502) in [#​24656](immich-app/immich#24656) - fix: dateTimeOriginal timezone updates by [@​danieldietzler](https://github.com/danieldietzler) in [#​24712](immich-app/immich#24712) - fix(web): timezone dropdown showing "No results" when seconds are set to 00 by [@​timonrieger](https://github.com/timonrieger) in [#​24662](immich-app/immich#24662) - fix(web): search-bar usability improvements by [@​LeLunZ](https://github.com/LeLunZ) in [#​24705](immich-app/immich#24705) ##### 📚 Documentation - fix(docs): add & fix missing alt text to store badge images by [@​divulgacheur](https://github.com/divulgacheur) in [#​24637](immich-app/immich#24637) #### New Contributors - [@​timonrieger](https://github.com/timonrieger) made their first contribution in [#​24563](immich-app/immich#24563) - [@​LeLunZ](https://github.com/LeLunZ) made their first contribution in [#​24705](immich-app/immich#24705) - [@​divulgacheur](https://github.com/divulgacheur) made their first contribution in [#​24637](immich-app/immich#24637) **Full Changelog**: <immich-app/immich@v2.4.0...v2.4.1> ### [`v2.4.0`](https://github.com/immich-app/immich/releases/tag/v2.4.0) [Compare Source](immich-app/immich@v2.3.1...v2.4.0) ### v2.4.0 #### Highlights Welcome to the release `v2.4.0` of Immich. This release focuses on bug fixes, QoL improvements, and polished UI components and animation across mobile and the web. Let’s dive right in. - Show the owner's name in the shared album - Command palette - Change search type directly in the search bar - Better action button placement in the mobile asset viewer - Notable fix: fix an issue where metadata extraction could fail on high concurrency ##### Show the owner's name in the shared album. On the web, in shared albums, you can now toggle an option to display the asset’s owner name at the bottom right corner of the thumbnail. <img width="800" alt="asset owner name in album" src="https://github.com/user-attachments/assets/90f425b3-91d4-4ef3-9455-234b2c28b0f0" /> ##### Command palette The web app now has an integrated command palette, which can be opened `ctrl + k` on Windows/Linux or `cmd + k` on macOS. This first iteration of this lets you quickly navigate between administration pages by typing the name of the page you want to go to. It also already supports some common actions when on the respective admin pages, many of which also support shortcuts. Have a look around and check them out! <img width="800" alt="command pallet" src="https://github.com/user-attachments/assets/e9fb1638-a926-4df2-92ce-3ddfd0b04e02" /> ##### Change search type directly in the search bar You can now click on the pill from the search bar to select a different search type without opening the search filter panel. <img width="800" alt="search type" src="https://github.com/user-attachments/assets/493d0b74-8b6f-4581-b2ba-9f00da9bcc30" /> ##### Better placement of action buttons in the mobile asset viewer Previously, to perform a specific action on the asset, you needed first to swipe up to open the detail panel, then swipe all the way to the right and tap the action. It limits the discoverability of some actions. To help resolve that issue, all the action buttons in the detail panel are now moved to the drop-down menu when tapping on the vertical dot icon (or kebab menu), along with some buttons that used to be on the top bar, clearing up space to display more helpful information when viewing the asset. <img width="350" alt="kebab menu" src="https://github.com/user-attachments/assets/7b4610c4-d04b-4f5e-8b7b-02504a9ee531" /> #### 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> or our merchandise at <https://immich.store> #### What's Changed ##### 🫥 Deprecated Changes - feat: queues by [@​jrasm91](https://github.com/jrasm91) in [#​24142](immich-app/immich#24142) ##### 🚀 Features - feat: improve performance: don't sort timeline buckets from server by [@​midzelis](https://github.com/midzelis) in [#​24032](immich-app/immich#24032) - feat: command palette by [@​danieldietzler](https://github.com/danieldietzler) in [#​23693](immich-app/immich#23693) - feat(web): Shared album owner labels by [@​xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#​21171](immich-app/immich#21171) - feat(mobile): persist album sorting & layout in settings by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​22133](immich-app/immich#22133) - feat: queue detail page by [@​jrasm91](https://github.com/jrasm91) in [#​24352](immich-app/immich#24352) - chore(mobile): add kebabu menu in asset viewer by [@​idubnori](https://github.com/idubnori) in [#​24387](immich-app/immich#24387) - feat(mobile): create new album from add to modal by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24431](immich-app/immich#24431) - feat(mobile): move buttons in the bottom sheet to the kebabu menu by [@​idubnori](https://github.com/idubnori) in [#​24175](immich-app/immich#24175) ##### 🌟 Enhancements - feat(web): allow navigating the map with arrow keys by [@​lukashass](https://github.com/lukashass) in [#​24080](immich-app/immich#24080) - feat: separate camera and lens info in detail panel by [@​fabianbees](https://github.com/fabianbees) in [#​23670](immich-app/immich#23670) - feat(web): shared link card tweaks by [@​jrasm91](https://github.com/jrasm91) in [#​24192](immich-app/immich#24192) - feat(server): exclude syncthing folders from external libraries by [@​SaphuA](https://github.com/SaphuA) in [#​24240](immich-app/immich#24240) - feat(web): search type selection dropdown by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24091](immich-app/immich#24091) - feat: header context menu by [@​jrasm91](https://github.com/jrasm91) in [#​24374](immich-app/immich#24374) - feat(mobile): move top bar buttons into kebabu menu in AssetViewer by [@​idubnori](https://github.com/idubnori) in [#​24461](immich-app/immich#24461) - feat(web): asset selection bar in tags view by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24522](immich-app/immich#24522) - feat(web): slideshow feature on shared albums by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24598](immich-app/immich#24598) - feat: replace heart icons to thumbs-up across activity by [@​idubnori](https://github.com/idubnori) in [#​24590](immich-app/immich#24590) ##### 🐛 Bug fixes - fix: effect loop by [@​jrasm91](https://github.com/jrasm91) in [#​24014](immich-app/immich#24014) - fix: do not clear hash on updated\_at change by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​24039](immich-app/immich#24039) - fix: disable animation "add to" action menu by [@​bwees](https://github.com/bwees) in [#​24040](immich-app/immich#24040) - fix: Use correct app store link by [@​Mraedis](https://github.com/Mraedis) in [#​24062](immich-app/immich#24062) - fix: show archived assets in favorite page by [@​bwees](https://github.com/bwees) in [#​24052](immich-app/immich#24052) - fix(mobile): first video memory on page doesn't play by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​23906](immich-app/immich#23906) - feat(web): show detected faces in spherical photos by [@​meesfrensel](https://github.com/meesfrensel) in [#​23974](immich-app/immich#23974) - fix: add users to album by [@​danieldietzler](https://github.com/danieldietzler) in [#​24133](immich-app/immich#24133) - fix(server): sanitize DB\_URL for pg\_dumpall to remove unknown query params by [@​lutostag](https://github.com/lutostag) in [#​23333](immich-app/immich#23333) - fix: use proper updatedAt value in local assets by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​24137](immich-app/immich#24137) - fix: albums page reactivity loops by [@​danieldietzler](https://github.com/danieldietzler) in [#​24046](immich-app/immich#24046) - fix: getAspectRatio fallback to db width and height by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​24131](immich-app/immich#24131) - fix(web): fix support & feedback modal wrapping by [@​Snowknight26](https://github.com/Snowknight26) in [#​24018](immich-app/immich#24018) - fix: don't get OCR data in shared link by [@​alextran1502](https://github.com/alextran1502) in [#​24152](immich-app/immich#24152) - fix: duration extraction by [@​jrasm91](https://github.com/jrasm91) in [#​24178](immich-app/immich#24178) - fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by [@​LukaPrebil](https://github.com/LukaPrebil) in [#​24045](immich-app/immich#24045) - fix: update timeline-manager after archive actions by [@​midzelis](https://github.com/midzelis) in [#​24010](immich-app/immich#24010) - fix: theme switcher by [@​jrasm91](https://github.com/jrasm91) in [#​24209](immich-app/immich#24209) - fix: label 'for' attributes in user-api-key-grid by [@​kimsey0](https://github.com/kimsey0) in [#​24232](immich-app/immich#24232) - fix(mobile): enable backup text overflows by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24227](immich-app/immich#24227) - fix(web): integrate zoom toggle button into panorama photo viewer by [@​meesfrensel](https://github.com/meesfrensel) in [#​24189](immich-app/immich#24189) - fix(web): use full tag path when creating nested subtags by [@​NiklasvonM](https://github.com/NiklasvonM) in [#​24249](immich-app/immich#24249) - fix: only generate memory based on users assets by [@​alextran1502](https://github.com/alextran1502) in [#​24151](immich-app/immich#24151) - fix(mobile): docs link by [@​mmomjian](https://github.com/mmomjian) in [#​24277](immich-app/immich#24277) - fix(server): use bigrams for cjk by [@​mertalev](https://github.com/mertalev) in [#​24285](immich-app/immich#24285) - fix(ml): do not upscale preview by [@​mertalev](https://github.com/mertalev) in [#​24322](immich-app/immich#24322) - fix(web): open onboarding documentation link in new tab by [@​carbonemys](https://github.com/carbonemys) in [#​24289](immich-app/immich#24289) - fix(mobile): use correct timezone displayed in the info sheet by [@​kao-byte](https://github.com/kao-byte) in [#​24310](immich-app/immich#24310) - fix(web): folder view sort oder by [@​etnoy](https://github.com/etnoy) in [#​24337](immich-app/immich#24337) - fix(server): do not delete offline assets by [@​mertalev](https://github.com/mertalev) in [#​24355](immich-app/immich#24355) - fix: exposure info and better readability by [@​alextran1502](https://github.com/alextran1502) in [#​24344](immich-app/immich#24344) - fix: Adjust the zoom level by [@​jforseth210](https://github.com/jforseth210) in [#​24353](immich-app/immich#24353) - fix: local full sync on Android on resume by [@​alextran1502](https://github.com/alextran1502) in [#​24348](immich-app/immich#24348) - fix(web): Add minimum content size to logo for consistent visual on small screens by [@​kiloomar](https://github.com/kiloomar) in [#​24372](immich-app/immich#24372) - fix: use adjustment time in iOS for hash reset by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​24047](immich-app/immich#24047) - fix(server): update exiftool-vendored to v34 for more robust metadata extraction by [@​skatsubo](https://github.com/skatsubo) in [#​24424](immich-app/immich#24424) - fix(mobile): cannot create album while name field is focused by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24449](immich-app/immich#24449) - fix(web): \[album table view] long album title overflows table row by [@​simonkub](https://github.com/simonkub) in [#​24450](immich-app/immich#24450) - fix(mobile): fix overflow text in backup card by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24448](immich-app/immich#24448) - fix(mobile): timeline bottom padding on selection by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24480](immich-app/immich#24480) - feat(mobile): Localized backup upload details page by [@​ArnyminerZ](https://github.com/ArnyminerZ) in [#​21136](immich-app/immich#21136) - fix(mobile): iOS local permission dialog extra whitespace by [@​kurtmckee](https://github.com/kurtmckee) in [#​24491](immich-app/immich#24491) - fix(mobile): versionStatus.message text overflow by [@​idubnori](https://github.com/idubnori) in [#​24504](immich-app/immich#24504) - fix(server): prevent metadata extraction failures on large video files by [@​hubert-taieb](https://github.com/hubert-taieb) in [#​24094](immich-app/immich#24094) - fix(web): show inferred timezone in date editor by [@​skatsubo](https://github.com/skatsubo) in [#​24513](immich-app/immich#24513) - fix(mobile): local videos with '#' don't play on android by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24373](immich-app/immich#24373) - fix: refresh appear in list after asset is added to a current or new album by [@​alextran1502](https://github.com/alextran1502) in [#​24523](immich-app/immich#24523) - fix(mobile): birthday off by one day on remote by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24527](immich-app/immich#24527) - fix(web): download panel being hidden by admin sidebar by [@​diogotcorreia](https://github.com/diogotcorreia) in [#​24583](immich-app/immich#24583) - fix(web): recent search doesn't use search type by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24578](immich-app/immich#24578) - fix(server): only extract image's duration if format supports animation by [@​meesfrensel](https://github.com/meesfrensel) in [#​24587](immich-app/immich#24587) - fix(mobile): local delete missing from sheet on some routes by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​24505](immich-app/immich#24505) - fix(mobile): better UI for metadata panel by [@​kao-byte](https://github.com/kao-byte) in [#​24428](immich-app/immich#24428) - fix: shared link expiration and small styling by [@​alextran1502](https://github.com/alextran1502) in [#​24566](immich-app/immich#24566) - fix: asset update race condition by [@​danieldietzler](https://github.com/danieldietzler) in [#​24384](immich-app/immich#24384) ##### 📚 Documentation - docs: DB\_STORAGE\_TYPE is only used by the database container by [@​dionysius](https://github.com/dionysius) in [#​24215](immich-app/immich#24215) - fix(docs): build `cli` for e2e tests by [@​roschaefer](https://github.com/roschaefer) in [#​24184](immich-app/immich#24184) - docs(faq): add more info on archiving by [@​etnoy](https://github.com/etnoy) in [#​24326](immich-app/immich#24326) - fix(docs): server and machine-learning use IMMICH\_HOST and IMMICH\_PORT by [@​dionysius](https://github.com/dionysius) in [#​24335](immich-app/immich#24335) - fix: prevent OOM on nginx reverse proxy servers by [@​NicholasFlamy](https://github.com/NicholasFlamy) in [#​24351](immich-app/immich#24351) - fix(docs): obsolete docs about rootless docker by [@​roschaefer](https://github.com/roschaefer) in [#​24376](immich-app/immich#24376) - fix(docs): websockets in nginx example by [@​fourthwall](https://github.com/fourthwall) in [#​24411](immich-app/immich#24411) - fix(docs): slow upload speed with example nginx reverse proxy config by [@​goalie2002](https://github.com/goalie2002) in [#​24490](immich-app/immich#24490) - fix(docs): typo in maintenance mode command by [@​bartvanvelden](https://github.com/bartvanvelden) in [#​24518](immich-app/immich#24518) ##### 🌐 Translations - chore: add new language requests by [@​danieldietzler](https://github.com/danieldietzler) in [#​23991](immich-app/immich#23991) - chore(web): update translations by [@​weblate](https://github.com/weblate) in [#​24004](immich-app/immich#24004) #### New Contributors - [@​ujjwal123123](https://github.com/ujjwal123123) made their first contribution in [#​24101](immich-app/immich#24101) - [@​lutostag](https://github.com/lutostag) made their first contribution in [#​23333](immich-app/immich#23333) - [@​LukaPrebil](https://github.com/LukaPrebil) made their first contribution in [#​24045](immich-app/immich#24045) - [@​kimsey0](https://github.com/kimsey0) made their first contribution in [#​24232](immich-app/immich#24232) - [@​SaphuA](https://github.com/SaphuA) made their first contribution in [#​24240](immich-app/immich#24240) - [@​dionysius](https://github.com/dionysius) made their first contribution in [#​24215](immich-app/immich#24215) - [@​NiklasvonM](https://github.com/NiklasvonM) made their first contribution in [#​24249](immich-app/immich#24249) - [@​kao-byte](https://github.com/kao-byte) made their first contribution in [#​24098](immich-app/immich#24098) - [@​carbonemys](https://github.com/carbonemys) made their first contribution in [#​24289](immich-app/immich#24289) - [@​kiloomar](https://github.com/kiloomar) made their first contribution in [#​24372](immich-app/immich#24372) - [@​fourthwall](https://github.com/fourthwall) made their first contribution in [#​24411](immich-app/immich#24411) - [@​simonkub](https://github.com/simonkub) made their first contribution in [#​24450](immich-app/immich#24450) - [@​ArnyminerZ](https://github.com/ArnyminerZ) made their first contribution in [#​21136](immich-app/immich#21136) - [@​kurtmckee](https://github.com/kurtmckee) made their first contribution in [#​24491](immich-app/immich#24491) - [@​hubert-taieb](https://github.com/hubert-taieb) made their first contribution in [#​24094](immich-app/immich#24094) - [@​bartvanvelden](https://github.com/bartvanvelden) made their first contribution in [#​24518](immich-app/immich#24518) **Full Changelog**: <immich-app/immich@v2.3.1...v2.4.0> </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 is behind base branch, 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://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=--> Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2736 Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net> Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
* change drag bar and animation position * ensure bottom bar is below the metadata panel - move the bottom bar from bottomNavigationBar into the Stack * change some parameters * add background color for night mode * background color * change default position * minor changes --------- Co-authored-by: Alex <alex.tran1502@gmail.com>
Description
Fixes #21992
1. Fix the issue that bottom bar visible while the bottom sheet is presented


Moved the bottom bar from the
bottomNavigationBarproperty into theStackin the body, positioned at the bottom.Why: The metadata panel animation appeared behind the bottom buttons during the second part of the moving down animation (after the auto close threshold) because the
bottomNavigationBarin Flutter's Scaffold is always rendered on top of bottom sheets.The issue in current implementation looks like:
The metadata panel should be be at the top of those buttons.
This issue can be fixed by this PR by moving the bottom bar from the
bottomNavigationBarproperty into theStackin the body.After the fix:
2. Changed some parameters to make the bottom metadata sheet look better
3. Add background color for night mode
A bit of grey instead of pure black, make the bottom sheet more consistant with other part of the app (same as Edit page background color
context.colorScheme.surface#131313)How Has This Been Tested?
Screenshots (if appropriate)
Checklist:
src/services/uses repositories implementations for database calls, filesystem operations, etc.src/repositories/is pretty basic/simple and does not have any immich specific logic (that belongs insrc/services/)Please describe to which degree, if any, an LLM was used in creating this pull request.
Claude Code used to indentify the problem and generate some code under human supervision and verification