feat: jxl browser support detection#25599
Conversation
mertalev
left a comment
There was a problem hiding this comment.
I think the approach of testing support is reasonable, but the implementation doesn't seem particularly robust.
9b8d9e0 to
bbc513e
Compare
bbc513e to
8caa65f
Compare
meesfrensel
left a comment
There was a problem hiding this comment.
Calling this function twice or more would be a bug, right? Is it possible to prevent that? I don't know if it's valid TS syntax, but maybe something like (() => { /* logic */ })() could work. Otherwise, I think it makes sense to add an assertion at the start of the function that asserts !supportedImageMimeTypes.contains('image/jxl') to at least surface potential bugs asap.
@meesfrensel if this whole file is executed multiple times for any reason, then I could add a guard anyway like so, but I feel it would be redundant: // before the function
let isJxlCheckDone = false;
// inside the function, at the beginning
if (isJxlCheckDone ) return;
isJxlCheckDone = true; |
8caa65f to
f1021e1
Compare
|
@mertalev do you need any other action from me? |
|
Nope! This is just waiting for us to be done with hot fixes for this release. |
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/immich-app/immich-machine-learning](https://github.com/immich-app/immich) | patch | `v2.5.5` → `v2.5.6` | | [ghcr.io/immich-app/immich-server](https://github.com/immich-app/immich) | patch | `v2.5.5` → `v2.5.6` | --- >⚠️ **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.5.6`](https://github.com/immich-app/immich/releases/tag/v2.5.6) [Compare Source](immich-app/immich@v2.5.5...v2.5.6) ##### v2.5.6 This patch release addresses the following issues - Fixed an issue where thumbnail generation runs every night when `full-size image generation` option is enabled. - Fixed an issue where iOS is slow to start in some cases. - Fixed an issue where Android device cannot delete asset using Free Up Space feature if it has more than a few thousand assets <!-- Release notes generated using configuration in .github/release.yml at v2.5.6 --> ##### 🐛 Bug fixes - fix: enhance album sorting functionality with order handling by [@​LeLunZ](https://github.com/LeLunZ) in [#​24816](immich-app/immich#24816) - fix: add missing translations for image editor by [@​michelheusschen](https://github.com/michelheusschen) in [#​25957](immich-app/immich#25957) - fix: image and video download complete notification shows "file\_name" by [@​romoisverycool](https://github.com/romoisverycool) in [#​25975](immich-app/immich#25975) - fix: user profile refetched each time on opening app dialog by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​25992](immich-app/immich#25992) - fix: improve albums page load time on firefox by [@​michelheusschen](https://github.com/michelheusschen) in [#​26025](immich-app/immich#26025) - fix: reduce queue graph jitter and include paused count by [@​michelheusschen](https://github.com/michelheusschen) in [#​26023](immich-app/immich#26023) - fix(web): toast fixed location by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​25966](immich-app/immich#25966) - fix: scroll jump when opening show & hide people by [@​michelheusschen](https://github.com/michelheusschen) in [#​25932](immich-app/immich#25932) - fix(web): display storage unit next to value instead of absolute positioning in admin user page by [@​K0lin](https://github.com/K0lin) in [#​25985](immich-app/immich#25985) - fix: iOS slow start by [@​alextran1502](https://github.com/alextran1502) in [#​26043](immich-app/immich#26043) - fix: profile dialog auto dismiss after opening on iPad by [@​alextran1502](https://github.com/alextran1502) in [#​26046](immich-app/immich#26046) - fix(web): prevent context menu from overflowing viewport by [@​ttpss930141011](https://github.com/ttpss930141011) in [#​26041](immich-app/immich#26041) - fix: slideshow setting dropdown overflow by [@​michelheusschen](https://github.com/michelheusschen) in [#​26066](immich-app/immich#26066) - fix: free up space using small batch size to reliably work on Android by [@​alextran1502](https://github.com/alextran1502) in [#​26047](immich-app/immich#26047) - fix(web): removing a person in an asset, doesn't remove the asset in … by [@​dolfje](https://github.com/dolfje) in [#​26068](immich-app/immich#26068) - fix(mobile): handle image stream completion when no image is emitted by [@​LeLunZ](https://github.com/LeLunZ) in [#​25984](immich-app/immich#25984) - fix: evict image from cache on error during image loading by [@​LeLunZ](https://github.com/LeLunZ) in [#​26078](immich-app/immich#26078) - fix(server): thumbnail queueing by [@​mertalev](https://github.com/mertalev) in [#​26077](immich-app/immich#26077) - fix: create face exif orientation handling by [@​bwees](https://github.com/bwees) in [#​26108](immich-app/immich#26108) - fix(web): refresh text by [@​jrasm91](https://github.com/jrasm91) in [#​26071](immich-app/immich#26071) - fix: correctly cancel select all assets by [@​michelheusschen](https://github.com/michelheusschen) in [#​26067](immich-app/immich#26067) - fix: person thumbnail generation on edited assets by [@​bwees](https://github.com/bwees) in [#​26112](immich-app/immich#26112) - fix: local date time group fall back by [@​alextran1502](https://github.com/alextran1502) in [#​26110](immich-app/immich#26110) ##### 📚 Documentation - feat(docs): version policy by [@​mmomjian](https://github.com/mmomjian) in [#​25979](immich-app/immich#25979) - feat(deployment): rootless compose file by [@​mmomjian](https://github.com/mmomjian) in [#​25931](immich-app/immich#25931) - docs: update ml-hardware-acceleration.md by [@​cmrtdev](https://github.com/cmrtdev) in [#​25755](immich-app/immich#25755) ##### 🌐 Translations - chore(web): update translations by [@​weblate](https://github.com/weblate) in [#​25947](immich-app/immich#25947) ##### New Contributors - [@​ttpss930141011](https://github.com/ttpss930141011) made their first contribution in [#​26041](immich-app/immich#26041) - [@​dolfje](https://github.com/dolfje) made their first contribution in [#​26068](immich-app/immich#26068) - [@​cmrtdev](https://github.com/cmrtdev) made their first contribution in [#​25755](immich-app/immich#25755) - [@​nicosemp](https://github.com/nicosemp) made their first contribution in [#​25599](immich-app/immich#25599) **Full Changelog**: <immich-app/immich@v2.5.5...v2.5.6> </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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Ni4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTYuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: Renovate Bot <renovate@zarantonello.dev> Co-committed-by: Renovate Bot <renovate@zarantonello.dev>
##### [\`v2.5.6\`](https://github.com/immich-app/immich/releases/tag/v2.5.6) ##### v2.5.6 This patch release addresses the following issues - Fixed an issue where thumbnail generation runs every night when `full-size image generation` option is enabled. - Fixed an issue where iOS is slow to start in some cases. - Fixed an issue where Android device cannot delete asset using Free Up Space feature if it has more than a few thousand assets <!-- Release notes generated using configuration in .github/release.yml at v2.5.6 --> ##### 🐛 Bug fixes - fix: enhance album sorting functionality with order handling by [@LeLunZ](https://github.com/LeLunZ) in [#24816](immich-app/immich#24816) - fix: add missing translations for image editor by [@michelheusschen](https://github.com/michelheusschen) in [#25957](immich-app/immich#25957) - fix: image and video download complete notification shows "file\_name" by [@romoisverycool](https://github.com/romoisverycool) in [#25975](immich-app/immich#25975) - fix: user profile refetched each time on opening app dialog by [@shenlong-tanwen](https://github.com/shenlong-tanwen) in [#25992](immich-app/immich#25992) - fix: improve albums page load time on firefox by [@michelheusschen](https://github.com/michelheusschen) in [#26025](immich-app/immich#26025) - fix: reduce queue graph jitter and include paused count by [@michelheusschen](https://github.com/michelheusschen) in [#26023](immich-app/immich#26023) - fix(web): toast fixed location by [@YarosMallorca](https://github.com/YarosMallorca) in [#25966](immich-app/immich#25966) - fix: scroll jump when opening show & hide people by [@michelheusschen](https://github.com/michelheusschen) in [#25932](immich-app/immich#25932) - fix(web): display storage unit next to value instead of absolute positioning in admin user page by [@K0lin](https://github.com/K0lin) in [#25985](immich-app/immich#25985) - fix: iOS slow start by [@alextran1502](https://github.com/alextran1502) in [#26043](immich-app/immich#26043) - fix: profile dialog auto dismiss after opening on iPad by [@alextran1502](https://github.com/alextran1502) in [#26046](immich-app/immich#26046) - fix(web): prevent context menu from overflowing viewport by [@ttpss930141011](https://github.com/ttpss930141011) in [#26041](immich-app/immich#26041) - fix: slideshow setting dropdown overflow by [@michelheusschen](https://github.com/michelheusschen) in [#26066](immich-app/immich#26066) - fix: free up space using small batch size to reliably work on Android by [@alextran1502](https://github.com/alextran1502) in [#26047](immich-app/immich#26047) - fix(web): removing a person in an asset, doesn't remove the asset in … by [@dolfje](https://github.com/dolfje) in [#26068](immich-app/immich#26068) - fix(mobile): handle image stream completion when no image is emitted by [@LeLunZ](https://github.com/LeLunZ) in [#25984](immich-app/immich#25984) - fix: evict image from cache on error during image loading by [@LeLunZ](https://github.com/LeLunZ) in [#26078](immich-app/immich#26078) - fix(server): thumbnail queueing by [@mertalev](https://github.com/mertalev) in [#26077](immich-app/immich#26077) - fix: create face exif orientation handling by [@bwees](https://github.com/bwees) in [#26108](immich-app/immich#26108) - fix(web): refresh text by [@jrasm91](https://github.com/jrasm91) in [#26071](immich-app/immich#26071) - fix: correctly cancel select all assets by [@michelheusschen](https://github.com/michelheusschen) in [#26067](immich-app/immich#26067) - fix: person thumbnail generation on edited assets by [@bwees](https://github.com/bwees) in [#26112](immich-app/immich#26112) - fix: local date time group fall back by [@alextran1502](https://github.com/alextran1502) in [#26110](immich-app/immich#26110) ##### 📚 Documentation - feat(docs): version policy by [@mmomjian](https://github.com/mmomjian) in [#25979](immich-app/immich#25979) - feat(deployment): rootless compose file by [@mmomjian](https://github.com/mmomjian) in [#25931](immich-app/immich#25931) - docs: update ml-hardware-acceleration.md by [@cmrtdev](https://github.com/cmrtdev) in [#25755](immich-app/immich#25755) ##### 🌐 Translations - chore(web): update translations by [@weblate](https://github.com/weblate) in [#25947](immich-app/immich#25947) ##### New Contributors - [@ttpss930141011](https://github.com/ttpss930141011) made their first contribution in [#26041](immich-app/immich#26041) - [@dolfje](https://github.com/dolfje) made their first contribution in [#26068](immich-app/immich#26068) - [@cmrtdev](https://github.com/cmrtdev) made their first contribution in [#25755](immich-app/immich#25755) - [@nicosemp](https://github.com/nicosemp) made their first contribution in [#25599](immich-app/immich#25599) **Full Changelog**: <immich-app/immich@v2.5.5...v2.5.6> --- ##### [\`v2.5.5\`](https://github.com/immich-app/immich/releases/tag/v2.5.5) ##### v2.5.5 *`v2.5.4` was in the way of getting out, and we got another annoyance bug fixed, so we rolled it into `v2.5.5`* Happy Friday! This release addresses more bugs from the `v2.5.0` release. Enjoy! - Fixed an issue where changing the timezone on the web changes the time instead of the timezone - Fixed an issue where background task on iOS don't get triggered as often - Fixes some issues regarding the usage of self-signed certificate and mLTS on the mobile app ##### 🐛 Bug fixes - fix(mobile): cancel share download when dialog is dismissed by [@cmdPromptCritical](https://github.com/cmdPromptCritical) in [#25466](immich-app/immich#25466) - fix: album dto docs by [@jrasm91](https://github.com/jrasm91) in [#25873](immich-app/immich#25873) - fix: null validation by [@jrasm91](https://github.com/jrasm91) in [#25891](immich-app/immich#25891) - fix(server): deleting stacked assets by [@jrasm91](https://github.com/jrasm91) in [#25874](immich-app/immich#25874) - fix: close tag modal after tagging assets by [@michelheusschen](https://github.com/michelheusschen) in [#25884](immich-app/immich#25884) - fix: correctly sync shared link download with metadata toggle by [@michelheusschen](https://github.com/michelheusschen) in [#25885](immich-app/immich#25885) - fix: date time picker text color in dark mode by [@alextran1502](https://github.com/alextran1502) in [#25883](immich-app/immich#25883) - fix: allow null tagIds in search dto by [@michelheusschen](https://github.com/michelheusschen) in [#25920](immich-app/immich#25920) - fix: improve asset editor exit handling by [@michelheusschen](https://github.com/michelheusschen) in [#25917](immich-app/immich#25917) - fix: make switch labels properly clickable by [@michelheusschen](https://github.com/michelheusschen) in [#25898](immich-app/immich#25898) - fix: ensure theme stays in sync with [@immich/ui](https://github.com/immich/ui) by [@michelheusschen](https://github.com/michelheusschen) in [#25922](immich-app/immich#25922) - fix: preserve hidden people state across pagination by [@michelheusschen](https://github.com/michelheusschen) in [#25886](immich-app/immich#25886) - fix: file name search label by [@alextran1502](https://github.com/alextran1502) in [#25916](immich-app/immich#25916) - fix(mobile): mtls on native clients by [@mertalev](https://github.com/mertalev) in [#25802](immich-app/immich#25802) - fix: time zone upserts by [@danieldietzler](https://github.com/danieldietzler) in [#25889](immich-app/immich#25889) - fix(web): Ensure profile picture is cropped to 1:1 ratio by [@aditya-ai-architect](https://github.com/aditya-ai-architect) in [#25892](immich-app/immich#25892) - fix(mobile): reset asset index on timeline refresh by [@uhthomas](https://github.com/uhthomas) in [#25729](immich-app/immich#25729) - fix: timezone in timeline bucketing by [@shenlong-tanwen](https://github.com/shenlong-tanwen) in [#25894](immich-app/immich#25894) - fix(mobile): Update preview and PageController position when the asset count decreases while the last item is selected by [@PeterOmbodi](https://github.com/PeterOmbodi) in [#25563](immich-app/immich#25563) - fix(server): use provided database username for restore & ensure name is not mangled by [@insertish](https://github.com/insertish) in [#25679](immich-app/immich#25679) - fix: image download complete notification shows an extra {file\_name} template tag by [@romoisverycool](https://github.com/romoisverycool) in [#25936](immich-app/immich#25936) - fix: face and edit handling by [@bwees](https://github.com/bwees) in [#25738](immich-app/immich#25738) - fix: queue assets missing fullsize files for thumbnail regeneration by [@midzelis](https://github.com/midzelis) in [#25794](immich-app/immich#25794) - fix: dedupe version announcement modal by [@jrasm91](https://github.com/jrasm91) in [#25946](immich-app/immich#25946) - fix(cli): suppress startup messages for immich-admin by [@VahantSharma](https://github.com/VahantSharma) in [#25928](immich-app/immich#25928) ##### 📚 Documentation - docs: update manual backup/restore to match the automatic process by [@insertish](https://github.com/insertish) in [#25924](immich-app/immich#25924) - fix(docs): add missing --json-output arg to CLI example by [@Xiol](https://github.com/Xiol) in [#25870](immich-app/immich#25870) - docs: remove writeTimeout on traefik example by [@kaysond](https://github.com/kaysond) in [#25837](immich-app/immich#25837) ##### 🌐 Translations - chore(web): update translations by [@weblate](https://github.com/weblate) in [#25585](immich-app/immich#25585) ##### New Contributors - [@aditya-ai-architect](https://github.com/aditya-ai-architect) made their first contribution in [#25892](immich-app/immich#25892) - [@VahantSharma](https://github.com/VahantSharma) made their first contribution in [#25927](immich-app/immich#25927) - [@Xiol](https://github.com/Xiol) made their first contribution in [#25870](immich-app/immich#25870) - [@cmdPromptCritical](https://github.com/cmdPromptCritical) made their first contribution in [#25466](immich-app/immich#25466) - [@romoisverycool](https://github.com/romoisverycool) made their first contribution in [#25936](immich-app/immich#25936) - [@didekoning](https://github.com/didekoning) made their first contribution in [#25937](immich-app/immich#25937) **Full Changelog**: <immich-app/immich@v2.5.3...v2.5.5> --- ##### [\`v2.5.3\`](https://github.com/immich-app/immich/releases/tag/v2.5.3) ##### What's Changed ##### 🐛 Bug fixes - chore: remove random code snippet by [@jrasm91](https://github.com/jrasm91) in [#25677](immich-app/immich#25677) - fix: reset and unsaved change states in editor by [@bwees](https://github.com/bwees) in [#25588](immich-app/immich#25588) - fix: no notification if release check is disabled by [@jrasm91](https://github.com/jrasm91) in [#25688](immich-app/immich#25688) - fix(mobile): hide latest version if disabled by [@uhthomas](https://github.com/uhthomas) in [#25691](immich-app/immich#25691) - fix(web): enable asset viewer navigation across memory boundaries by [@midzelis](https://github.com/midzelis) in [#25741](immich-app/immich#25741) - fix: upload progress bar flickering by [@alextran1502](https://github.com/alextran1502) in [#25829](immich-app/immich#25829) - fix: prevent stale values in edit user form after save by [@michelheusschen](https://github.com/michelheusschen) in [#25859](immich-app/immich#25859) - fix: prevent album page get rebuilt when resuming app by [@alextran1502](https://github.com/alextran1502) in [#25862](immich-app/immich#25862) - fix: prevent backspace from accidentally triggering delete modals by [@michelheusschen](https://github.com/michelheusschen) in [#25858](immich-app/immich#25858) - fix: metadata extraction race condition by [@danieldietzler](https://github.com/danieldietzler) in [#25866](immich-app/immich#25866) - fix: reset zoom when navigating between assets by [@michelheusschen](https://github.com/michelheusschen) in [#25863](immich-app/immich#25863) ##### 📚 Documentation - docs(openapi): Add descriptions to OpenAPI specification by [@timonrieger](https://github.com/timonrieger) in [#25185](immich-app/immich#25185) - fix(docs): clarify supported vector version by [@mmomjian](https://github.com/mmomjian) in [#25753](immich-app/immich#25753) **Full Changelog**: <immich-app/immich@v2.5.2...v2.5.3>
##### [\`v2.5.6\`](https://github.com/immich-app/immich/releases/tag/v2.5.6) ##### v2.5.6 This patch release addresses the following issues - Fixed an issue where thumbnail generation runs every night when `full-size image generation` option is enabled. - Fixed an issue where iOS is slow to start in some cases. - Fixed an issue where Android device cannot delete asset using Free Up Space feature if it has more than a few thousand assets <!-- Release notes generated using configuration in .github/release.yml at v2.5.6 --> ##### 🐛 Bug fixes - fix: enhance album sorting functionality with order handling by [@LeLunZ](https://github.com/LeLunZ) in [#24816](immich-app/immich#24816) - fix: add missing translations for image editor by [@michelheusschen](https://github.com/michelheusschen) in [#25957](immich-app/immich#25957) - fix: image and video download complete notification shows "file\_name" by [@romoisverycool](https://github.com/romoisverycool) in [#25975](immich-app/immich#25975) - fix: user profile refetched each time on opening app dialog by [@shenlong-tanwen](https://github.com/shenlong-tanwen) in [#25992](immich-app/immich#25992) - fix: improve albums page load time on firefox by [@michelheusschen](https://github.com/michelheusschen) in [#26025](immich-app/immich#26025) - fix: reduce queue graph jitter and include paused count by [@michelheusschen](https://github.com/michelheusschen) in [#26023](immich-app/immich#26023) - fix(web): toast fixed location by [@YarosMallorca](https://github.com/YarosMallorca) in [#25966](immich-app/immich#25966) - fix: scroll jump when opening show & hide people by [@michelheusschen](https://github.com/michelheusschen) in [#25932](immich-app/immich#25932) - fix(web): display storage unit next to value instead of absolute positioning in admin user page by [@K0lin](https://github.com/K0lin) in [#25985](immich-app/immich#25985) - fix: iOS slow start by [@alextran1502](https://github.com/alextran1502) in [#26043](immich-app/immich#26043) - fix: profile dialog auto dismiss after opening on iPad by [@alextran1502](https://github.com/alextran1502) in [#26046](immich-app/immich#26046) - fix(web): prevent context menu from overflowing viewport by [@ttpss930141011](https://github.com/ttpss930141011) in [#26041](immich-app/immich#26041) - fix: slideshow setting dropdown overflow by [@michelheusschen](https://github.com/michelheusschen) in [#26066](immich-app/immich#26066) - fix: free up space using small batch size to reliably work on Android by [@alextran1502](https://github.com/alextran1502) in [#26047](immich-app/immich#26047) - fix(web): removing a person in an asset, doesn't remove the asset in … by [@dolfje](https://github.com/dolfje) in [#26068](immich-app/immich#26068) - fix(mobile): handle image stream completion when no image is emitted by [@LeLunZ](https://github.com/LeLunZ) in [#25984](immich-app/immich#25984) - fix: evict image from cache on error during image loading by [@LeLunZ](https://github.com/LeLunZ) in [#26078](immich-app/immich#26078) - fix(server): thumbnail queueing by [@mertalev](https://github.com/mertalev) in [#26077](immich-app/immich#26077) - fix: create face exif orientation handling by [@bwees](https://github.com/bwees) in [#26108](immich-app/immich#26108) - fix(web): refresh text by [@jrasm91](https://github.com/jrasm91) in [#26071](immich-app/immich#26071) - fix: correctly cancel select all assets by [@michelheusschen](https://github.com/michelheusschen) in [#26067](immich-app/immich#26067) - fix: person thumbnail generation on edited assets by [@bwees](https://github.com/bwees) in [#26112](immich-app/immich#26112) - fix: local date time group fall back by [@alextran1502](https://github.com/alextran1502) in [#26110](immich-app/immich#26110) ##### 📚 Documentation - feat(docs): version policy by [@mmomjian](https://github.com/mmomjian) in [#25979](immich-app/immich#25979) - feat(deployment): rootless compose file by [@mmomjian](https://github.com/mmomjian) in [#25931](immich-app/immich#25931) - docs: update ml-hardware-acceleration.md by [@cmrtdev](https://github.com/cmrtdev) in [#25755](immich-app/immich#25755) ##### 🌐 Translations - chore(web): update translations by [@weblate](https://github.com/weblate) in [#25947](immich-app/immich#25947) ##### New Contributors - [@ttpss930141011](https://github.com/ttpss930141011) made their first contribution in [#26041](immich-app/immich#26041) - [@dolfje](https://github.com/dolfje) made their first contribution in [#26068](immich-app/immich#26068) - [@cmrtdev](https://github.com/cmrtdev) made their first contribution in [#25755](immich-app/immich#25755) - [@nicosemp](https://github.com/nicosemp) made their first contribution in [#25599](immich-app/immich#25599) **Full Changelog**: <immich-app/immich@v2.5.5...v2.5.6> --- ##### [\`v2.5.5\`](https://github.com/immich-app/immich/releases/tag/v2.5.5) ##### v2.5.5 *`v2.5.4` was in the way of getting out, and we got another annoyance bug fixed, so we rolled it into `v2.5.5`* Happy Friday! This release addresses more bugs from the `v2.5.0` release. Enjoy! - Fixed an issue where changing the timezone on the web changes the time instead of the timezone - Fixed an issue where background task on iOS don't get triggered as often - Fixes some issues regarding the usage of self-signed certificate and mLTS on the mobile app ##### 🐛 Bug fixes - fix(mobile): cancel share download when dialog is dismissed by [@cmdPromptCritical](https://github.com/cmdPromptCritical) in [#25466](immich-app/immich#25466) - fix: album dto docs by [@jrasm91](https://github.com/jrasm91) in [#25873](immich-app/immich#25873) - fix: null validation by [@jrasm91](https://github.com/jrasm91) in [#25891](immich-app/immich#25891) - fix(server): deleting stacked assets by [@jrasm91](https://github.com/jrasm91) in [#25874](immich-app/immich#25874) - fix: close tag modal after tagging assets by [@michelheusschen](https://github.com/michelheusschen) in [#25884](immich-app/immich#25884) - fix: correctly sync shared link download with metadata toggle by [@michelheusschen](https://github.com/michelheusschen) in [#25885](immich-app/immich#25885) - fix: date time picker text color in dark mode by [@alextran1502](https://github.com/alextran1502) in [#25883](immich-app/immich#25883) - fix: allow null tagIds in search dto by [@michelheusschen](https://github.com/michelheusschen) in [#25920](immich-app/immich#25920) - fix: improve asset editor exit handling by [@michelheusschen](https://github.com/michelheusschen) in [#25917](immich-app/immich#25917) - fix: make switch labels properly clickable by [@michelheusschen](https://github.com/michelheusschen) in [#25898](immich-app/immich#25898) - fix: ensure theme stays in sync with [@immich/ui](https://github.com/immich/ui) by [@michelheusschen](https://github.com/michelheusschen) in [#25922](immich-app/immich#25922) - fix: preserve hidden people state across pagination by [@michelheusschen](https://github.com/michelheusschen) in [#25886](immich-app/immich#25886) - fix: file name search label by [@alextran1502](https://github.com/alextran1502) in [#25916](immich-app/immich#25916) - fix(mobile): mtls on native clients by [@mertalev](https://github.com/mertalev) in [#25802](immich-app/immich#25802) - fix: time zone upserts by [@danieldietzler](https://github.com/danieldietzler) in [#25889](immich-app/immich#25889) - fix(web): Ensure profile picture is cropped to 1:1 ratio by [@aditya-ai-architect](https://github.com/aditya-ai-architect) in [#25892](immich-app/immich#25892) - fix(mobile): reset asset index on timeline refresh by [@uhthomas](https://github.com/uhthomas) in [#25729](immich-app/immich#25729) - fix: timezone in timeline bucketing by [@shenlong-tanwen](https://github.com/shenlong-tanwen) in [#25894](immich-app/immich#25894) - fix(mobile): Update preview and PageController position when the asset count decreases while the last item is selected by [@PeterOmbodi](https://github.com/PeterOmbodi) in [#25563](immich-app/immich#25563) - fix(server): use provided database username for restore & ensure name is not mangled by [@insertish](https://github.com/insertish) in [#25679](immich-app/immich#25679) - fix: image download complete notification shows an extra {file\_name} template tag by [@romoisverycool](https://github.com/romoisverycool) in [#25936](immich-app/immich#25936) - fix: face and edit handling by [@bwees](https://github.com/bwees) in [#25738](immich-app/immich#25738) - fix: queue assets missing fullsize files for thumbnail regeneration by [@midzelis](https://github.com/midzelis) in [#25794](immich-app/immich#25794) - fix: dedupe version announcement modal by [@jrasm91](https://github.com/jrasm91) in [#25946](immich-app/immich#25946) - fix(cli): suppress startup messages for immich-admin by [@VahantSharma](https://github.com/VahantSharma) in [#25928](immich-app/immich#25928) ##### 📚 Documentation - docs: update manual backup/restore to match the automatic process by [@insertish](https://github.com/insertish) in [#25924](immich-app/immich#25924) - fix(docs): add missing --json-output arg to CLI example by [@Xiol](https://github.com/Xiol) in [#25870](immich-app/immich#25870) - docs: remove writeTimeout on traefik example by [@kaysond](https://github.com/kaysond) in [#25837](immich-app/immich#25837) ##### 🌐 Translations - chore(web): update translations by [@weblate](https://github.com/weblate) in [#25585](immich-app/immich#25585) ##### New Contributors - [@aditya-ai-architect](https://github.com/aditya-ai-architect) made their first contribution in [#25892](immich-app/immich#25892) - [@VahantSharma](https://github.com/VahantSharma) made their first contribution in [#25927](immich-app/immich#25927) - [@Xiol](https://github.com/Xiol) made their first contribution in [#25870](immich-app/immich#25870) - [@cmdPromptCritical](https://github.com/cmdPromptCritical) made their first contribution in [#25466](immich-app/immich#25466) - [@romoisverycool](https://github.com/romoisverycool) made their first contribution in [#25936](immich-app/immich#25936) - [@didekoning](https://github.com/didekoning) made their first contribution in [#25937](immich-app/immich#25937) **Full Changelog**: <immich-app/immich@v2.5.3...v2.5.5> --- ##### [\`v2.5.3\`](https://github.com/immich-app/immich/releases/tag/v2.5.3) ##### What's Changed ##### 🐛 Bug fixes - chore: remove random code snippet by [@jrasm91](https://github.com/jrasm91) in [#25677](immich-app/immich#25677) - fix: reset and unsaved change states in editor by [@bwees](https://github.com/bwees) in [#25588](immich-app/immich#25588) - fix: no notification if release check is disabled by [@jrasm91](https://github.com/jrasm91) in [#25688](immich-app/immich#25688) - fix(mobile): hide latest version if disabled by [@uhthomas](https://github.com/uhthomas) in [#25691](immich-app/immich#25691) - fix(web): enable asset viewer navigation across memory boundaries by [@midzelis](https://github.com/midzelis) in [#25741](immich-app/immich#25741) - fix: upload progress bar flickering by [@alextran1502](https://github.com/alextran1502) in [#25829](immich-app/immich#25829) - fix: prevent stale values in edit user form after save by [@michelheusschen](https://github.com/michelheusschen) in [#25859](immich-app/immich#25859) - fix: prevent album page get rebuilt when resuming app by [@alextran1502](https://github.com/alextran1502) in [#25862](immich-app/immich#25862) - fix: prevent backspace from accidentally triggering delete modals by [@michelheusschen](https://github.com/michelheusschen) in [#25858](immich-app/immich#25858) - fix: metadata extraction race condition by [@danieldietzler](https://github.com/danieldietzler) in [#25866](immich-app/immich#25866) - fix: reset zoom when navigating between assets by [@michelheusschen](https://github.com/michelheusschen) in [#25863](immich-app/immich#25863) ##### 📚 Documentation - docs(openapi): Add descriptions to OpenAPI specification by [@timonrieger](https://github.com/timonrieger) in [#25185](immich-app/immich#25185) - fix(docs): clarify supported vector version by [@mmomjian](https://github.com/mmomjian) in [#25753](immich-app/immich#25753) **Full Changelog**: <immich-app/immich@v2.5.2...v2.5.3> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Description
Besides Safari, other browsers support (or are adding support) to JPEG XL images. One example is Zen Browser, which inherited the flag from Firefox's upstream and enabled it by default.
This means that adding support for more and more browsers one by one can be problematic.
At the same time, there is an easy and fast way to detect whether a browser supports JPEG XL images. It involves creating an Image object, assigning a minimal
image/jxlpayload to itssrcand monitoring the async loading with an event listener.Fixes # (issue)
How Has This Been Tested?
It will show an alert with:
yesif supported, expected in these browsers as of 2026-01-28:image.jxl.enabledset totrueinabout:config. Otherwise nonoif not supportedScreenshots (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.
No LLM.