Skip to content

fix(mobile): better UI for metadata panel#24428

Merged
alextran1502 merged 11 commits intoimmich-app:mainfrom
kao-byte:metadata-animation-improvement2
Dec 16, 2025
Merged

fix(mobile): better UI for metadata panel#24428
alextran1502 merged 11 commits intoimmich-app:mainfrom
kao-byte:metadata-animation-improvement2

Conversation

@kao-byte
Copy link
Copy Markdown
Contributor

@kao-byte kao-byte commented Dec 7, 2025

Description

Fixes #21992

1. Fix the issue that bottom bar visible while the bottom sheet is presented
Moved the bottom bar from the bottomNavigationBar property into the Stack in 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 bottomNavigationBar in Flutter's Scaffold is always rendered on top of bottom sheets.
The issue in current implementation looks like:
View recent photos
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 bottomNavigationBar property into the Stack in the body.
After the fix:
pr

2. Changed some parameters to make the bottom metadata sheet look better

  • Slower movement: looks smoother
  • Lower max height: ensure the bottom metadata sheet do not reach the top left return button
  • Smaller blank space at the end of scrolling

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?

  • Tested on iOS devices

Screenshots (if appropriate)

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
  • I have no unrelated changes in the PR.
  • I have confirmed that any new dependencies are strictly necessary.
  • I have written tests for new code (if applicable)
  • I have followed naming conventions/patterns in the surrounding code
  • All code in src/services/ uses repositories implementations for database calls, filesystem operations, etc.
  • All code in src/repositories/ is pretty basic/simple and does not have any immich specific logic (that belongs in src/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

@kao-byte kao-byte changed the title fix(mobile): better UI transition for metadata panel fix(mobile): better UI for metadata panel Dec 7, 2025
@kao-byte kao-byte marked this pull request as ready for review December 7, 2025 09:02
@alextran1502
Copy link
Copy Markdown
Member

alextran1502 commented Dec 7, 2025

Having the bottom bar visible while the bottom sheet is presented isn't what we want

@kao-byte
Copy link
Copy Markdown
Contributor Author

kao-byte commented Dec 7, 2025

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.

@alextran1502
Copy link
Copy Markdown
Member

ah sorry about the misunderstanding, let me give it a quick test

@alextran1502
Copy link
Copy Markdown
Member

With this change, when the metadata panel is opened, you cannot swipe to navigate between the photos anymore

@kao-byte
Copy link
Copy Markdown
Contributor Author

kao-byte commented Dec 8, 2025

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.

previousExtent = currentExtent;
// Closes the bottom sheet if the user is dragging down
if (isDraggingDown && delta.extent < 0.55) {
if (isDraggingDown && delta.extent < 0.67) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Contributor Author

@kao-byte kao-byte Dec 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shenlong-tanwen bottomSheetController.jumpTo(0.55) was also removed

@kao-byte
Copy link
Copy Markdown
Contributor Author

@shenlong-tanwen I actually feel if (isDraggingDown && delta.extent < 0.5) would be better.

To close the user can either:

  1. Swipe down quickly at any position.
  2. Drag the bottom sheet below the bottom half of the screen.

@alextran1502 alextran1502 force-pushed the metadata-animation-improvement2 branch from bb6f5fc to 408c1be Compare December 16, 2025 16:20
Copy link
Copy Markdown
Member

@alextran1502 alextran1502 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much

@alextran1502 alextran1502 enabled auto-merge (squash) December 16, 2025 16:20
@alextran1502 alextran1502 merged commit 276d02e into immich-app:main Dec 16, 2025
47 checks passed
@kao-byte kao-byte deleted the metadata-animation-improvement2 branch December 17, 2025 03:32
@kao-byte kao-byte restored the metadata-animation-improvement2 branch December 17, 2025 15:25
@kao-byte kao-byte deleted the metadata-animation-improvement2 branch December 17, 2025 15:48
dadezzz pushed a commit to dadezzz/kubernetes that referenced this pull request Dec 18, 2025
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 [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24142](immich-app/immich#24142)

##### 🚀 Features

- feat: improve performance: don't sort timeline buckets from server by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;24032](immich-app/immich#24032)
- feat: command palette by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;23693](immich-app/immich#23693)
- feat(web): Shared album owner labels by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;21171](immich-app/immich#21171)
- feat(mobile): persist album sorting & layout in settings by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;22133](immich-app/immich#22133)
- feat: queue detail page by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24352](immich-app/immich#24352)
- chore(mobile): add kebabu menu in asset viewer by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24387](immich-app/immich#24387)
- feat(mobile): create new album from add to modal by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24431](immich-app/immich#24431)
- feat(mobile): move buttons in the bottom sheet to the kebabu menu by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24175](immich-app/immich#24175)

##### 🌟 Enhancements

- feat(web): allow navigating the map with arrow keys by [@&#8203;lukashass](https://github.com/lukashass) in [#&#8203;24080](immich-app/immich#24080)
- feat: separate camera and lens info in detail panel by [@&#8203;fabianbees](https://github.com/fabianbees) in [#&#8203;23670](immich-app/immich#23670)
- feat(web): shared link card tweaks by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24192](immich-app/immich#24192)
- feat(server): exclude syncthing folders from external libraries by [@&#8203;SaphuA](https://github.com/SaphuA) in [#&#8203;24240](immich-app/immich#24240)
- feat(web): search type selection dropdown by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24091](immich-app/immich#24091)
- feat: header context menu by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24374](immich-app/immich#24374)
- feat(mobile): move top bar buttons into kebabu menu in AssetViewer by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24461](immich-app/immich#24461)
- feat(web): asset selection bar in tags view by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24522](immich-app/immich#24522)
- feat(web): slideshow feature on shared albums by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24598](immich-app/immich#24598)
- feat: replace heart icons to thumbs-up across activity by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24590](immich-app/immich#24590)

##### 🐛 Bug fixes

- fix: effect loop by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24014](immich-app/immich#24014)
- fix: do not clear hash on updated\_at change by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24039](immich-app/immich#24039)
- fix: disable animation "add to" action menu by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24040](immich-app/immich#24040)
- fix: Use correct app store link by [@&#8203;Mraedis](https://github.com/Mraedis) in [#&#8203;24062](immich-app/immich#24062)
- fix: show archived assets in favorite page by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24052](immich-app/immich#24052)
- fix(mobile): first video memory on page doesn't play by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;23906](immich-app/immich#23906)
- feat(web): show detected faces in spherical photos by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;23974](immich-app/immich#23974)
- fix: add users to album by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24133](immich-app/immich#24133)
- fix(server): sanitize DB\_URL for pg\_dumpall to remove unknown query params by [@&#8203;lutostag](https://github.com/lutostag) in [#&#8203;23333](immich-app/immich#23333)
- fix: use proper updatedAt value in local assets by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24137](immich-app/immich#24137)
- fix: albums page reactivity loops by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24046](immich-app/immich#24046)
- fix: getAspectRatio fallback to db width and height by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24131](immich-app/immich#24131)
- fix(web): fix support & feedback modal wrapping by [@&#8203;Snowknight26](https://github.com/Snowknight26) in [#&#8203;24018](immich-app/immich#24018)
- fix: don't get OCR data in shared link by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24152](immich-app/immich#24152)
- fix: duration extraction by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24178](immich-app/immich#24178)
- fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by [@&#8203;LukaPrebil](https://github.com/LukaPrebil) in [#&#8203;24045](immich-app/immich#24045)
- fix: update timeline-manager after archive actions by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;24010](immich-app/immich#24010)
- fix: theme switcher by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24209](immich-app/immich#24209)
- fix: label 'for' attributes in user-api-key-grid by [@&#8203;kimsey0](https://github.com/kimsey0) in [#&#8203;24232](immich-app/immich#24232)
- fix(mobile): enable backup text overflows by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24227](immich-app/immich#24227)
- fix(web): integrate zoom toggle button into panorama photo viewer by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;24189](immich-app/immich#24189)
- fix(web): use full tag path when creating nested subtags by [@&#8203;NiklasvonM](https://github.com/NiklasvonM) in [#&#8203;24249](immich-app/immich#24249)
- fix: only generate memory based on users assets by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24151](immich-app/immich#24151)
- fix(mobile): docs link by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;24277](immich-app/immich#24277)
- fix(server): use bigrams for cjk by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24285](immich-app/immich#24285)
- fix(ml): do not upscale preview by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24322](immich-app/immich#24322)
- fix(web): open onboarding documentation link in new tab by [@&#8203;carbonemys](https://github.com/carbonemys) in [#&#8203;24289](immich-app/immich#24289)
- fix(mobile): use correct timezone displayed in the info sheet by [@&#8203;kao-byte](https://github.com/kao-byte) in [#&#8203;24310](immich-app/immich#24310)
- fix(web): folder view sort oder by [@&#8203;etnoy](https://github.com/etnoy) in [#&#8203;24337](immich-app/immich#24337)
- fix(server): do not delete offline assets by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24355](immich-app/immich#24355)
- fix: exposure info and better readability by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24344](immich-app/immich#24344)
- fix: Adjust the zoom level by [@&#8203;jforseth210](https://github.com/jforseth210) in [#&#8203;24353](immich-app/immich#24353)
- fix: local full sync on Android on resume by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24348](immich-app/immich#24348)
- fix(web): Add minimum content size to logo for consistent visual on small screens by [@&#8203;kiloomar](https://github.com/kiloomar) in [#&#8203;24372](immich-app/immich#24372)
- fix: use adjustment time in iOS for hash reset by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24047](immich-app/immich#24047)
- fix(server): update exiftool-vendored to v34 for more robust metadata extraction by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;24424](immich-app/immich#24424)
- fix(mobile): cannot create album while name field is focused by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24449](immich-app/immich#24449)
- fix(web): \[album table view] long album title overflows table row by [@&#8203;simonkub](https://github.com/simonkub) in [#&#8203;24450](immich-app/immich#24450)
- fix(mobile): fix overflow text in backup card by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24448](immich-app/immich#24448)
- fix(mobile): timeline bottom padding on selection by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24480](immich-app/immich#24480)
- feat(mobile): Localized backup upload details page by [@&#8203;ArnyminerZ](https://github.com/ArnyminerZ) in [#&#8203;21136](immich-app/immich#21136)
- fix(mobile): iOS local permission dialog extra whitespace by [@&#8203;kurtmckee](https://github.com/kurtmckee) in [#&#8203;24491](immich-app/immich#24491)
- fix(mobile): versionStatus.message text overflow by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24504](immich-app/immich#24504)
- fix(server): prevent metadata extraction failures on large video files by [@&#8203;hubert-taieb](https://github.com/hubert-taieb) in [#&#8203;24094](immich-app/immich#24094)
- fix(web): show inferred timezone in date editor by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;24513](immich-app/immich#24513)
- fix(mobile): local videos with '#' don't play on android by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24373](immich-app/immich#24373)
- fix: refresh appear in list after asset is added to a current or new album by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24523](immich-app/immich#24523)
- fix(mobile): birthday off by one day on remote by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24527](immich-app/immich#24527)
- fix(web): download panel being hidden by admin sidebar by [@&#8203;diogotcorreia](https://github.com/diogotcorreia) in [#&#8203;24583](immich-app/immich#24583)
- fix(web): recent search doesn't use search type by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24578](immich-app/immich#24578)
- fix(server): only extract image's duration if format supports animation by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;24587](immich-app/immich#24587)
- fix(mobile): local delete missing from sheet on some routes  by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24505](immich-app/immich#24505)
- fix(mobile): better UI for metadata panel by [@&#8203;kao-byte](https://github.com/kao-byte) in [#&#8203;24428](immich-app/immich#24428)
- fix: shared link expiration and small styling by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24566](immich-app/immich#24566)
- fix: asset update race condition by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24384](immich-app/immich#24384)

##### 📚 Documentation

- docs: DB\_STORAGE\_TYPE is only used by the database container by [@&#8203;dionysius](https://github.com/dionysius) in [#&#8203;24215](immich-app/immich#24215)
- fix(docs): build `cli` for e2e tests by [@&#8203;roschaefer](https://github.com/roschaefer) in [#&#8203;24184](immich-app/immich#24184)
- docs(faq): add more info on archiving by [@&#8203;etnoy](https://github.com/etnoy) in [#&#8203;24326](immich-app/immich#24326)
- fix(docs): server and machine-learning use IMMICH\_HOST and IMMICH\_PORT by [@&#8203;dionysius](https://github.com/dionysius) in [#&#8203;24335](immich-app/immich#24335)
- fix: prevent OOM on nginx reverse proxy servers by [@&#8203;NicholasFlamy](https://github.com/NicholasFlamy) in [#&#8203;24351](immich-app/immich#24351)
- fix(docs): obsolete docs about rootless docker by [@&#8203;roschaefer](https://github.com/roschaefer) in [#&#8203;24376](immich-app/immich#24376)
- fix(docs): websockets in nginx example by [@&#8203;fourthwall](https://github.com/fourthwall) in [#&#8203;24411](immich-app/immich#24411)
- fix(docs): slow upload speed with example nginx reverse proxy config by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;24490](immich-app/immich#24490)
- fix(docs): typo in maintenance mode command by [@&#8203;bartvanvelden](https://github.com/bartvanvelden) in [#&#8203;24518](immich-app/immich#24518)

##### 🌐 Translations

- chore: add new language requests by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;23991](immich-app/immich#23991)
- chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;24004](immich-app/immich#24004)

##### New Contributors

- [@&#8203;ujjwal123123](https://github.com/ujjwal123123) made their first contribution in [#&#8203;24101](immich-app/immich#24101)
- [@&#8203;lutostag](https://github.com/lutostag) made their first contribution in [#&#8203;23333](immich-app/immich#23333)
- [@&#8203;LukaPrebil](https://github.com/LukaPrebil) made their first contribution in [#&#8203;24045](immich-app/immich#24045)
- [@&#8203;kimsey0](https://github.com/kimsey0) made their first contribution in [#&#8203;24232](immich-app/immich#24232)
- [@&#8203;SaphuA](https://github.com/SaphuA) made their first contribution in [#&#8203;24240](immich-app/immich#24240)
- [@&#8203;dionysius](https://github.com/dionysius) made their first contribution in [#&#8203;24215](immich-app/immich#24215)
- [@&#8203;NiklasvonM](https://github.com/NiklasvonM) made their first contribution in [#&#8203;24249](immich-app/immich#24249)
- [@&#8203;kao-byte](https://github.com/kao-byte) made their first contribution in [#&#8203;24098](immich-app/immich#24098)
- [@&#8203;carbonemys](https://github.com/carbonemys) made their first contribution in [#&#8203;24289](immich-app/immich#24289)
- [@&#8203;kiloomar](https://github.com/kiloomar) made their first contribution in [#&#8203;24372](immich-app/immich#24372)
- [@&#8203;fourthwall](https://github.com/fourthwall) made their first contribution in [#&#8203;24411](immich-app/immich#24411)
- [@&#8203;simonkub](https://github.com/simonkub) made their first contribution in [#&#8203;24450](immich-app/immich#24450)
- [@&#8203;ArnyminerZ](https://github.com/ArnyminerZ) made their first contribution in [#&#8203;21136](immich-app/immich#21136)
- [@&#8203;kurtmckee](https://github.com/kurtmckee) made their first contribution in [#&#8203;24491](immich-app/immich#24491)
- [@&#8203;hubert-taieb](https://github.com/hubert-taieb) made their first contribution in [#&#8203;24094](immich-app/immich#24094)
- [@&#8203;bartvanvelden](https://github.com/bartvanvelden) made their first contribution in [#&#8203;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>
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Dec 20, 2025
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 [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24569](immich-app/immich#24569)
- fix(mobile): infinite loading screen when hiding UI in map viewer on iOS by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24563](immich-app/immich#24563)
- fix(web): auto-start slideshow when confirming settings modal by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24629](immich-app/immich#24629)
- fix(mobile): merged video in On This Device played with incorrect ratio by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24656](immich-app/immich#24656)
- fix: dateTimeOriginal timezone updates by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24712](immich-app/immich#24712)
- fix(web): timezone dropdown showing "No results" when seconds are set to 00 by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24662](immich-app/immich#24662)
- fix(web): search-bar usability improvements  by [@&#8203;LeLunZ](https://github.com/LeLunZ) in [#&#8203;24705](immich-app/immich#24705)

##### 📚 Documentation

- fix(docs): add & fix missing alt text to store badge images by [@&#8203;divulgacheur](https://github.com/divulgacheur) in [#&#8203;24637](immich-app/immich#24637)

#### New Contributors

- [@&#8203;timonrieger](https://github.com/timonrieger) made their first contribution in [#&#8203;24563](immich-app/immich#24563)
- [@&#8203;LeLunZ](https://github.com/LeLunZ) made their first contribution in [#&#8203;24705](immich-app/immich#24705)
- [@&#8203;divulgacheur](https://github.com/divulgacheur) made their first contribution in [#&#8203;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 [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24142](immich-app/immich#24142)

##### 🚀 Features

- feat: improve performance: don't sort timeline buckets from server by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;24032](immich-app/immich#24032)
- feat: command palette by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;23693](immich-app/immich#23693)
- feat(web): Shared album owner labels by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;21171](immich-app/immich#21171)
- feat(mobile): persist album sorting & layout in settings by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;22133](immich-app/immich#22133)
- feat: queue detail page by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24352](immich-app/immich#24352)
- chore(mobile): add kebabu menu in asset viewer by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24387](immich-app/immich#24387)
- feat(mobile): create new album from add to modal by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24431](immich-app/immich#24431)
- feat(mobile): move buttons in the bottom sheet to the kebabu menu by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24175](immich-app/immich#24175)

##### 🌟 Enhancements

- feat(web): allow navigating the map with arrow keys by [@&#8203;lukashass](https://github.com/lukashass) in [#&#8203;24080](immich-app/immich#24080)
- feat: separate camera and lens info in detail panel by [@&#8203;fabianbees](https://github.com/fabianbees) in [#&#8203;23670](immich-app/immich#23670)
- feat(web): shared link card tweaks by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24192](immich-app/immich#24192)
- feat(server): exclude syncthing folders from external libraries by [@&#8203;SaphuA](https://github.com/SaphuA) in [#&#8203;24240](immich-app/immich#24240)
- feat(web): search type selection dropdown by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24091](immich-app/immich#24091)
- feat: header context menu by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24374](immich-app/immich#24374)
- feat(mobile): move top bar buttons into kebabu menu in AssetViewer by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24461](immich-app/immich#24461)
- feat(web): asset selection bar in tags view by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24522](immich-app/immich#24522)
- feat(web): slideshow feature on shared albums by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24598](immich-app/immich#24598)
- feat: replace heart icons to thumbs-up across activity by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24590](immich-app/immich#24590)

##### 🐛 Bug fixes

- fix: effect loop by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24014](immich-app/immich#24014)
- fix: do not clear hash on updated\_at change by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24039](immich-app/immich#24039)
- fix: disable animation "add to" action menu by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24040](immich-app/immich#24040)
- fix: Use correct app store link by [@&#8203;Mraedis](https://github.com/Mraedis) in [#&#8203;24062](immich-app/immich#24062)
- fix: show archived assets in favorite page by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24052](immich-app/immich#24052)
- fix(mobile): first video memory on page doesn't play by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;23906](immich-app/immich#23906)
- feat(web): show detected faces in spherical photos by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;23974](immich-app/immich#23974)
- fix: add users to album by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24133](immich-app/immich#24133)
- fix(server): sanitize DB\_URL for pg\_dumpall to remove unknown query params by [@&#8203;lutostag](https://github.com/lutostag) in [#&#8203;23333](immich-app/immich#23333)
- fix: use proper updatedAt value in local assets by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24137](immich-app/immich#24137)
- fix: albums page reactivity loops by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24046](immich-app/immich#24046)
- fix: getAspectRatio fallback to db width and height by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24131](immich-app/immich#24131)
- fix(web): fix support & feedback modal wrapping by [@&#8203;Snowknight26](https://github.com/Snowknight26) in [#&#8203;24018](immich-app/immich#24018)
- fix: don't get OCR data in shared link by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24152](immich-app/immich#24152)
- fix: duration extraction by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24178](immich-app/immich#24178)
- fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by [@&#8203;LukaPrebil](https://github.com/LukaPrebil) in [#&#8203;24045](immich-app/immich#24045)
- fix: update timeline-manager after archive actions by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;24010](immich-app/immich#24010)
- fix: theme switcher by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24209](immich-app/immich#24209)
- fix: label 'for' attributes in user-api-key-grid by [@&#8203;kimsey0](https://github.com/kimsey0) in [#&#8203;24232](immich-app/immich#24232)
- fix(mobile): enable backup text overflows by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24227](immich-app/immich#24227)
- fix(web): integrate zoom toggle button into panorama photo viewer by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;24189](immich-app/immich#24189)
- fix(web): use full tag path when creating nested subtags by [@&#8203;NiklasvonM](https://github.com/NiklasvonM) in [#&#8203;24249](immich-app/immich#24249)
- fix: only generate memory based on users assets by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24151](immich-app/immich#24151)
- fix(mobile): docs link by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;24277](immich-app/immich#24277)
- fix(server): use bigrams for cjk by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24285](immich-app/immich#24285)
- fix(ml): do not upscale preview by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24322](immich-app/immich#24322)
- fix(web): open onboarding documentation link in new tab by [@&#8203;carbonemys](https://github.com/carbonemys) in [#&#8203;24289](immich-app/immich#24289)
- fix(mobile): use correct timezone displayed in the info sheet by [@&#8203;kao-byte](https://github.com/kao-byte) in [#&#8203;24310](immich-app/immich#24310)
- fix(web): folder view sort oder by [@&#8203;etnoy](https://github.com/etnoy) in [#&#8203;24337](immich-app/immich#24337)
- fix(server): do not delete offline assets by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24355](immich-app/immich#24355)
- fix: exposure info and better readability by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24344](immich-app/immich#24344)
- fix: Adjust the zoom level by [@&#8203;jforseth210](https://github.com/jforseth210) in [#&#8203;24353](immich-app/immich#24353)
- fix: local full sync on Android on resume by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24348](immich-app/immich#24348)
- fix(web): Add minimum content size to logo for consistent visual on small screens by [@&#8203;kiloomar](https://github.com/kiloomar) in [#&#8203;24372](immich-app/immich#24372)
- fix: use adjustment time in iOS for hash reset by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24047](immich-app/immich#24047)
- fix(server): update exiftool-vendored to v34 for more robust metadata extraction by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;24424](immich-app/immich#24424)
- fix(mobile): cannot create album while name field is focused by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24449](immich-app/immich#24449)
- fix(web): \[album table view] long album title overflows table row by [@&#8203;simonkub](https://github.com/simonkub) in [#&#8203;24450](immich-app/immich#24450)
- fix(mobile): fix overflow text in backup card by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24448](immich-app/immich#24448)
- fix(mobile): timeline bottom padding on selection by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24480](immich-app/immich#24480)
- feat(mobile): Localized backup upload details page by [@&#8203;ArnyminerZ](https://github.com/ArnyminerZ) in [#&#8203;21136](immich-app/immich#21136)
- fix(mobile): iOS local permission dialog extra whitespace by [@&#8203;kurtmckee](https://github.com/kurtmckee) in [#&#8203;24491](immich-app/immich#24491)
- fix(mobile): versionStatus.message text overflow by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24504](immich-app/immich#24504)
- fix(server): prevent metadata extraction failures on large video files by [@&#8203;hubert-taieb](https://github.com/hubert-taieb) in [#&#8203;24094](immich-app/immich#24094)
- fix(web): show inferred timezone in date editor by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;24513](immich-app/immich#24513)
- fix(mobile): local videos with '#' don't play on android by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24373](immich-app/immich#24373)
- fix: refresh appear in list after asset is added to a current or new album by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24523](immich-app/immich#24523)
- fix(mobile): birthday off by one day on remote by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24527](immich-app/immich#24527)
- fix(web): download panel being hidden by admin sidebar by [@&#8203;diogotcorreia](https://github.com/diogotcorreia) in [#&#8203;24583](immich-app/immich#24583)
- fix(web): recent search doesn't use search type by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24578](immich-app/immich#24578)
- fix(server): only extract image's duration if format supports animation by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;24587](immich-app/immich#24587)
- fix(mobile): local delete missing from sheet on some routes  by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24505](immich-app/immich#24505)
- fix(mobile): better UI for metadata panel by [@&#8203;kao-byte](https://github.com/kao-byte) in [#&#8203;24428](immich-app/immich#24428)
- fix: shared link expiration and small styling by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24566](immich-app/immich#24566)
- fix: asset update race condition by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24384](immich-app/immich#24384)

##### 📚 Documentation

- docs: DB\_STORAGE\_TYPE is only used by the database container by [@&#8203;dionysius](https://github.com/dionysius) in [#&#8203;24215](immich-app/immich#24215)
- fix(docs): build `cli` for e2e tests by [@&#8203;roschaefer](https://github.com/roschaefer) in [#&#8203;24184](immich-app/immich#24184)
- docs(faq): add more info on archiving by [@&#8203;etnoy](https://github.com/etnoy) in [#&#8203;24326](immich-app/immich#24326)
- fix(docs): server and machine-learning use IMMICH\_HOST and IMMICH\_PORT by [@&#8203;dionysius](https://github.com/dionysius) in [#&#8203;24335](immich-app/immich#24335)
- fix: prevent OOM on nginx reverse proxy servers by [@&#8203;NicholasFlamy](https://github.com/NicholasFlamy) in [#&#8203;24351](immich-app/immich#24351)
- fix(docs): obsolete docs about rootless docker by [@&#8203;roschaefer](https://github.com/roschaefer) in [#&#8203;24376](immich-app/immich#24376)
- fix(docs): websockets in nginx example by [@&#8203;fourthwall](https://github.com/fourthwall) in [#&#8203;24411](immich-app/immich#24411)
- fix(docs): slow upload speed with example nginx reverse proxy config by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;24490](immich-app/immich#24490)
- fix(docs): typo in maintenance mode command by [@&#8203;bartvanvelden](https://github.com/bartvanvelden) in [#&#8203;24518](immich-app/immich#24518)

##### 🌐 Translations

- chore: add new language requests by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;23991](immich-app/immich#23991)
- chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;24004](immich-app/immich#24004)

#### New Contributors

- [@&#8203;ujjwal123123](https://github.com/ujjwal123123) made their first contribution in [#&#8203;24101](immich-app/immich#24101)
- [@&#8203;lutostag](https://github.com/lutostag) made their first contribution in [#&#8203;23333](immich-app/immich#23333)
- [@&#8203;LukaPrebil](https://github.com/LukaPrebil) made their first contribution in [#&#8203;24045](immich-app/immich#24045)
- [@&#8203;kimsey0](https://github.com/kimsey0) made their first contribution in [#&#8203;24232](immich-app/immich#24232)
- [@&#8203;SaphuA](https://github.com/SaphuA) made their first contribution in [#&#8203;24240](immich-app/immich#24240)
- [@&#8203;dionysius](https://github.com/dionysius) made their first contribution in [#&#8203;24215](immich-app/immich#24215)
- [@&#8203;NiklasvonM](https://github.com/NiklasvonM) made their first contribution in [#&#8203;24249](immich-app/immich#24249)
- [@&#8203;kao-byte](https://github.com/kao-byte) made their first contribution in [#&#8203;24098](immich-app/immich#24098)
- [@&#8203;carbonemys](https://github.com/carbonemys) made their first contribution in [#&#8203;24289](immich-app/immich#24289)
- [@&#8203;kiloomar](https://github.com/kiloomar) made their first contribution in [#&#8203;24372](immich-app/immich#24372)
- [@&#8203;fourthwall](https://github.com/fourthwall) made their first contribution in [#&#8203;24411](immich-app/immich#24411)
- [@&#8203;simonkub](https://github.com/simonkub) made their first contribution in [#&#8203;24450](immich-app/immich#24450)
- [@&#8203;ArnyminerZ](https://github.com/ArnyminerZ) made their first contribution in [#&#8203;21136](immich-app/immich#21136)
- [@&#8203;kurtmckee](https://github.com/kurtmckee) made their first contribution in [#&#8203;24491](immich-app/immich#24491)
- [@&#8203;hubert-taieb](https://github.com/hubert-taieb) made their first contribution in [#&#8203;24094](immich-app/immich#24094)
- [@&#8203;bartvanvelden](https://github.com/bartvanvelden) made their first contribution in [#&#8203;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>
kiloomar pushed a commit to kiloomar/immich that referenced this pull request Jan 12, 2026
* 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>
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.

[Beta] The UI transition for the photo‑information panel isn’t smooth

4 participants