shenlong
cb1af3a8ec
feat: favorite bottom sheet action ( #29320 )
...
* chore: cleanup partner action test
* feat: favorite bottom sheet action
* review suggestions
* implicit favorite handling
* feat: viewer favorite icon to action (#29321 )
* feat: viewer favorite icon to action
* feat: advance info action
* implicit favorite handling
* feat: viewer favorite icon to action
# Conflicts:
# mobile/lib/presentation/widgets/asset_viewer/viewer_top_app_bar.widget.dart
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
* chore: timeline action test (#29324 )
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
* clear selection only on success
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-25 16:55:06 -04:00
shenlong
49a821b0d0
chore: fix mobile test flakiness ( #29325 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-25 22:56:59 +05:30
shenlong
3a7034d25e
chore: cleanup partner action test ( #29296 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-25 10:49:34 -04:00
Yaros
4099fa6b4a
fix(mobile): app doesn't exit full-screen mode ( #29301 )
...
* fix(mobile): app doesn't exit full-screen mode
* chore: rename restoreSystemUI to restoreEdgeToEdge
2026-06-24 20:48:01 -05:00
Daniel Dietzler
9751530af8
feat: plugin wrapper type safety ( #29300 )
2026-06-24 15:22:35 -04:00
Daniel Dietzler
0931a19c5c
fix: run test suite for plugin changes ( #29311 )
2026-06-24 16:29:46 +00:00
Alex
08b2e2c0b5
fix(docs): Revert v3 bump ( #29310 )
...
Revert "fix(docsc): v3 bump (#29246 )"
This reverts commit dc7d57ff9a .
2026-06-24 11:18:37 -05:00
Santo Shakil
e5b50a55a4
fix(mobile): blank notifications page after enabling notifications ( #29232 )
...
the old notification toggles were removed in a cleanup, so once notifications were enabled the page had nothing left and went blank. show a "notifications enabled" status tile with a shortcut to the system notification settings instead.
2026-06-24 09:15:28 -05:00
shenlong
9d6c219276
fix: current viewer asset reactivity ( #29282 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-23 18:40:24 +00:00
shenlong
f29f86542c
feat: partner actions ( #29281 )
...
* feat: partner actions
# Conflicts:
# i18n/en.json
* cleanup
* fix tests
* ci fix
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-23 23:50:59 +05:30
okxint
5165cf1d2f
fix(mobile): force AssetViewerPage recreation on repeated view intents ( #29235 )
...
* fix(mobile): force AssetViewerPage recreation on repeated view intents
When View in Immich is triggered a second time while the viewer is
already open, auto_route's replaceAll reuses the existing route (same
type, null key) and Flutter keeps the old ConsumerState alive. The
PageController and preloader inside _AssetViewerState are late final,
so they never reset — the viewer stays frozen on the previous asset.
Passing UniqueKey() to AssetViewerRoute ensures each view intent
creates a fresh widget element, so initState runs, the PageController
is initialised from scratch, and the new TimelineService from the
updated ProviderScope override is picked up correctly.
Fixes #29230
* clean up
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2026-06-23 17:43:56 +00:00
shenlong
f4c8459484
feat: mobile actions ( #29280 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-23 16:50:57 +00:00
Mees Frensel
22ec449e43
chore: remove unused i18n strings ( #29288 )
2026-06-23 18:02:29 +02:00
Weblate (bot)
0b1019c344
chore(web): update translations ( #29204 )
...
Translate-URL: https://hosted.weblate.org/projects/immich/immich/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ar/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de_CH/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/en_GB/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eo/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fil/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ga/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ne/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ur/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translation: Immich/immich
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: AntonPalmqvist <apq@users.noreply.hosted.weblate.org >
Co-authored-by: Benjamin Kunz <benjamin.kunz.ch@gmail.com >
Co-authored-by: Cohinem <twitch9ofe@gmail.com >
Co-authored-by: Conrad Menz <weblate@spamstopover.de >
Co-authored-by: Damian Krysta <damian@krysta.dev >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Edmundas <edmius@gmail.com >
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com >
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org >
Co-authored-by: Insoo Seok <tocoyo@gmail.com >
Co-authored-by: Jayden Lo <jaydenlo08@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Luis Fernando Illapa <moxb@outlook.es >
Co-authored-by: Manar Aldroubi <droubi@gmail.com >
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Melih Ozkan <malihozkan156@gmail.com >
Co-authored-by: Mr.Biswas <kallan.biswas001@gmail.com >
Co-authored-by: Muxutruk <156070698+Muxutruk2@users.noreply.github.com >
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com >
Co-authored-by: Nicolas Ceballos <nicoshafes@gmail.com >
Co-authored-by: Para <ahh-produktivitet@tutanota.com >
Co-authored-by: Piero B. <biagini93@gmail.com >
Co-authored-by: PierreLapolla <plapolla9@gmail.com >
Co-authored-by: Ronnel <misc.woe@outlook.ph >
Co-authored-by: Sakib Iqbal <sakib.iqbal@gmail.com >
Co-authored-by: Saugat Tripathi <saugat.tripathi76@gmail.com >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Umair Jibran <wablate@umairjibran.com >
Co-authored-by: Unimpeded Lemur <yg7lh0fz3@mozmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vitor Coelho <vitorc195@gmail.com >
Co-authored-by: grgergo <gergo_g@proton.me >
Co-authored-by: muysup <79565421+MuySup@users.noreply.github.com >
Co-authored-by: Òscar Casajuana <elboletaire@underave.net >
2026-06-23 15:50:30 +00:00
Mees Frensel
06f3b4f259
refactor(web): simple actions ( #29257 )
2026-06-23 17:08:46 +02:00
Ben Beckford
99f94a363d
chore(web): workflow property ordering ( #29261 )
...
* chore(web): workflow property ordering
* chore(web): extract schema property sorting to method
2026-06-23 13:03:33 +00:00
Daniel Dietzler
c3092b1c2c
chore: basque was missing on mobile ( #29284 )
2026-06-23 08:57:05 -04:00
renovate[bot]
0656e7e231
chore(deps): update dependency typescript to v6 ( #28772 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-06-23 14:01:09 +02:00
renovate[bot]
1692b81b7c
chore(deps): lock file maintenance (pub) ( #28733 )
2026-06-23 12:43:35 +02:00
renovate[bot]
ff2028c4c8
chore(deps): update prom/prometheus docker digest to a75c5a3 ( #29271 )
2026-06-23 12:43:16 +02:00
Timon
f22836e1bf
refactor(server): describe check upload id as string ( #29274 )
2026-06-23 12:42:42 +02:00
renovate[bot]
7dd02ffbad
chore(deps): update github-actions ( #29272 )
...
Co-authored-by: bo0tzz <git@bo0tzz.me >
2026-06-23 08:49:21 +00:00
shenlong
e51c4cb355
feat: column button ( #29265 )
...
* refactor: icon buttons implicit loading
* chore: cleanup
* feat: ui color override
* feat: column button
* feat: ui menu item (#29266 )
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-22 20:56:00 -05:00
shenlong
d4102c0489
refactor: ui icon buttons implicit loading ( #29263 )
...
* refactor: icon buttons implicit loading
* chore: cleanup
* feat: ui color override (#29264 )
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-22 16:24:52 -04:00
shenlong
30a73c1105
feat: mobile-ui snackbar ( #29260 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-22 16:22:26 -04:00
Jason Rasmussen
ec7c0f9ec8
fix: sync backfill ( #29267 )
2026-06-22 16:19:01 -04:00
Brandon Wees
a5198e23a8
refactor: use SemVer classes for version compatability message ( #29056 )
...
* refactor: use SemVer classes for version compatability message
* chore: readd major version compatabilty messages
* fix: remove 1.106.0 check
(we dont support v1 servers anymore)
2026-06-22 11:28:56 -04:00
Mees Frensel
51f2905fcc
fix(web): remove map's fullscreen button ( #29192 )
2026-06-22 16:58:07 +02:00
Vogeluff
3b7d75c18a
feat(web): Add text-white-shadow to elements and increase the shadows effect ( #29165 )
...
* fix(web): increase text shadow strength for white text on thumbnails
* fix(web): fix class order for text-white-shadow
* fixup: format fix
2026-06-22 09:43:15 -05:00
Daniel Dietzler
c484bd99b6
fix: ignore external libraries for integrity report checksum check ( #29248 )
2026-06-22 13:56:24 +00:00
Anthony Clerici
c0bf5a4c56
fix(server): use VBR for QSV so the max bitrate is respected ( #29240 )
...
* fix(server): use VBR for QSV so the max bitrate is respected
* update test
2026-06-22 09:56:20 -04:00
MuySup
d9d50d2848
fix: turkish readme translation ( #29234 )
...
* Translation completed
3-2-1 rule translated
* Fix formatting of warning message in Turkish README
2026-06-22 09:55:58 -04:00
Daniel Dietzler
c7453a67fd
fix: detail panel people reactivity and iterator consumption ( #29250 )
2026-06-22 15:47:09 +02:00
Daniel Dietzler
e918e3a313
feat: keyboard seeking for new video player ( #29208 )
2026-06-22 09:42:59 -04:00
Matthew Momjian
dc7d57ff9a
fix(docsc): v3 bump ( #29246 )
...
v3 bump in docs
2026-06-21 20:44:58 -05:00
Alex
b24a617142
chore: bump mobile build ( #29215 )
2026-06-19 12:50:20 -05:00
Mees Frensel
62b00a1f26
refactor: slideshow and setalbumcover actions ( #29211 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:54:33 +00:00
Timon
95fc5e9682
docs: clarify duplicate exif merging intent ( #29203 )
2026-06-19 10:57:35 +02:00
github-actions
38920fc4ca
chore: version v3.0.0-rc.2
v3.0.0-rc.2
2026-06-18 23:20:14 +00:00
Weblate (bot)
3abeb4df92
chore(web): update translations ( #29162 )
...
Translate-URL: https://hosted.weblate.org/projects/immich/immich/be/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eo/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translation: Immich/immich
Co-authored-by: Erik Sikander <erik.sikander@gmail.com >
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org >
Co-authored-by: Frank Paul Silye <frankps@gmail.com >
Co-authored-by: HackingAll <hacking.all.YT@gmail.com >
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: Jayden Lo <jaydenlo08@gmail.com >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Muxutruk <156070698+Muxutruk2@users.noreply.github.com >
Co-authored-by: Muxutruk <benat.eigurenzu@elorrieta-errekamari.com >
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com >
Co-authored-by: Nicola Bortoletto <nicola.bortoletto@live.com >
Co-authored-by: PPNplus <ppnplus@protonmail.com >
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Zekai Şahin <zekainihas@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: bones78 <jens@mueller-starck.de >
Co-authored-by: 김도윤 <wezardnote@gmail.com >
2026-06-18 23:17:29 +00:00
Daniel Dietzler
805bb84877
fix: defensive album owner migration ( #29200 )
2026-06-18 23:51:38 +02:00
Daniel Dietzler
a719552243
fix: rc version check ( #29194 )
2026-06-18 21:00:12 +00:00
Santo Shakil
9a5e7a8e47
fix(mobile): endless spinner on album selection when device has no albums ( #28994 )
...
* fix(mobile): endless spinner on album selection when device has no albums
* use a page scoped future provider for the loading state
* refactor(mobile): decide album selection empty state in the parent
2026-06-18 21:38:15 +05:30
Daniel Dietzler
62c6bb27e3
fix: workflow asset type filter required ( #29196 )
2026-06-18 16:04:28 +00:00
renovate[bot]
f3cb3cf98d
fix(deps): update dependency nodemailer to v9 [security] ( #29195 )
2026-06-18 17:45:15 +02:00
Santo Shakil
c35abb2f66
fix(mobile): re-lock locked folder when the app is backgrounded ( #29089 )
...
* fix(mobile): re-lock locked folder when the app is backgrounded
* fix(mobile): simplify locked folder overlay condition
* fix(mobile): lock locked folder on pause instead of resume
2026-06-18 21:10:18 +05:30
Santo Shakil
793487e52c
fix(mobile): refresh memories on resume and day change ( #28983 )
...
* fix(mobile): refresh memories on resume and day change
* fix(mobile): invalidate memories once after the resume sync
2026-06-18 20:46:20 +05:30
Ebin Santhosh
769c4015d3
fix(mobile): prevent duplicate login pages for unauthenticated share intent warm start ( #29054 )
2026-06-18 20:45:35 +05:30
renovate[bot]
c07cbe7ca8
chore(deps): update dependency multer to v2.2.0 [security] ( #29183 )
2026-06-18 16:31:10 +02:00
Timon
6d73bf4e36
refactor(web): move keyboard state into a store ( #29181 )
2026-06-18 16:29:26 +02:00