Alex Tran
a6ba86b04d
server is striped
2026-02-06 22:00:56 +00:00
Alex Tran
5ccf4a596c
strip down core
2026-02-06 20:29:31 +00:00
Daniel Dietzler
a356497d96
refactor: album service small tests ( #25640 )
2026-02-06 08:56:46 -05:00
Michel Heusschen
16fe828913
fix: revert "fix(web): Ensure profile picture is cropped to 1:1 ratio ( #25892 )" ( #25956 )
...
Revert "fix(web): Ensure profile picture is cropped to 1:1 ratio (#25892 )"
This reverts commit 3c77c724c5 .
2026-02-06 08:21:56 -05:00
Michel Heusschen
211dc3c056
fix: add missing translations for image editor ( #25957 )
2026-02-06 13:08:24 +01:00
github-actions
ff9052f7f5
chore: version v2.5.5
2026-02-06 03:49:02 +00:00
Aditya Gaurav
999ce34251
fix(web): avoid transparent pixels from rounded-full during profile picture capture ( #25950 )
...
The cropContainer has rounded-full class which creates transparent
corners when captured by domtoimage.toBlob(). Override border-radius
and border to 0/none during capture to produce a clean square image.
Co-authored-by: Aditya Gaurav <aditya-ai-architect@users.noreply.github.com >
2026-02-06 03:21:27 +00:00
Vahant Sharma
491ed3d927
fix(cli): suppress startup messages for immich-admin ( #25928 )
...
fix(server): suppress startup messages for immich-admin CLI Introduce a log_message() helper function with QUIET flag to suppress informational startup output when running immich-admin. This prevents both shell messages and Node.js WASI experimental warnings from interfering with CLI help output. Fixes : #25909
2026-02-05 18:34:15 -05:00
Jason Rasmussen
94e86c6e76
fix: dedupe version announcement modal ( #25946 )
...
fix: version announcement modal
2026-02-05 16:24:10 -05:00
github-actions
8581b4f350
chore: version v2.5.4
2026-02-05 21:16:52 +00:00
Weblate (bot)
4835d5f97f
chore(web): update translations ( #25585 )
...
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/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/et/
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/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
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/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
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/ta/
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/uk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/
Translation: Immich/immich
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alan Lai <alanlai22@outlook.com >
Co-authored-by: Aldi Maulana <aldim222@gmail.com >
Co-authored-by: Andrei P <darkandrei197@gmail.com >
Co-authored-by: Ari Selseng <ari@selseng.net >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Bryan Tank <perso@bryantank.fr >
Co-authored-by: Cheng Chien <jamesqian1999@gmail.com >
Co-authored-by: Chun-Hei Lam <chun.lam18@imperial.ac.uk >
Co-authored-by: Ciprriann <cipriannebeja@gmail.com >
Co-authored-by: Damien Doumax <damien@orfaon.net >
Co-authored-by: Fran Sánchez <mrurkaz@gmail.com >
Co-authored-by: Hans Cats <hanscats@gmail.com >
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com >
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: Jordy H <jordy@hoebergen.net >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk >
Co-authored-by: KecskeTech <teonyitas@gmail.com >
Co-authored-by: Kim Hokyeong <manmen.mi1375@gmail.com >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: Masani Amin Yasin <langugetranslategay.taps663@silomails.com >
Co-authored-by: Masani Amin Yasin <masaniamin@proton.me >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Melih Ozkan <malihozkan156@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Nicolò <nicosemp@gmail.com >
Co-authored-by: Nik Grebovšek <nikigre@gmail.com >
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com >
Co-authored-by: PPNplus <ppnplus@protonmail.com >
Co-authored-by: Phantom0174 <darrenhsiou@gmail.com >
Co-authored-by: Pieter Lexis <pieter@plexis.eu >
Co-authored-by: Rey <x46puy43k@mozmail.com >
Co-authored-by: Roman Fedorchuk <roma.fedorchuk@gmail.com >
Co-authored-by: Samuel Medeiros <steixeiramedeiros@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Stan P <g97d6liib@mozmail.com >
Co-authored-by: Taiki M. <vexingly-many-mace@duck.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Tim Müller <info@timxllr.de >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: balc11 <balc11@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: john family <tyutee09@gmail.com >
Co-authored-by: kellogcheung <kellogcheung@gmail.com >
Co-authored-by: liimee <git.taaa@fedora.email >
Co-authored-by: millallo <millallo@tiscali.it >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com >
Co-authored-by: stesoma <soma.steltzer@gmail.com >
Co-authored-by: Óscar Fernández Díaz <42654671+oscfdezdz@users.noreply.github.com >
Co-authored-by: გიორგი კუცია <giorgi.kucia@gmail.com >
2026-02-05 21:14:41 +00:00
Aram Akhavan
435565be1b
docs: remove writeTimeout on traefik example ( #25837 )
...
Don't recommend writeTimeout: 600s for traefik example
2026-02-05 20:58:10 +00:00
Jason Rasmussen
94d3039606
fix: prettier not found ( #25941 )
2026-02-05 20:44:09 +00:00
Min Idzelis
092ebe01a5
fix: queue assets missing fullsize files for thumbnail regeneration ( #25794 )
...
* fix: queue assets missing fullsize files for thumbnail regeneration
* refactor: query
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-02-05 19:31:13 +00:00
Brandon Wees
37e5968a7a
fix: face and edit handling ( #25738 )
...
* fix: handle edits when creating face
2026-02-05 19:29:46 +00:00
Dion de Koning
cfc5ed5997
fix: timezone issue in tests ( #25937 )
...
* Fixed an issue where time tests fail in some timezones
* Revert previous fix and add TZ env variable to fix the issue
* Revert other changes and align TZ fix between server and web
* Revert package lock file
---------
Co-authored-by: Dion de Koning <dion@DionK01.local >
2026-02-05 19:24:23 +00:00
Romo
1b3c0e4f65
fix: image download complete notification shows an extra {file_name} template tag ( #25936 )
...
* [fix] Image download complete notification shows an extra {file_name} template tag
fixes https://github.com/immich-app/immich/issues/25690
added
```dart
final FileName = 'file_name'.t( args: {'file_name': '{filename}', }, );
```
* chore: fix formatting
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-05 19:19:33 +00:00
Mert
fd49d7d566
chore(mobile): skip macro validation ( #25744 )
...
* use podfile
* update deps
2026-02-05 14:16:21 -05:00
cmdPromptCritical
ad9f3cfa05
fix(mobile): cancel share download when dialog is dismissed ( #25466 )
...
* fix(mobile): cancel share download when dialog is dismissed
* refactor: centralize temporary file cleanup logic
* refactor: replace `CancellationToken` with `Completer<void>` for asset sharing cancellation
---------
Co-authored-by: cmdpromptcritical <cmdpromptcritical@github.com >
2026-02-05 19:08:35 +00:00
Dane
9d8efe2685
fix(docs): add missing --json-output arg to CLI example ( #25870 )
2026-02-05 14:00:27 -05:00
Paul Makles
ed4d9abdae
fix(server): use provided database username for restore & ensure name is not mangled ( #25679 )
...
* fix(server): use provided database name/username for restore & ensure name is not mangled
fixes #25633
Signed-off-by: izzy <me@insrt.uk >
* chore: add db switch back but with comments
Signed-off-by: izzy <me@insrt.uk >
* refactor: no need to restore database since it's not technically possible
chore: late fallback for username in parameter builder
Signed-off-by: izzy <me@insrt.uk >
* chore: type fix
Signed-off-by: izzy <me@insrt.uk >
* chore: re-use the username we just pulled out
---------
Signed-off-by: izzy <me@insrt.uk >
2026-02-05 13:59:05 -05:00
Vahant Sharma
ac9f6921cc
fix(server): add missing history metadata to getAuthStatus endpoint ( #25927 )
...
* fix(server): add missing history metadata to getAuthStatus endpoint
* chore: regenerate openapi specs
2026-02-05 18:56:44 +00:00
shenlong
f0da875e37
fix: allow clear text traffic on android ( #25933 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-06 00:15:33 +05:30
Peter Ombodi
b0e1a425b3
fix(mobile): jump to previous asset when last asset is deleted ( #25563 )
...
* fix(mobile): fix wrong index, update pageController
* fix(mobile): refactor code
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com >
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
2026-02-05 18:19:40 +00:00
Yaros
7211d80e5f
docs: update mobile setup to use mise ( #25847 )
...
docs: update mobile setup to mise
2026-02-05 12:55:38 -05:00
shenlong
92c79a7122
chore: increase cache_size and use memory temp store ( #25930 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-05 11:55:07 -06:00
renovate[bot]
7580521a76
chore(deps): update grafana/grafana docker tag to v12.3.2 ( #25840 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 12:52:07 -05:00
shenlong
2dd3a764ae
fix: timezone in timeline bucketing ( #25894 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-05 11:47:16 -06:00
Thomas
a42c08ed84
fix(mobile): reset asset index on timeline refresh ( #25729 )
...
The current asset changes when the timeline refreshes, which can be
quite jarring. Assets are tracked by their index, and that index becomes
stale when the timeline refreshes. This can be resolved by updating the
index of asset based on a unique identifier (like the hero tag).
2026-02-05 11:46:38 -06:00
Aditya Gaurav
3c77c724c5
fix(web): Ensure profile picture is cropped to 1:1 ratio ( #25892 )
...
* fix(web): Ensure profile picture is cropped to 1:1 ratio
Fixes #20097
The profile picture was being captured from the PhotoViewer element
which could have non-square dimensions based on the original image.
Changed to capture from the crop container element which has the
aspect-square class, ensuring the output is always 1:1 ratio.
* fix: remove trailing whitespace to pass prettier check
---------
Co-authored-by: Aditya Gaurav <aditya-ai-architect@users.noreply.github.com >
2026-02-05 11:45:06 -06:00
Yaros
84b2979485
docs: non-code contributing (datasets) ( #25850 )
...
docs: datasets
2026-02-05 11:44:35 -06:00
Paul Makles
e9c2ca008a
docs: update manual backup/restore to match the automatic process ( #25924 )
...
* docs: update manual backup/restore to match automatic process
closes #25772
* docs: update DB_NAME to DB_DATABASE_NAME
2026-02-05 12:43:33 -05:00
Daniel Dietzler
9c098109e0
fix: time zone upserts ( #25889 )
2026-02-05 12:43:03 -05:00
Mert
27a2808470
fix(mobile): mtls on native clients ( #25802 )
...
* handle mtls on ios
* update android impl
* ui improvements
* dead code
* no need to store data separately
* improve concurrency
* dead code
* add migration
* remove unused dependency
* trust user-installed certs
* removed print statement
* fix ios
* improve android styling
* outdated comments
* update lock file
* handle translation
* fix prompt cancellation
* fix video playback
* Apply suggestion from @shenlong-tanwen
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
* Apply suggestion from @shenlong-tanwen
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
* formatting
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
2026-02-05 17:42:53 +00:00
Alex
0a8a65a45e
fix: file name search label ( #25916 )
2026-02-05 17:24:58 +00:00
shenlong
2b6055e830
chore: do not process cloud ids during sync & hash ( #25914 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-05 11:23:50 -06:00
Mert
ba2dfa7df6
refactor(mobile): consolidate image requests ( #25743 )
...
remote url image provider
remove cached_network_image
formatting
linting
remove thumb provider
formatting
2026-02-05 12:16:42 -05:00
Jason Rasmussen
237ea3aedd
chore: update oauth documentation ( #25907 )
...
* chore: prefer lowercase for non i18n labels
* chore: update documentation
2026-02-05 09:00:00 -05:00
Michel Heusschen
810e9254f3
fix: preserve hidden people state across pagination ( #25886 )
...
* fix: preserve hidden people state across pagination
* track overrides instead
* use event instead of bind:people
* update test
2026-02-05 08:51:30 -05:00
Michel Heusschen
57e0835b46
fix: ensure theme stays in sync with @immich/ui ( #25922 )
2026-02-05 08:36:20 -05:00
Michel Heusschen
e97030a7ae
fix: make switch labels properly clickable ( #25898 )
2026-02-05 12:09:27 +01:00
Michel Heusschen
fdf06a91cc
fix: improve asset editor exit handling ( #25917 )
2026-02-05 12:01:54 +01:00
Michel Heusschen
732303661b
fix: allow null tagIds in search dto ( #25920 )
2026-02-05 11:52:35 +01:00
Alex
e9f8521a50
fix: date time picker text color in dark mode ( #25883 )
2026-02-04 18:45:56 +00:00
Michel Heusschen
6bd60270b4
fix: correctly sync shared link download with metadata toggle ( #25885 )
2026-02-04 12:38:42 -05:00
Michel Heusschen
5a6fd7af06
fix: close tag modal after tagging assets ( #25884 )
2026-02-04 12:35:00 -05:00
Jason Rasmussen
6cdebdd3b3
fix(server): deleting stacked assets ( #25874 )
...
* fix(server): deleting stacked assets
* fix: log a warning when removing an empty directory fails
2026-02-04 17:33:37 +00:00
Jason Rasmussen
9dddccd831
fix: null validation ( #25891 )
2026-02-04 12:27:52 -05:00
Min Idzelis
440b3b4c6f
chore: move devcontainer specific tasks to devcontainer.json ( #25881 )
...
refactor: move devcontainer specific tasks to devcontainer.json
2026-02-03 23:04:09 -05:00
Jason Rasmussen
3ea65f8d27
fix: album dto docs ( #25873 )
2026-02-03 21:05:18 +00:00
github-actions
38c1f0b1fd
chore: version v2.5.3
2026-02-03 18:14:21 +00:00
Michel Heusschen
5212bca3d0
fix: reset zoom when navigating between assets ( #25863 )
2026-02-03 11:07:06 -06:00
Daniel Dietzler
2990bde0bb
fix: metadata extraction race condition ( #25866 )
2026-02-03 11:03:27 -06:00
Michel Heusschen
af1ecaf5cc
fix: prevent backspace from accidentally triggering delete modals ( #25858 )
...
* fix: prevent backspace from accidentally triggering delete modals
* ignore input fields instead of removing shortcut
2026-02-03 16:42:46 +00:00
Alex
3870ebc3c6
fix: prevent album page get rebuilt when resuming app ( #25862 )
2026-02-03 16:35:53 +00:00
Michel Heusschen
0a9d969b47
fix: prevent stale values in edit user form after save ( #25859 )
2026-02-03 17:29:01 +01:00
Daniel Dietzler
94965f6d66
chore: rework tags sidebar ( #25855 )
2026-02-03 16:06:26 +00:00
Alex
8872d2c7ae
chore: remove swift logs ( #25857 )
2026-02-03 16:00:17 +00:00
Alex
23445fdcc1
fix: upload progress bar flickering ( #25829 )
...
* fix: upload progress bar flickering
* pr feedback and more logs
2026-02-03 09:28:29 -06:00
renovate[bot]
25f2273e24
chore(deps): update redis:6.2-alpine docker digest to 46884be ( #25839 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-03 12:56:56 +01:00
Min Idzelis
95e8e474b8
fix(web): enable asset viewer navigation across memory boundaries ( #25741 )
2026-02-02 10:12:08 -06:00
Timon
9f52d864cf
chore(ml): replace black with ruff format ( #25578 )
2026-02-02 09:02:06 -05:00
Mees Frensel
0273dcb0cf
fix(web): user settings styling ( #25775 )
2026-02-02 08:47:28 -05:00
Matthew Momjian
1436e2a75f
fix(docs): clarify supported vector version ( #25753 )
...
clarify supported version
2026-01-31 11:46:51 -05:00
Thomas
855817514c
fix(mobile): hide latest version if disabled ( #25691 )
...
* fix(mobile): hide latest version if disabled
If the version check feature is disabled, the server will currently send
stale data to the client. In addition to no longer sending stale data,
the client should also not show the latest version if the feature is
disabled.
This complements the server PR #25688 .
* lint
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-30 16:17:03 +00:00
Thomas
d5ad35ea52
chore(mobile): remove references to fvm, add mise docs, use java 21 ( #25703 )
2026-01-29 23:03:56 -06:00
shenlong
e63213d774
fix(mobile): do not autocorrect on endpoint input ( #25696 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-29 23:03:26 -06:00
Jason Rasmussen
0be1ffade6
fix: no notification if release check is disabled ( #25688 )
2026-01-29 18:31:11 -05:00
Brandon Wees
1a04caee29
fix: reset and unsaved change states in editor ( #25588 )
2026-01-29 15:18:30 -06:00
renovate[bot]
3ace578fc0
chore(deps): update dependency opentofu to v1.11.4 ( #24609 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 12:14:44 -05:00
Jason Rasmussen
25c573bc7a
chore: remove random code snippet ( #25677 )
2026-01-29 16:11:25 +00:00
renovate[bot]
10bb83cf75
chore(deps): update dependency terragrunt to v0.98.0 ( #24328 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 08:55:42 -05:00
Jason Rasmussen
10b53b525d
refactor: event manager ( #25565 )
2026-01-29 08:52:18 -05:00
Timon
8db61d341f
docs(openapi): add descriptions to OpenAPI specification ( #25185 )
...
* faces
* add openapi descriptions
* remove dto descriptions
* gen openapi
* dtos
* fix dtos
* fix more
* fix build
* more
* complete dtos
* descriptions on rebase
* gen rebase
* revert correct integer type conversion
* gen after revert
* revert correct nullables
* regen after revert
* actually incorrect adding default here
* revert correct number type conversion
* regen after revert
* revert nullable usage
* regen fully
* readd some comments
* one more
* one more
* use enum
* add missing
* add missing controllers
* add missing dtos
* complete it
* more
* describe global key and slug
* add remaining body and param descriptions
* lint and format
* cleanup
* response and schema descriptions
* test patch according to suggestion
* revert added api response objects
* revert added api body objects
* revert added api param object
* revert added api query objects
* revert reorganized http code objects
* revert reorganize ApiOkResponse objects
* revert added api response objects (2)
* revert added api tag object
* revert added api schema objects
* migrate missing asset.dto.ts
* regenerate openapi builds
* delete generated mustache files
* remove descriptions from properties that are schemas
* lint
* revert nullable type changes
* revert int/num type changes
* remove explicit default
* readd comment
* lint
* pr fixes
* last bits and pieces
* lint and format
* chore: remove rejected patches
* fix: deleting asset from asset-viewer on search results (#25596 )
* fix: escape handling in search asset viewer (#25621 )
* fix: correctly show owner in album options modal (#25618 )
* fix: validation issues
* fix: validation issues
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: Min Idzelis <min123@gmail.com >
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
Co-authored-by: Paul Makles <me@insrt.uk >
2026-01-29 08:49:15 -05:00
github-actions
eadb2f89af
chore: version v2.5.2
2026-01-28 22:05:10 +00:00
Marius
f2f11b1924
fix(mobile): tall image scrolling ( #25649 )
...
Add cross-axis gesture detection in PhotoView so vertical scrolling works on tall images that don't fill the screen width (have black bars)
2026-01-28 17:03:11 -05:00
Jason Rasmussen
141be5cbc9
fix: memory generation ( #25650 )
2026-01-28 15:51:24 -06:00
Jason Rasmussen
e81faa1dbf
fix: memory lane ( #25652 )
2026-01-28 15:51:13 -06:00
Alex
0beb1f9e7a
fix: width and height migration issue ( #25643 )
...
* fix: width and height migration issue
* chore: sync stream migration tests
* lint and test
---------
Co-authored-by: bwees <brandonwees@gmail.com >
2026-01-28 15:14:50 -06:00
Mert
e07a91f9c2
fix(mobile): actually load original image ( #25646 )
...
fix decoding
2026-01-28 15:14:37 -06:00
Noel S
c6defd453b
fix(mobile): set correct system-ui mode on asset viewer init ( #25610 )
...
fix: set correct systemui mode on asset viewer init
2026-01-28 15:14:23 -06:00
Daniel Dietzler
4e0e1b2c5c
fix: escape handling ( #25627 )
2026-01-28 15:05:21 -05:00
Noel S
84c3980844
fix(mobile): show controls by default on motion photos ( #25638 )
...
fix: show controls by default on motion photos
2026-01-28 13:46:29 -06:00
Daniel Dietzler
e50579eefc
fix: album card ranges ( #25639 )
2026-01-28 14:38:09 -05:00
Timon
0cb153a971
chore: update uv version setting command in release script ( #25583 )
2026-01-28 13:56:25 +00:00
Alex
12d23e987b
chore: post release tasks ( #25582 )
2026-01-28 08:55:58 -05:00
Timon
9486eed97e
chore(mise): use explicit monorepo config ( #25575 )
...
chore(mise): add monorepo configuration with multiple config roots
2026-01-28 08:55:11 -05:00
Paul Makles
913e939606
fix(server): don't assume maintenance action is set ( #25622 )
2026-01-28 13:55:18 +01:00
Daniel Dietzler
9be01e79f7
fix: correctly show owner in album options modal ( #25618 )
2026-01-28 06:24:02 -06:00
Daniel Dietzler
2d09853c3d
fix: escape handling in search asset viewer ( #25621 )
2026-01-28 06:23:15 -06:00
Min Idzelis
91831f68e2
fix: deleting asset from asset-viewer on search results ( #25596 )
2026-01-28 12:31:23 +01:00
github-actions
41e2ed3754
chore: version v2.5.1
2026-01-27 23:10:13 +00:00
Alex
1319ad373f
chore: increase build iOS timeout ( #25593 )
2026-01-27 23:04:00 +00:00
Alex
97df9fd53f
chore: prevent going into sleep mode for large deletion ( #25592 )
2026-01-27 22:50:28 +00:00
Jason Rasmussen
4707821451
chore: replace patch doc links ( #25591 )
...
chore: automatically use the latest patch release
2026-01-27 17:36:38 -05:00
Jason Rasmussen
20c4d375b1
chore: update pump script ( #25586 )
2026-01-27 17:33:12 -05:00
shenlong
46d2238431
fix: migration on trash source column ( #25590 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-27 16:25:35 -06:00
Jason Rasmussen
f7291c3a0b
fix: npm publish ( #25584 )
...
chore(web): update translations (#25576 )
* chore(web): update translations
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/be/
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/cv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/
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/el/
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/fa/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
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/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/kn/
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/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
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/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
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/sq/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Latn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/
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/uk/
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/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/
Translation: Immich/immich
* fix: revert package.json
---------
Co-authored-by: Weblate (bot) <hosted@weblate.org >
Co-authored-by: 0v0 <0v0tvs@gmail.com >
Co-authored-by: 100daysummer <bobbydochev@gmail.com >
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Adrián Nieto Rodríguez <adrian.nieto7@gmail.com >
Co-authored-by: Agostino Pit <scheccia@gmail.com >
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alexandre <alexandre.tressel@icloud.com >
Co-authored-by: Alexandre <pikpakpik@users.noreply.hosted.weblate.org >
Co-authored-by: Alin T <amin4fun@yahoo.com >
Co-authored-by: Ameer Hamza <ah75102@gmail.com >
Co-authored-by: Amir <amirikmel@gmail.com >
Co-authored-by: Antoine Maalouf <atmaalouf@gmail.com >
Co-authored-by: Anton Palmqvist <apq@users.noreply.hosted.weblate.org >
Co-authored-by: Aravinth <aravinth@tuta.io >
Co-authored-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Artem Grauberger <graubergerartem@gmail.com >
Co-authored-by: AtmosphericIgnition <dev@prusa.net >
Co-authored-by: Bagas Dwi <bagasdwin15@gmail.com >
Co-authored-by: Balázs R <nvi9@outlook.hu >
Co-authored-by: BarMan <weblate.barman632@simplelogin.com >
Co-authored-by: Bart Simons <bart2jes@gmail.com >
Co-authored-by: Bartłomiej <20731216+Jarsey45@users.noreply.github.com >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Branden S <schrenk.br@gmail.com >
Co-authored-by: Bruno Antunes <antunes.dll@gmail.com >
Co-authored-by: CHUNG, Jin-ho <doctorjinho@gmail.com >
Co-authored-by: CanbiZ <mickey.leskowitz@gmail.com >
Co-authored-by: Carl Bergan <carl.bergan@gmail.com >
Co-authored-by: Carl Hansson <carlhansson677@gmail.com >
Co-authored-by: Cem TURKER <forumcemturker@gmail.com >
Co-authored-by: Collignon-Ducret Rémi <remi+github@collignon-ducret.fr >
Co-authored-by: Constantin <lulu195@users.noreply.hosted.weblate.org >
Co-authored-by: Cédric <cedric@laubacher.io >
Co-authored-by: Damian Krysta <krypton9208@gmail.com >
Co-authored-by: Daniel Pätzold <weblate.labrador503@passmail.net >
Co-authored-by: Degani Giancarlo <giancarlo@degani.eu >
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Don't use my name <maxabmeyer@gmail.com >
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com >
Co-authored-by: Dániel Gál <galdaniel.school@gmail.com >
Co-authored-by: Eduardo Maciel <edumaciel1221@gmail.com >
Co-authored-by: Emil <emil.ca.carls+weblate@gmail.com >
Co-authored-by: Eric Hebert <ericheb@gmail.com >
Co-authored-by: Federico Cervelli <federicocervelli01@gmail.com >
Co-authored-by: Felipe Cury <weblate@flpcury.com >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net >
Co-authored-by: Gary <zgr0629@gmail.com >
Co-authored-by: George Tsotsos <geoxor123@outlook.com >
Co-authored-by: Giorgio M <giorgio.maulu@gmail.com >
Co-authored-by: Guillermo Ramos Santos <guillermo.ramosantos@gmail.com >
Co-authored-by: HackingAll <hacking.all.YT@gmail.com >
Co-authored-by: Haki Bardhi <hakibardhi7@gmail.com >
Co-authored-by: HaoSs07 <haoss07@gmail.com >
Co-authored-by: Haru Ijima <haruijimakun@gmail.com >
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Ilya <vlk.ilya@users.noreply.hosted.weblate.org >
Co-authored-by: Immich <weblate@immich.app >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: JM Garcia <jmgrc1626@gmail.com >
Co-authored-by: Jadde <Jasper@pgpmail.dk >
Co-authored-by: Jason Song <songpeiheng@gmail.com >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi >
Co-authored-by: Joel <octavianporsche@gmail.com >
Co-authored-by: John denar <weblate.direct@privacyshield.online >
Co-authored-by: Jordy H <jordy@hoebergen.net >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Julian Poidevin <poidevin.julian@gmail.com >
Co-authored-by: K Emil <kristianemilmadsen@gmail.com >
Co-authored-by: Katherine <kate.schumacher@gmail.com >
Co-authored-by: Kuba <kubaant@gmail.com >
Co-authored-by: Lemon Cat <lmncat3@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Liviu Roman <contact@liviuroman.com >
Co-authored-by: Lluís Forns <enboig@disroot.org >
Co-authored-by: Lorenzo <artale.lorenzo@outlook.it >
Co-authored-by: Loris Sambinelli <loriss84@gmail.com >
Co-authored-by: Lucas Jaksys <lucas3033@gmail.com >
Co-authored-by: Lucas Manzke <lmprogg@gmail.com >
Co-authored-by: Luuk Heijnen <luukheijnen1@gmail.com >
Co-authored-by: M4th12 <mattia.caldera04@gmail.com >
Co-authored-by: MSDNicrosoft <i@msdnicrosoft.work >
Co-authored-by: MSDNicrosoft <wang3311835119@hotmail.com >
Co-authored-by: MaBeniu <runnerm@gmail.com >
Co-authored-by: Macgyver <macgyver@users.noreply.hosted.weblate.org >
Co-authored-by: Mads Bojesen <madsrbojesen@gmail.com >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com >
Co-authored-by: Marian Wolf <marian.wolf2008@gmail.com >
Co-authored-by: Martynas <kingsizekebab@protonmail.com >
Co-authored-by: Marwan Jalaleddine <marwanjalaleddine@gmail.com >
Co-authored-by: Mateusz Filipowicz <matfilipowicz@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Matt Peperell <mattp@users.noreply.hosted.weblate.org >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Michael <mail@michaelhofer.ch >
Co-authored-by: Mihailo Gostiljac <gostiljaccc99@gmail.com >
Co-authored-by: Mohammed Khan <weblate@mkodify.org >
Co-authored-by: Muhammad Ghassan Ihsan Kamil <heysans.kamil@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Naim Hasim <ainadanaim@gmail.com >
Co-authored-by: Niccolò Cocchi <nicco.r.cocchi@gmail.com >
Co-authored-by: Nico Kaiser <nico@kaiser.me >
Co-authored-by: Olaf Nielsen <solluh@mail.de >
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com >
Co-authored-by: Peer Ewald <pulse-charger-open@duck.com >
Co-authored-by: PhillyMay <mein.alias@outlook.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Putthimedh Jarusirisoonthorn <toto.jaru@gmail.com >
Co-authored-by: ROCK TAKEY <rocktakey@gmail.com >
Co-authored-by: Remco <remco@pander.io >
Co-authored-by: Rey <x46puy43k@mozmail.com >
Co-authored-by: Riccardo Parise <riccardo@parise.space >
Co-authored-by: Roberto Burchi <elburchio@gmail.com >
Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com >
Co-authored-by: Rohama <32406304+dev-mkm@users.noreply.github.com >
Co-authored-by: Romo <romo@romo.al >
Co-authored-by: Rune J. <runekj@duck.com >
Co-authored-by: Saba Sakvarelidze <cal1b4nnn@gmail.com >
Co-authored-by: Sait Furkan Selçuk <sait574577@gmail.com >
Co-authored-by: Samhar Hijazi <semokoda@keemail.me >
Co-authored-by: Sami Cooper (CYB3ROID694) <sami.mhatre756@gmail.com >
Co-authored-by: Sergio <svillar@igalia.com >
Co-authored-by: Sergio Espada Rubio <espadauni@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Shjosan <shjosan@kakmix.co >
Co-authored-by: Simon L. B. Sørensen <simonxarro@gmail.com >
Co-authored-by: Sjoerd van Daal <sjoerd.van.daal@proton.me >
Co-authored-by: Skanda <skillwiz94@gmail.com >
Co-authored-by: Sonny Saul Aguilar Alvarez (sonnyano909) <aguilarsaulsonny@gmail.com >
Co-authored-by: Sophie <mail@sopht.li >
Co-authored-by: Stan P <g97d6liib@mozmail.com >
Co-authored-by: Stanly Swagato Halder <stanlyhalder@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: Szymon Kucharski <szymon.kucharski5@gmail.com >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Taiki M. <vexingly-many-mace@duck.com >
Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Tomasz Rzymyszkiewicz <tomasz@rzymyszkiewicz.com >
Co-authored-by: Tomo Tomov <tomotomov92@gmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vaja Benidze <luvared@gmail.com >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: Wolfgang Schwendtbauer <wolfgang.schwendtbauer@gmail.com >
Co-authored-by: Wout Van den Bossche <woutvdb@icloud.com >
Co-authored-by: anton garcias <isaga.percompartir@gmail.com >
Co-authored-by: binnichtaktiv <jonasbradley06@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: chamdim <chamdim@protonmail.com >
Co-authored-by: dionjoshualobo <23h13.joshua@sjec.ac.in >
Co-authored-by: dvbthien <dvbthien@users.noreply.hosted.weblate.org >
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org >
Co-authored-by: kgerg <kgergelyzs@gmail.com >
Co-authored-by: koffevar <koffevar@users.noreply.github.com >
Co-authored-by: kylo32 <kylo32@gmail.com >
Co-authored-by: lulala <sap777@msn.com >
Co-authored-by: lumppu <saukkolanerkki@gmail.com >
Co-authored-by: miiyuh <itsazripp2@gmail.com >
Co-authored-by: millallo <millallo@tiscali.it >
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org >
Co-authored-by: muziqaz <weblate.scapegoat467@passmail.net >
Co-authored-by: otterstedt <otterstedt@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: rohamaa <rohamaa@outlook.com >
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com >
Co-authored-by: stesoma <soma.steltzer@gmail.com >
Co-authored-by: theCataclysm808 <mail@sebastiangeithner.de >
Co-authored-by: twkim <angelos0424@gmail.com >
Co-authored-by: userrand6 <info@mh0.eu >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Мĕтри Сантăр ывалĕ Упа-Миччи <mefisteron@gmail.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
Co-authored-by: 안세훈 <on9686@gmail.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-27 16:11:08 -05:00
Weblate (bot)
b5a3334e30
chore(web): update translations ( #25576 )
...
* chore(web): update translations
Co-authored-by: 0v0 <0v0tvs@gmail.com >
Co-authored-by: 100daysummer <bobbydochev@gmail.com >
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Adrián Nieto Rodríguez <adrian.nieto7@gmail.com >
Co-authored-by: Agostino Pit <scheccia@gmail.com >
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alexandre <alexandre.tressel@icloud.com >
Co-authored-by: Alexandre <pikpakpik@users.noreply.hosted.weblate.org >
Co-authored-by: Alin T <amin4fun@yahoo.com >
Co-authored-by: Ameer Hamza <ah75102@gmail.com >
Co-authored-by: Amir <amirikmel@gmail.com >
Co-authored-by: Antoine Maalouf <atmaalouf@gmail.com >
Co-authored-by: Anton Palmqvist <apq@users.noreply.hosted.weblate.org >
Co-authored-by: Aravinth <aravinth@tuta.io >
Co-authored-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Artem Grauberger <graubergerartem@gmail.com >
Co-authored-by: AtmosphericIgnition <dev@prusa.net >
Co-authored-by: Bagas Dwi <bagasdwin15@gmail.com >
Co-authored-by: Balázs R <nvi9@outlook.hu >
Co-authored-by: BarMan <weblate.barman632@simplelogin.com >
Co-authored-by: Bart Simons <bart2jes@gmail.com >
Co-authored-by: Bartłomiej <20731216+Jarsey45@users.noreply.github.com >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Branden S <schrenk.br@gmail.com >
Co-authored-by: Bruno Antunes <antunes.dll@gmail.com >
Co-authored-by: CHUNG, Jin-ho <doctorjinho@gmail.com >
Co-authored-by: CanbiZ <mickey.leskowitz@gmail.com >
Co-authored-by: Carl Bergan <carl.bergan@gmail.com >
Co-authored-by: Carl Hansson <carlhansson677@gmail.com >
Co-authored-by: Cem TURKER <forumcemturker@gmail.com >
Co-authored-by: Collignon-Ducret Rémi <remi+github@collignon-ducret.fr >
Co-authored-by: Constantin <lulu195@users.noreply.hosted.weblate.org >
Co-authored-by: Cédric <cedric@laubacher.io >
Co-authored-by: Damian Krysta <krypton9208@gmail.com >
Co-authored-by: Daniel Pätzold <weblate.labrador503@passmail.net >
Co-authored-by: Degani Giancarlo <giancarlo@degani.eu >
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Don't use my name <maxabmeyer@gmail.com >
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com >
Co-authored-by: Dániel Gál <galdaniel.school@gmail.com >
Co-authored-by: Eduardo Maciel <edumaciel1221@gmail.com >
Co-authored-by: Emil <emil.ca.carls+weblate@gmail.com >
Co-authored-by: Eric Hebert <ericheb@gmail.com >
Co-authored-by: Federico Cervelli <federicocervelli01@gmail.com >
Co-authored-by: Felipe Cury <weblate@flpcury.com >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net >
Co-authored-by: Gary <zgr0629@gmail.com >
Co-authored-by: George Tsotsos <geoxor123@outlook.com >
Co-authored-by: Georgios Tsotsos <geoxor123@outlook.com >
Co-authored-by: Giorgio M <giorgio.maulu@gmail.com >
Co-authored-by: Guillermo Ramos Santos <guillermo.ramosantos@gmail.com >
Co-authored-by: HackingAll <hacking.all.YT@gmail.com >
Co-authored-by: Haki Bardhi <hakibardhi7@gmail.com >
Co-authored-by: HaoSs07 <haoss07@gmail.com >
Co-authored-by: Haru Ijima <haruijimakun@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Ilya <vlk.ilya@users.noreply.hosted.weblate.org >
Co-authored-by: Immich <weblate@immich.app >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: JM Garcia <jmgrc1626@gmail.com >
Co-authored-by: Jadde <Jasper@pgpmail.dk >
Co-authored-by: Jason Song <songpeiheng@gmail.com >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi >
Co-authored-by: Joel <octavianporsche@gmail.com >
Co-authored-by: John denar <weblate.direct@privacyshield.online >
Co-authored-by: Jordy H <jordy@hoebergen.net >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Julian Poidevin <poidevin.julian@gmail.com >
Co-authored-by: K Emil <kristianemilmadsen@gmail.com >
Co-authored-by: Katherine <kate.schumacher@gmail.com >
Co-authored-by: Kuba <kubaant@gmail.com >
Co-authored-by: Lemon Cat <lmncat3@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Liviu Roman <contact@liviuroman.com >
Co-authored-by: Lluís Forns <enboig@disroot.org >
Co-authored-by: Lorenzo <artale.lorenzo@outlook.it >
Co-authored-by: Loris Sambinelli <loriss84@gmail.com >
Co-authored-by: Lucas Jaksys <lucas3033@gmail.com >
Co-authored-by: Lucas Manzke <lmprogg@gmail.com >
Co-authored-by: Luuk Heijnen <luukheijnen1@gmail.com >
Co-authored-by: M4th12 <mattia.caldera04@gmail.com >
Co-authored-by: MSDNicrosoft <i@msdnicrosoft.work >
Co-authored-by: MSDNicrosoft <wang3311835119@hotmail.com >
Co-authored-by: MaBeniu <runnerm@gmail.com >
Co-authored-by: Macgyver <macgyver@users.noreply.hosted.weblate.org >
Co-authored-by: Mads Bojesen <madsrbojesen@gmail.com >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com >
Co-authored-by: Marian Wolf <marian.wolf2008@gmail.com >
Co-authored-by: Martynas <kingsizekebab@protonmail.com >
Co-authored-by: Marwan Jalaleddine <marwanjalaleddine@gmail.com >
Co-authored-by: Mateusz Filipowicz <matfilipowicz@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Matt Peperell <mattp@users.noreply.hosted.weblate.org >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Michael <mail@michaelhofer.ch >
Co-authored-by: Mihailo Gostiljac <gostiljaccc99@gmail.com >
Co-authored-by: Mohammed Khan <weblate@mkodify.org >
Co-authored-by: Muhammad Ghassan Ihsan Kamil <heysans.kamil@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Naim Hasim <ainadanaim@gmail.com >
Co-authored-by: Niccolò Cocchi <nicco.r.cocchi@gmail.com >
Co-authored-by: Nico Kaiser <nico@kaiser.me >
Co-authored-by: Olaf Nielsen <solluh@mail.de >
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com >
Co-authored-by: Peer Ewald <pulse-charger-open@duck.com >
Co-authored-by: PhillyMay <mein.alias@outlook.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Putthimedh Jarusirisoonthorn <toto.jaru@gmail.com >
Co-authored-by: ROCK TAKEY <rocktakey@gmail.com >
Co-authored-by: Remco <remco@pander.io >
Co-authored-by: Rey <x46puy43k@mozmail.com >
Co-authored-by: Riccardo Parise <riccardo@parise.space >
Co-authored-by: Roberto Burchi <elburchio@gmail.com >
Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com >
Co-authored-by: Rohama <32406304+dev-mkm@users.noreply.github.com >
Co-authored-by: Romo <romo@romo.al >
Co-authored-by: Rune J. <runekj@duck.com >
Co-authored-by: Saba Sakvarelidze <cal1b4nnn@gmail.com >
Co-authored-by: Sait Furkan Selçuk <sait574577@gmail.com >
Co-authored-by: Samhar Hijazi <semokoda@keemail.me >
Co-authored-by: Sami Cooper (CYB3ROID694) <sami.mhatre756@gmail.com >
Co-authored-by: Sergio <svillar@igalia.com >
Co-authored-by: Sergio Espada Rubio <espadauni@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Shjosan <shjosan@kakmix.co >
Co-authored-by: Simon L. B. Sørensen <simonxarro@gmail.com >
Co-authored-by: Sjoerd van Daal <sjoerd.van.daal@proton.me >
Co-authored-by: Skanda <skillwiz94@gmail.com >
Co-authored-by: Sonny Saul Aguilar Alvarez (sonnyano909) <aguilarsaulsonny@gmail.com >
Co-authored-by: Sophie <mail@sopht.li >
Co-authored-by: Stan P <g97d6liib@mozmail.com >
Co-authored-by: Stanly Swagato Halder <stanlyhalder@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: Szymon Kucharski <szymon.kucharski5@gmail.com >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Taiki M. <vexingly-many-mace@duck.com >
Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Tomasz Rzymyszkiewicz <tomasz@rzymyszkiewicz.com >
Co-authored-by: Tomo Tomov <tomotomov92@gmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vaja Benidze <luvared@gmail.com >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: Wolfgang Schwendtbauer <wolfgang.schwendtbauer@gmail.com >
Co-authored-by: Wout Van den Bossche <woutvdb@icloud.com >
Co-authored-by: anton garcias <isaga.percompartir@gmail.com >
Co-authored-by: binnichtaktiv <jonasbradley06@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: chamdim <chamdim@protonmail.com >
Co-authored-by: dionjoshualobo <23h13.joshua@sjec.ac.in >
Co-authored-by: dvbthien <dvbthien@users.noreply.hosted.weblate.org >
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org >
Co-authored-by: kgerg <kgergelyzs@gmail.com >
Co-authored-by: koffevar <koffevar@users.noreply.github.com >
Co-authored-by: kylo32 <kylo32@gmail.com >
Co-authored-by: lulala <sap777@msn.com >
Co-authored-by: lumppu <saukkolanerkki@gmail.com >
Co-authored-by: miiyuh <itsazripp2@gmail.com >
Co-authored-by: millallo <millallo@tiscali.it >
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org >
Co-authored-by: muziqaz <weblate.scapegoat467@passmail.net >
Co-authored-by: otterstedt <otterstedt@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: rohamaa <rohamaa@outlook.com >
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com >
Co-authored-by: stesoma <soma.steltzer@gmail.com >
Co-authored-by: theCataclysm808 <mail@sebastiangeithner.de >
Co-authored-by: twkim <angelos0424@gmail.com >
Co-authored-by: userrand6 <info@mh0.eu >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Мĕтри Сантăр ывалĕ Упа-Миччи <mefisteron@gmail.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
Co-authored-by: 안세훈 <on9686@gmail.com >
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/be/
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/cv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/
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/el/
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/fa/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
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/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/kn/
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/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
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/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
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/sq/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Latn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/
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/uk/
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/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/
Translation: Immich/immich
* fix: revert package.json
---------
Co-authored-by: 0v0 <0v0tvs@gmail.com >
Co-authored-by: 100daysummer <bobbydochev@gmail.com >
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Adrián Nieto Rodríguez <adrian.nieto7@gmail.com >
Co-authored-by: Agostino Pit <scheccia@gmail.com >
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alexandre <alexandre.tressel@icloud.com >
Co-authored-by: Alexandre <pikpakpik@users.noreply.hosted.weblate.org >
Co-authored-by: Alin T <amin4fun@yahoo.com >
Co-authored-by: Ameer Hamza <ah75102@gmail.com >
Co-authored-by: Amir <amirikmel@gmail.com >
Co-authored-by: Antoine Maalouf <atmaalouf@gmail.com >
Co-authored-by: Anton Palmqvist <apq@users.noreply.hosted.weblate.org >
Co-authored-by: Aravinth <aravinth@tuta.io >
Co-authored-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Artem Grauberger <graubergerartem@gmail.com >
Co-authored-by: AtmosphericIgnition <dev@prusa.net >
Co-authored-by: Bagas Dwi <bagasdwin15@gmail.com >
Co-authored-by: Balázs R <nvi9@outlook.hu >
Co-authored-by: BarMan <weblate.barman632@simplelogin.com >
Co-authored-by: Bart Simons <bart2jes@gmail.com >
Co-authored-by: Bartłomiej <20731216+Jarsey45@users.noreply.github.com >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Branden S <schrenk.br@gmail.com >
Co-authored-by: Bruno Antunes <antunes.dll@gmail.com >
Co-authored-by: CHUNG, Jin-ho <doctorjinho@gmail.com >
Co-authored-by: CanbiZ <mickey.leskowitz@gmail.com >
Co-authored-by: Carl Bergan <carl.bergan@gmail.com >
Co-authored-by: Carl Hansson <carlhansson677@gmail.com >
Co-authored-by: Cem TURKER <forumcemturker@gmail.com >
Co-authored-by: Collignon-Ducret Rémi <remi+github@collignon-ducret.fr >
Co-authored-by: Constantin <lulu195@users.noreply.hosted.weblate.org >
Co-authored-by: Cédric <cedric@laubacher.io >
Co-authored-by: Damian Krysta <krypton9208@gmail.com >
Co-authored-by: Daniel Pätzold <weblate.labrador503@passmail.net >
Co-authored-by: Degani Giancarlo <giancarlo@degani.eu >
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Don't use my name <maxabmeyer@gmail.com >
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com >
Co-authored-by: Dániel Gál <galdaniel.school@gmail.com >
Co-authored-by: Eduardo Maciel <edumaciel1221@gmail.com >
Co-authored-by: Emil <emil.ca.carls+weblate@gmail.com >
Co-authored-by: Eric Hebert <ericheb@gmail.com >
Co-authored-by: Federico Cervelli <federicocervelli01@gmail.com >
Co-authored-by: Felipe Cury <weblate@flpcury.com >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net >
Co-authored-by: Gary <zgr0629@gmail.com >
Co-authored-by: George Tsotsos <geoxor123@outlook.com >
Co-authored-by: Giorgio M <giorgio.maulu@gmail.com >
Co-authored-by: Guillermo Ramos Santos <guillermo.ramosantos@gmail.com >
Co-authored-by: HackingAll <hacking.all.YT@gmail.com >
Co-authored-by: Haki Bardhi <hakibardhi7@gmail.com >
Co-authored-by: HaoSs07 <haoss07@gmail.com >
Co-authored-by: Haru Ijima <haruijimakun@gmail.com >
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Ilya <vlk.ilya@users.noreply.hosted.weblate.org >
Co-authored-by: Immich <weblate@immich.app >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: JM Garcia <jmgrc1626@gmail.com >
Co-authored-by: Jadde <Jasper@pgpmail.dk >
Co-authored-by: Jason Song <songpeiheng@gmail.com >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi >
Co-authored-by: Joel <octavianporsche@gmail.com >
Co-authored-by: John denar <weblate.direct@privacyshield.online >
Co-authored-by: Jordy H <jordy@hoebergen.net >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Julian Poidevin <poidevin.julian@gmail.com >
Co-authored-by: K Emil <kristianemilmadsen@gmail.com >
Co-authored-by: Katherine <kate.schumacher@gmail.com >
Co-authored-by: Kuba <kubaant@gmail.com >
Co-authored-by: Lemon Cat <lmncat3@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Liviu Roman <contact@liviuroman.com >
Co-authored-by: Lluís Forns <enboig@disroot.org >
Co-authored-by: Lorenzo <artale.lorenzo@outlook.it >
Co-authored-by: Loris Sambinelli <loriss84@gmail.com >
Co-authored-by: Lucas Jaksys <lucas3033@gmail.com >
Co-authored-by: Lucas Manzke <lmprogg@gmail.com >
Co-authored-by: Luuk Heijnen <luukheijnen1@gmail.com >
Co-authored-by: M4th12 <mattia.caldera04@gmail.com >
Co-authored-by: MSDNicrosoft <i@msdnicrosoft.work >
Co-authored-by: MSDNicrosoft <wang3311835119@hotmail.com >
Co-authored-by: MaBeniu <runnerm@gmail.com >
Co-authored-by: Macgyver <macgyver@users.noreply.hosted.weblate.org >
Co-authored-by: Mads Bojesen <madsrbojesen@gmail.com >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com >
Co-authored-by: Marian Wolf <marian.wolf2008@gmail.com >
Co-authored-by: Martynas <kingsizekebab@protonmail.com >
Co-authored-by: Marwan Jalaleddine <marwanjalaleddine@gmail.com >
Co-authored-by: Mateusz Filipowicz <matfilipowicz@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Matt Peperell <mattp@users.noreply.hosted.weblate.org >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Michael <mail@michaelhofer.ch >
Co-authored-by: Mihailo Gostiljac <gostiljaccc99@gmail.com >
Co-authored-by: Mohammed Khan <weblate@mkodify.org >
Co-authored-by: Muhammad Ghassan Ihsan Kamil <heysans.kamil@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Naim Hasim <ainadanaim@gmail.com >
Co-authored-by: Niccolò Cocchi <nicco.r.cocchi@gmail.com >
Co-authored-by: Nico Kaiser <nico@kaiser.me >
Co-authored-by: Olaf Nielsen <solluh@mail.de >
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com >
Co-authored-by: Peer Ewald <pulse-charger-open@duck.com >
Co-authored-by: PhillyMay <mein.alias@outlook.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Putthimedh Jarusirisoonthorn <toto.jaru@gmail.com >
Co-authored-by: ROCK TAKEY <rocktakey@gmail.com >
Co-authored-by: Remco <remco@pander.io >
Co-authored-by: Rey <x46puy43k@mozmail.com >
Co-authored-by: Riccardo Parise <riccardo@parise.space >
Co-authored-by: Roberto Burchi <elburchio@gmail.com >
Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com >
Co-authored-by: Rohama <32406304+dev-mkm@users.noreply.github.com >
Co-authored-by: Romo <romo@romo.al >
Co-authored-by: Rune J. <runekj@duck.com >
Co-authored-by: Saba Sakvarelidze <cal1b4nnn@gmail.com >
Co-authored-by: Sait Furkan Selçuk <sait574577@gmail.com >
Co-authored-by: Samhar Hijazi <semokoda@keemail.me >
Co-authored-by: Sami Cooper (CYB3ROID694) <sami.mhatre756@gmail.com >
Co-authored-by: Sergio <svillar@igalia.com >
Co-authored-by: Sergio Espada Rubio <espadauni@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Shjosan <shjosan@kakmix.co >
Co-authored-by: Simon L. B. Sørensen <simonxarro@gmail.com >
Co-authored-by: Sjoerd van Daal <sjoerd.van.daal@proton.me >
Co-authored-by: Skanda <skillwiz94@gmail.com >
Co-authored-by: Sonny Saul Aguilar Alvarez (sonnyano909) <aguilarsaulsonny@gmail.com >
Co-authored-by: Sophie <mail@sopht.li >
Co-authored-by: Stan P <g97d6liib@mozmail.com >
Co-authored-by: Stanly Swagato Halder <stanlyhalder@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: Szymon Kucharski <szymon.kucharski5@gmail.com >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Taiki M. <vexingly-many-mace@duck.com >
Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Tomasz Rzymyszkiewicz <tomasz@rzymyszkiewicz.com >
Co-authored-by: Tomo Tomov <tomotomov92@gmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vaja Benidze <luvared@gmail.com >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: Wolfgang Schwendtbauer <wolfgang.schwendtbauer@gmail.com >
Co-authored-by: Wout Van den Bossche <woutvdb@icloud.com >
Co-authored-by: anton garcias <isaga.percompartir@gmail.com >
Co-authored-by: binnichtaktiv <jonasbradley06@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: chamdim <chamdim@protonmail.com >
Co-authored-by: dionjoshualobo <23h13.joshua@sjec.ac.in >
Co-authored-by: dvbthien <dvbthien@users.noreply.hosted.weblate.org >
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org >
Co-authored-by: kgerg <kgergelyzs@gmail.com >
Co-authored-by: koffevar <koffevar@users.noreply.github.com >
Co-authored-by: kylo32 <kylo32@gmail.com >
Co-authored-by: lulala <sap777@msn.com >
Co-authored-by: lumppu <saukkolanerkki@gmail.com >
Co-authored-by: miiyuh <itsazripp2@gmail.com >
Co-authored-by: millallo <millallo@tiscali.it >
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org >
Co-authored-by: muziqaz <weblate.scapegoat467@passmail.net >
Co-authored-by: otterstedt <otterstedt@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: rohamaa <rohamaa@outlook.com >
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com >
Co-authored-by: stesoma <soma.steltzer@gmail.com >
Co-authored-by: theCataclysm808 <mail@sebastiangeithner.de >
Co-authored-by: twkim <angelos0424@gmail.com >
Co-authored-by: userrand6 <info@mh0.eu >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Мĕтри Сантăр ывалĕ Упа-Миччи <mefisteron@gmail.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
Co-authored-by: 안세훈 <on9686@gmail.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-27 19:42:55 +00:00
Weblate (bot)
53718f01bb
chore(web): update translations ( #25574 )
...
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/be/
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/cv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/
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/el/
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/fa/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
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/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/kn/
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/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
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/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
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/sq/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Latn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/
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/uk/
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/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/
Translation: Immich/immich
Co-authored-by: 0v0 <0v0tvs@gmail.com >
Co-authored-by: 100daysummer <bobbydochev@gmail.com >
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Adrián Nieto Rodríguez <adrian.nieto7@gmail.com >
Co-authored-by: Agostino Pit <scheccia@gmail.com >
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alexandre <alexandre.tressel@icloud.com >
Co-authored-by: Alexandre <pikpakpik@users.noreply.hosted.weblate.org >
Co-authored-by: Alin T <amin4fun@yahoo.com >
Co-authored-by: Ameer Hamza <ah75102@gmail.com >
Co-authored-by: Amir <amirikmel@gmail.com >
Co-authored-by: Antoine Maalouf <atmaalouf@gmail.com >
Co-authored-by: Anton Palmqvist <apq@users.noreply.hosted.weblate.org >
Co-authored-by: Aravinth <aravinth@tuta.io >
Co-authored-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Artem Grauberger <graubergerartem@gmail.com >
Co-authored-by: AtmosphericIgnition <dev@prusa.net >
Co-authored-by: Bagas Dwi <bagasdwin15@gmail.com >
Co-authored-by: Balázs R <nvi9@outlook.hu >
Co-authored-by: BarMan <weblate.barman632@simplelogin.com >
Co-authored-by: Bart Simons <bart2jes@gmail.com >
Co-authored-by: Bartłomiej <20731216+Jarsey45@users.noreply.github.com >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Branden S <schrenk.br@gmail.com >
Co-authored-by: Bruno Antunes <antunes.dll@gmail.com >
Co-authored-by: CHUNG, Jin-ho <doctorjinho@gmail.com >
Co-authored-by: CanbiZ <mickey.leskowitz@gmail.com >
Co-authored-by: Carl Bergan <carl.bergan@gmail.com >
Co-authored-by: Carl Hansson <carlhansson677@gmail.com >
Co-authored-by: Cem TURKER <forumcemturker@gmail.com >
Co-authored-by: Collignon-Ducret Rémi <remi+github@collignon-ducret.fr >
Co-authored-by: Constantin <lulu195@users.noreply.hosted.weblate.org >
Co-authored-by: Cédric <cedric@laubacher.io >
Co-authored-by: Damian Krysta <krypton9208@gmail.com >
Co-authored-by: Daniel Pätzold <weblate.labrador503@passmail.net >
Co-authored-by: Degani Giancarlo <giancarlo@degani.eu >
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Don't use my name <maxabmeyer@gmail.com >
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com >
Co-authored-by: Dániel Gál <galdaniel.school@gmail.com >
Co-authored-by: Eduardo Maciel <edumaciel1221@gmail.com >
Co-authored-by: Emil <emil.ca.carls+weblate@gmail.com >
Co-authored-by: Eric Hebert <ericheb@gmail.com >
Co-authored-by: Federico Cervelli <federicocervelli01@gmail.com >
Co-authored-by: Felipe Cury <weblate@flpcury.com >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net >
Co-authored-by: Gary <zgr0629@gmail.com >
Co-authored-by: George Tsotsos <geoxor123@outlook.com >
Co-authored-by: Giorgio M <giorgio.maulu@gmail.com >
Co-authored-by: Guillermo Ramos Santos <guillermo.ramosantos@gmail.com >
Co-authored-by: HackingAll <hacking.all.YT@gmail.com >
Co-authored-by: Haki Bardhi <hakibardhi7@gmail.com >
Co-authored-by: HaoSs07 <haoss07@gmail.com >
Co-authored-by: Haru Ijima <haruijimakun@gmail.com >
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Ilya <vlk.ilya@users.noreply.hosted.weblate.org >
Co-authored-by: Immich <weblate@immich.app >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: JM Garcia <jmgrc1626@gmail.com >
Co-authored-by: Jadde <Jasper@pgpmail.dk >
Co-authored-by: Jason Song <songpeiheng@gmail.com >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi >
Co-authored-by: Joel <octavianporsche@gmail.com >
Co-authored-by: John denar <weblate.direct@privacyshield.online >
Co-authored-by: Jordy H <jordy@hoebergen.net >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Julian Poidevin <poidevin.julian@gmail.com >
Co-authored-by: K Emil <kristianemilmadsen@gmail.com >
Co-authored-by: Katherine <kate.schumacher@gmail.com >
Co-authored-by: Kuba <kubaant@gmail.com >
Co-authored-by: Lemon Cat <lmncat3@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Liviu Roman <contact@liviuroman.com >
Co-authored-by: Lluís Forns <enboig@disroot.org >
Co-authored-by: Lorenzo <artale.lorenzo@outlook.it >
Co-authored-by: Loris Sambinelli <loriss84@gmail.com >
Co-authored-by: Lucas Jaksys <lucas3033@gmail.com >
Co-authored-by: Lucas Manzke <lmprogg@gmail.com >
Co-authored-by: Luuk Heijnen <luukheijnen1@gmail.com >
Co-authored-by: M4th12 <mattia.caldera04@gmail.com >
Co-authored-by: MSDNicrosoft <i@msdnicrosoft.work >
Co-authored-by: MSDNicrosoft <wang3311835119@hotmail.com >
Co-authored-by: MaBeniu <runnerm@gmail.com >
Co-authored-by: Macgyver <macgyver@users.noreply.hosted.weblate.org >
Co-authored-by: Mads Bojesen <madsrbojesen@gmail.com >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com >
Co-authored-by: Marian Wolf <marian.wolf2008@gmail.com >
Co-authored-by: Martynas <kingsizekebab@protonmail.com >
Co-authored-by: Marwan Jalaleddine <marwanjalaleddine@gmail.com >
Co-authored-by: Mateusz Filipowicz <matfilipowicz@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Matt Peperell <mattp@users.noreply.hosted.weblate.org >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Michael <mail@michaelhofer.ch >
Co-authored-by: Mihailo Gostiljac <gostiljaccc99@gmail.com >
Co-authored-by: Mohammed Khan <weblate@mkodify.org >
Co-authored-by: Muhammad Ghassan Ihsan Kamil <heysans.kamil@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Naim Hasim <ainadanaim@gmail.com >
Co-authored-by: Niccolò Cocchi <nicco.r.cocchi@gmail.com >
Co-authored-by: Nico Kaiser <nico@kaiser.me >
Co-authored-by: Olaf Nielsen <solluh@mail.de >
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com >
Co-authored-by: Peer Ewald <pulse-charger-open@duck.com >
Co-authored-by: PhillyMay <mein.alias@outlook.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Putthimedh Jarusirisoonthorn <toto.jaru@gmail.com >
Co-authored-by: ROCK TAKEY <rocktakey@gmail.com >
Co-authored-by: Remco <remco@pander.io >
Co-authored-by: Rey <x46puy43k@mozmail.com >
Co-authored-by: Riccardo Parise <riccardo@parise.space >
Co-authored-by: Roberto Burchi <elburchio@gmail.com >
Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com >
Co-authored-by: Rohama <32406304+dev-mkm@users.noreply.github.com >
Co-authored-by: Romo <romo@romo.al >
Co-authored-by: Rune J. <runekj@duck.com >
Co-authored-by: Saba Sakvarelidze <cal1b4nnn@gmail.com >
Co-authored-by: Sait Furkan Selçuk <sait574577@gmail.com >
Co-authored-by: Samhar Hijazi <semokoda@keemail.me >
Co-authored-by: Sami Cooper (CYB3ROID694) <sami.mhatre756@gmail.com >
Co-authored-by: Sergio <svillar@igalia.com >
Co-authored-by: Sergio Espada Rubio <espadauni@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Shjosan <shjosan@kakmix.co >
Co-authored-by: Simon L. B. Sørensen <simonxarro@gmail.com >
Co-authored-by: Sjoerd van Daal <sjoerd.van.daal@proton.me >
Co-authored-by: Skanda <skillwiz94@gmail.com >
Co-authored-by: Sonny Saul Aguilar Alvarez (sonnyano909) <aguilarsaulsonny@gmail.com >
Co-authored-by: Sophie <mail@sopht.li >
Co-authored-by: Stan P <g97d6liib@mozmail.com >
Co-authored-by: Stanly Swagato Halder <stanlyhalder@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: Szymon Kucharski <szymon.kucharski5@gmail.com >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Taiki M. <vexingly-many-mace@duck.com >
Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Tomasz Rzymyszkiewicz <tomasz@rzymyszkiewicz.com >
Co-authored-by: Tomo Tomov <tomotomov92@gmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vaja Benidze <luvared@gmail.com >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: Wolfgang Schwendtbauer <wolfgang.schwendtbauer@gmail.com >
Co-authored-by: Wout Van den Bossche <woutvdb@icloud.com >
Co-authored-by: anton garcias <isaga.percompartir@gmail.com >
Co-authored-by: binnichtaktiv <jonasbradley06@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: chamdim <chamdim@protonmail.com >
Co-authored-by: dionjoshualobo <23h13.joshua@sjec.ac.in >
Co-authored-by: dvbthien <dvbthien@users.noreply.hosted.weblate.org >
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org >
Co-authored-by: kgerg <kgergelyzs@gmail.com >
Co-authored-by: koffevar <koffevar@users.noreply.github.com >
Co-authored-by: kylo32 <kylo32@gmail.com >
Co-authored-by: lulala <sap777@msn.com >
Co-authored-by: lumppu <saukkolanerkki@gmail.com >
Co-authored-by: miiyuh <itsazripp2@gmail.com >
Co-authored-by: millallo <millallo@tiscali.it >
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org >
Co-authored-by: muziqaz <weblate.scapegoat467@passmail.net >
Co-authored-by: otterstedt <otterstedt@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: rohamaa <rohamaa@outlook.com >
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com >
Co-authored-by: stesoma <soma.steltzer@gmail.com >
Co-authored-by: theCataclysm808 <mail@sebastiangeithner.de >
Co-authored-by: twkim <angelos0424@gmail.com >
Co-authored-by: userrand6 <info@mh0.eu >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Мĕтри Сантăр ывалĕ Упа-Миччи <mefisteron@gmail.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
Co-authored-by: 안세훈 <on9686@gmail.com >
2026-01-27 19:33:22 +00:00
Jason Rasmussen
b51e0f1007
chore: npm oidc publish ( #25573 )
2026-01-27 14:00:49 -05:00
github-actions
6fd3c9fffa
chore: version v2.5.0
2026-01-27 18:19:23 +00:00
Weblate (bot)
50a0b126f6
chore(web): update translations ( #24653 )
...
* chore(web): update translations
Co-authored-by: 0v0 <0v0tvs@gmail.com >
Co-authored-by: 100daysummer <bobbydochev@gmail.com >
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Adrián Nieto Rodríguez <adrian.nieto7@gmail.com >
Co-authored-by: Agostino Pit <scheccia@gmail.com >
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alexandre <alexandre.tressel@icloud.com >
Co-authored-by: Alexandre <pikpakpik@users.noreply.hosted.weblate.org >
Co-authored-by: Alin T <amin4fun@yahoo.com >
Co-authored-by: Ameer Hamza <ah75102@gmail.com >
Co-authored-by: Amir <amirikmel@gmail.com >
Co-authored-by: Antoine Maalouf <atmaalouf@gmail.com >
Co-authored-by: Anton Palmqvist <apq@users.noreply.hosted.weblate.org >
Co-authored-by: Aravinth <aravinth@tuta.io >
Co-authored-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Artem Grauberger <graubergerartem@gmail.com >
Co-authored-by: AtmosphericIgnition <dev@prusa.net >
Co-authored-by: Bagas Dwi <bagasdwin15@gmail.com >
Co-authored-by: Balázs R <nvi9@outlook.hu >
Co-authored-by: BarMan <weblate.barman632@simplelogin.com >
Co-authored-by: Bart Simons <bart2jes@gmail.com >
Co-authored-by: Bartłomiej <20731216+Jarsey45@users.noreply.github.com >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Branden S <schrenk.br@gmail.com >
Co-authored-by: Bruno Antunes <antunes.dll@gmail.com >
Co-authored-by: CHUNG, Jin-ho <doctorjinho@gmail.com >
Co-authored-by: CanbiZ <mickey.leskowitz@gmail.com >
Co-authored-by: Carl Bergan <carl.bergan@gmail.com >
Co-authored-by: Carl Hansson <carlhansson677@gmail.com >
Co-authored-by: Cem TURKER <forumcemturker@gmail.com >
Co-authored-by: Collignon-Ducret Rémi <remi+github@collignon-ducret.fr >
Co-authored-by: Constantin <lulu195@users.noreply.hosted.weblate.org >
Co-authored-by: Cédric <cedric@laubacher.io >
Co-authored-by: Damian Krysta <krypton9208@gmail.com >
Co-authored-by: Daniel Pätzold <weblate.labrador503@passmail.net >
Co-authored-by: Degani Giancarlo <giancarlo@degani.eu >
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Don't use my name <maxabmeyer@gmail.com >
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com >
Co-authored-by: Dániel Gál <galdaniel.school@gmail.com >
Co-authored-by: Eduardo Maciel <edumaciel1221@gmail.com >
Co-authored-by: Emil <emil.ca.carls+weblate@gmail.com >
Co-authored-by: Eric Hebert <ericheb@gmail.com >
Co-authored-by: Federico Cervelli <federicocervelli01@gmail.com >
Co-authored-by: Felipe Cury <weblate@flpcury.com >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net >
Co-authored-by: Gary <zgr0629@gmail.com >
Co-authored-by: George Tsotsos <geoxor123@outlook.com >
Co-authored-by: Georgios Tsotsos <geoxor123@outlook.com >
Co-authored-by: Giorgio M <giorgio.maulu@gmail.com >
Co-authored-by: Guillermo Ramos Santos <guillermo.ramosantos@gmail.com >
Co-authored-by: HackingAll <hacking.all.YT@gmail.com >
Co-authored-by: Haki Bardhi <hakibardhi7@gmail.com >
Co-authored-by: HaoSs07 <haoss07@gmail.com >
Co-authored-by: Haru Ijima <haruijimakun@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Ilya <vlk.ilya@users.noreply.hosted.weblate.org >
Co-authored-by: Immich <weblate@immich.app >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: JM Garcia <jmgrc1626@gmail.com >
Co-authored-by: Jadde <Jasper@pgpmail.dk >
Co-authored-by: Jason Song <songpeiheng@gmail.com >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi >
Co-authored-by: Joel <octavianporsche@gmail.com >
Co-authored-by: John denar <weblate.direct@privacyshield.online >
Co-authored-by: Jordy H <jordy@hoebergen.net >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Julian Poidevin <poidevin.julian@gmail.com >
Co-authored-by: K Emil <kristianemilmadsen@gmail.com >
Co-authored-by: Katherine <kate.schumacher@gmail.com >
Co-authored-by: Kuba <kubaant@gmail.com >
Co-authored-by: Lemon Cat <lmncat3@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Liviu Roman <contact@liviuroman.com >
Co-authored-by: Lluís Forns <enboig@disroot.org >
Co-authored-by: Lorenzo <artale.lorenzo@outlook.it >
Co-authored-by: Loris Sambinelli <loriss84@gmail.com >
Co-authored-by: Lucas Jaksys <lucas3033@gmail.com >
Co-authored-by: Lucas Manzke <lmprogg@gmail.com >
Co-authored-by: Luuk Heijnen <luukheijnen1@gmail.com >
Co-authored-by: M4th12 <mattia.caldera04@gmail.com >
Co-authored-by: MSDNicrosoft <i@msdnicrosoft.work >
Co-authored-by: MSDNicrosoft <wang3311835119@hotmail.com >
Co-authored-by: MaBeniu <runnerm@gmail.com >
Co-authored-by: Macgyver <macgyver@users.noreply.hosted.weblate.org >
Co-authored-by: Mads Bojesen <madsrbojesen@gmail.com >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com >
Co-authored-by: Marian Wolf <marian.wolf2008@gmail.com >
Co-authored-by: Martynas <kingsizekebab@protonmail.com >
Co-authored-by: Marwan Jalaleddine <marwanjalaleddine@gmail.com >
Co-authored-by: Mateusz Filipowicz <matfilipowicz@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Matt Peperell <mattp@users.noreply.hosted.weblate.org >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Michael <mail@michaelhofer.ch >
Co-authored-by: Mihailo Gostiljac <gostiljaccc99@gmail.com >
Co-authored-by: Mohammed Khan <weblate@mkodify.org >
Co-authored-by: Muhammad Ghassan Ihsan Kamil <heysans.kamil@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Naim Hasim <ainadanaim@gmail.com >
Co-authored-by: Niccolò Cocchi <nicco.r.cocchi@gmail.com >
Co-authored-by: Nico Kaiser <nico@kaiser.me >
Co-authored-by: Olaf Nielsen <solluh@mail.de >
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com >
Co-authored-by: Peer Ewald <pulse-charger-open@duck.com >
Co-authored-by: PhillyMay <mein.alias@outlook.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Putthimedh Jarusirisoonthorn <toto.jaru@gmail.com >
Co-authored-by: ROCK TAKEY <rocktakey@gmail.com >
Co-authored-by: Remco <remco@pander.io >
Co-authored-by: Rey <x46puy43k@mozmail.com >
Co-authored-by: Riccardo Parise <riccardo@parise.space >
Co-authored-by: Roberto Burchi <elburchio@gmail.com >
Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com >
Co-authored-by: Rohama <32406304+dev-mkm@users.noreply.github.com >
Co-authored-by: Romo <romo@romo.al >
Co-authored-by: Rune J. <runekj@duck.com >
Co-authored-by: Saba Sakvarelidze <cal1b4nnn@gmail.com >
Co-authored-by: Sait Furkan Selçuk <sait574577@gmail.com >
Co-authored-by: Samhar Hijazi <semokoda@keemail.me >
Co-authored-by: Sami Cooper (CYB3ROID694) <sami.mhatre756@gmail.com >
Co-authored-by: Sergio <svillar@igalia.com >
Co-authored-by: Sergio Espada Rubio <espadauni@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Shjosan <shjosan@kakmix.co >
Co-authored-by: Simon L. B. Sørensen <simonxarro@gmail.com >
Co-authored-by: Sjoerd van Daal <sjoerd.van.daal@proton.me >
Co-authored-by: Skanda <skillwiz94@gmail.com >
Co-authored-by: Sonny Saul Aguilar Alvarez (sonnyano909) <aguilarsaulsonny@gmail.com >
Co-authored-by: Sophie <mail@sopht.li >
Co-authored-by: Stan P <g97d6liib@mozmail.com >
Co-authored-by: Stanly Swagato Halder <stanlyhalder@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: Szymon Kucharski <szymon.kucharski5@gmail.com >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Taiki M. <vexingly-many-mace@duck.com >
Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Tomasz Rzymyszkiewicz <tomasz@rzymyszkiewicz.com >
Co-authored-by: Tomo Tomov <tomotomov92@gmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vaja Benidze <luvared@gmail.com >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: Wolfgang Schwendtbauer <wolfgang.schwendtbauer@gmail.com >
Co-authored-by: Wout Van den Bossche <woutvdb@icloud.com >
Co-authored-by: anton garcias <isaga.percompartir@gmail.com >
Co-authored-by: binnichtaktiv <jonasbradley06@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: chamdim <chamdim@protonmail.com >
Co-authored-by: dionjoshualobo <23h13.joshua@sjec.ac.in >
Co-authored-by: dvbthien <dvbthien@users.noreply.hosted.weblate.org >
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org >
Co-authored-by: kgerg <kgergelyzs@gmail.com >
Co-authored-by: koffevar <koffevar@users.noreply.github.com >
Co-authored-by: kylo32 <kylo32@gmail.com >
Co-authored-by: lulala <sap777@msn.com >
Co-authored-by: lumppu <saukkolanerkki@gmail.com >
Co-authored-by: miiyuh <itsazripp2@gmail.com >
Co-authored-by: millallo <millallo@tiscali.it >
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org >
Co-authored-by: muziqaz <weblate.scapegoat467@passmail.net >
Co-authored-by: otterstedt <otterstedt@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: rohamaa <rohamaa@outlook.com >
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com >
Co-authored-by: stesoma <soma.steltzer@gmail.com >
Co-authored-by: theCataclysm808 <mail@sebastiangeithner.de >
Co-authored-by: twkim <angelos0424@gmail.com >
Co-authored-by: userrand6 <info@mh0.eu >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Мĕтри Сантăр ывалĕ Упа-Миччи <mefisteron@gmail.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
Co-authored-by: 안세훈 <on9686@gmail.com >
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/be/
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/cv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/
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/el/
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/fa/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
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/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/kn/
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/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
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/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
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/sq/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Latn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/
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/uk/
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/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/
Translation: Immich/immich
* fix: remove bad package.json diff
---------
Co-authored-by: 0v0 <0v0tvs@gmail.com >
Co-authored-by: 100daysummer <bobbydochev@gmail.com >
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Adrián Nieto Rodríguez <adrian.nieto7@gmail.com >
Co-authored-by: Agostino Pit <scheccia@gmail.com >
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alexandre <alexandre.tressel@icloud.com >
Co-authored-by: Alexandre <pikpakpik@users.noreply.hosted.weblate.org >
Co-authored-by: Alin T <amin4fun@yahoo.com >
Co-authored-by: Ameer Hamza <ah75102@gmail.com >
Co-authored-by: Amir <amirikmel@gmail.com >
Co-authored-by: Antoine Maalouf <atmaalouf@gmail.com >
Co-authored-by: Anton Palmqvist <apq@users.noreply.hosted.weblate.org >
Co-authored-by: Aravinth <aravinth@tuta.io >
Co-authored-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Artem Grauberger <graubergerartem@gmail.com >
Co-authored-by: AtmosphericIgnition <dev@prusa.net >
Co-authored-by: Bagas Dwi <bagasdwin15@gmail.com >
Co-authored-by: Balázs R <nvi9@outlook.hu >
Co-authored-by: BarMan <weblate.barman632@simplelogin.com >
Co-authored-by: Bart Simons <bart2jes@gmail.com >
Co-authored-by: Bartłomiej <20731216+Jarsey45@users.noreply.github.com >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Branden S <schrenk.br@gmail.com >
Co-authored-by: Bruno Antunes <antunes.dll@gmail.com >
Co-authored-by: CHUNG, Jin-ho <doctorjinho@gmail.com >
Co-authored-by: CanbiZ <mickey.leskowitz@gmail.com >
Co-authored-by: Carl Bergan <carl.bergan@gmail.com >
Co-authored-by: Carl Hansson <carlhansson677@gmail.com >
Co-authored-by: Cem TURKER <forumcemturker@gmail.com >
Co-authored-by: Collignon-Ducret Rémi <remi+github@collignon-ducret.fr >
Co-authored-by: Constantin <lulu195@users.noreply.hosted.weblate.org >
Co-authored-by: Cédric <cedric@laubacher.io >
Co-authored-by: Damian Krysta <krypton9208@gmail.com >
Co-authored-by: Daniel Pätzold <weblate.labrador503@passmail.net >
Co-authored-by: Degani Giancarlo <giancarlo@degani.eu >
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Don't use my name <maxabmeyer@gmail.com >
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com >
Co-authored-by: Dániel Gál <galdaniel.school@gmail.com >
Co-authored-by: Eduardo Maciel <edumaciel1221@gmail.com >
Co-authored-by: Emil <emil.ca.carls+weblate@gmail.com >
Co-authored-by: Eric Hebert <ericheb@gmail.com >
Co-authored-by: Federico Cervelli <federicocervelli01@gmail.com >
Co-authored-by: Felipe Cury <weblate@flpcury.com >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net >
Co-authored-by: Gary <zgr0629@gmail.com >
Co-authored-by: George Tsotsos <geoxor123@outlook.com >
Co-authored-by: Giorgio M <giorgio.maulu@gmail.com >
Co-authored-by: Guillermo Ramos Santos <guillermo.ramosantos@gmail.com >
Co-authored-by: HackingAll <hacking.all.YT@gmail.com >
Co-authored-by: Haki Bardhi <hakibardhi7@gmail.com >
Co-authored-by: HaoSs07 <haoss07@gmail.com >
Co-authored-by: Haru Ijima <haruijimakun@gmail.com >
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Ilya <vlk.ilya@users.noreply.hosted.weblate.org >
Co-authored-by: Immich <weblate@immich.app >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: JM Garcia <jmgrc1626@gmail.com >
Co-authored-by: Jadde <Jasper@pgpmail.dk >
Co-authored-by: Jason Song <songpeiheng@gmail.com >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi >
Co-authored-by: Joel <octavianporsche@gmail.com >
Co-authored-by: John denar <weblate.direct@privacyshield.online >
Co-authored-by: Jordy H <jordy@hoebergen.net >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Julian Poidevin <poidevin.julian@gmail.com >
Co-authored-by: K Emil <kristianemilmadsen@gmail.com >
Co-authored-by: Katherine <kate.schumacher@gmail.com >
Co-authored-by: Kuba <kubaant@gmail.com >
Co-authored-by: Lemon Cat <lmncat3@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Liviu Roman <contact@liviuroman.com >
Co-authored-by: Lluís Forns <enboig@disroot.org >
Co-authored-by: Lorenzo <artale.lorenzo@outlook.it >
Co-authored-by: Loris Sambinelli <loriss84@gmail.com >
Co-authored-by: Lucas Jaksys <lucas3033@gmail.com >
Co-authored-by: Lucas Manzke <lmprogg@gmail.com >
Co-authored-by: Luuk Heijnen <luukheijnen1@gmail.com >
Co-authored-by: M4th12 <mattia.caldera04@gmail.com >
Co-authored-by: MSDNicrosoft <i@msdnicrosoft.work >
Co-authored-by: MSDNicrosoft <wang3311835119@hotmail.com >
Co-authored-by: MaBeniu <runnerm@gmail.com >
Co-authored-by: Macgyver <macgyver@users.noreply.hosted.weblate.org >
Co-authored-by: Mads Bojesen <madsrbojesen@gmail.com >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com >
Co-authored-by: Marian Wolf <marian.wolf2008@gmail.com >
Co-authored-by: Martynas <kingsizekebab@protonmail.com >
Co-authored-by: Marwan Jalaleddine <marwanjalaleddine@gmail.com >
Co-authored-by: Mateusz Filipowicz <matfilipowicz@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Matt Peperell <mattp@users.noreply.hosted.weblate.org >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Michael <mail@michaelhofer.ch >
Co-authored-by: Mihailo Gostiljac <gostiljaccc99@gmail.com >
Co-authored-by: Mohammed Khan <weblate@mkodify.org >
Co-authored-by: Muhammad Ghassan Ihsan Kamil <heysans.kamil@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Naim Hasim <ainadanaim@gmail.com >
Co-authored-by: Niccolò Cocchi <nicco.r.cocchi@gmail.com >
Co-authored-by: Nico Kaiser <nico@kaiser.me >
Co-authored-by: Olaf Nielsen <solluh@mail.de >
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com >
Co-authored-by: Peer Ewald <pulse-charger-open@duck.com >
Co-authored-by: PhillyMay <mein.alias@outlook.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Putthimedh Jarusirisoonthorn <toto.jaru@gmail.com >
Co-authored-by: ROCK TAKEY <rocktakey@gmail.com >
Co-authored-by: Remco <remco@pander.io >
Co-authored-by: Rey <x46puy43k@mozmail.com >
Co-authored-by: Riccardo Parise <riccardo@parise.space >
Co-authored-by: Roberto Burchi <elburchio@gmail.com >
Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com >
Co-authored-by: Rohama <32406304+dev-mkm@users.noreply.github.com >
Co-authored-by: Romo <romo@romo.al >
Co-authored-by: Rune J. <runekj@duck.com >
Co-authored-by: Saba Sakvarelidze <cal1b4nnn@gmail.com >
Co-authored-by: Sait Furkan Selçuk <sait574577@gmail.com >
Co-authored-by: Samhar Hijazi <semokoda@keemail.me >
Co-authored-by: Sami Cooper (CYB3ROID694) <sami.mhatre756@gmail.com >
Co-authored-by: Sergio <svillar@igalia.com >
Co-authored-by: Sergio Espada Rubio <espadauni@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Shjosan <shjosan@kakmix.co >
Co-authored-by: Simon L. B. Sørensen <simonxarro@gmail.com >
Co-authored-by: Sjoerd van Daal <sjoerd.van.daal@proton.me >
Co-authored-by: Skanda <skillwiz94@gmail.com >
Co-authored-by: Sonny Saul Aguilar Alvarez (sonnyano909) <aguilarsaulsonny@gmail.com >
Co-authored-by: Sophie <mail@sopht.li >
Co-authored-by: Stan P <g97d6liib@mozmail.com >
Co-authored-by: Stanly Swagato Halder <stanlyhalder@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: Szymon Kucharski <szymon.kucharski5@gmail.com >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Taiki M. <vexingly-many-mace@duck.com >
Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Tomasz Rzymyszkiewicz <tomasz@rzymyszkiewicz.com >
Co-authored-by: Tomo Tomov <tomotomov92@gmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vaja Benidze <luvared@gmail.com >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: Wolfgang Schwendtbauer <wolfgang.schwendtbauer@gmail.com >
Co-authored-by: Wout Van den Bossche <woutvdb@icloud.com >
Co-authored-by: anton garcias <isaga.percompartir@gmail.com >
Co-authored-by: binnichtaktiv <jonasbradley06@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: chamdim <chamdim@protonmail.com >
Co-authored-by: dionjoshualobo <23h13.joshua@sjec.ac.in >
Co-authored-by: dvbthien <dvbthien@users.noreply.hosted.weblate.org >
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org >
Co-authored-by: kgerg <kgergelyzs@gmail.com >
Co-authored-by: koffevar <koffevar@users.noreply.github.com >
Co-authored-by: kylo32 <kylo32@gmail.com >
Co-authored-by: lulala <sap777@msn.com >
Co-authored-by: lumppu <saukkolanerkki@gmail.com >
Co-authored-by: miiyuh <itsazripp2@gmail.com >
Co-authored-by: millallo <millallo@tiscali.it >
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org >
Co-authored-by: muziqaz <weblate.scapegoat467@passmail.net >
Co-authored-by: otterstedt <otterstedt@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: rohamaa <rohamaa@outlook.com >
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com >
Co-authored-by: stesoma <soma.steltzer@gmail.com >
Co-authored-by: theCataclysm808 <mail@sebastiangeithner.de >
Co-authored-by: twkim <angelos0424@gmail.com >
Co-authored-by: userrand6 <info@mh0.eu >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Мĕтри Сантăр ывалĕ Упа-Миччи <mefisteron@gmail.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
Co-authored-by: 안세훈 <on9686@gmail.com >
Co-authored-by: bo0tzz <git@bo0tzz.me >
2026-01-27 18:16:39 +00:00
Alex
b4489bd4a5
chore: remove unused secrect reference ( #25570 )
2026-01-27 17:21:06 +00:00
Mert
e6e661f882
fix(server): set isEdited=false for extracted preview ( #25568 )
...
set isEdited=false for extracted preview
2026-01-27 10:58:47 -06:00
Brandon Wees
f467a5e2c8
fix(web): edit order handling ( #25496 )
...
* fix(web): edit order handling
* chore: tests
* simplify normalization function
* chore: refactor
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-27 10:55:10 -06:00
Mees Frensel
818f7b3e9b
fix(web): queue graph formatting for y-axis labels ( #25567 )
...
fix(web): queue graph formatting for y axis labels
2026-01-27 10:41:31 -06:00
Alex
44b4f35019
chore: expose upload errors to UI ( #25566 )
2026-01-27 16:33:44 +00:00
Daniel Dietzler
212c03ceff
fix(web): properly encode shared link slug ( #25564 )
2026-01-27 16:29:51 +01:00
shenlong
7cedb5ea04
feat: add manual cloud id sync button ( #25531 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-27 08:10:18 -06:00
renovate[bot]
e57739b641
chore(deps): update dependency @types/node to ^24.10.9 ( #25548 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 12:56:57 +01:00
Alex
6587d45f1e
chore: star rating letter casing ( #25554 )
2026-01-27 08:57:39 +00:00
Brandon Wees
da590995ab
fix: use edited thumbs for widgets ( #25550 )
...
* fix(server): enforce crop is the first action
* chore: test
* fix: use edited thumbs for widgets
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-27 03:16:27 +00:00
Brandon Wees
e04d316203
fix(server): enforce crop is the first action ( #25547 )
...
* fix(server): enforce crop is the first action
* chore: test
2026-01-26 20:45:28 -06:00
Alex
6b2737bae3
chore: hide workflow path ( #25539 )
2026-01-26 22:47:24 +00:00
Brandon Wees
42b354c302
fix: always serve edited version if using shared link. ( #25536 )
...
* fix: always serve edited version if using shared link.
* chore: test
* chore: rename tests
2026-01-26 16:42:22 -06:00
Alex
cf6c7f9960
chore: use correct SDK version for Xcode build ( #25542 )
...
chore: use correct SDK version for Xcode
2026-01-26 16:07:17 -06:00
Mert
9506398153
refactor(server): add isProgressive column ( #25537 )
...
* add isProgressive column
* don't select isProgressive by default
* linting
* exclude sidecars
2026-01-26 17:05:25 -05:00
Brandon Wees
b5c3d87290
fix: clear ocr and asset cache when edits are applied ( #25533 )
...
* fix: clear ocr and asset cache when edits are applied
* use event manager
* fix: undefined check
2026-01-26 18:48:34 +00:00
Brandon Wees
97220102e4
fix: deep link service when user is null ( #25530 )
...
* fix: deep link service when user is null
* fix: nit
2026-01-26 17:33:46 +00:00
Ian Mark Muninio
6430c88b84
fix(i18n): clarify OAuth client secret requirement for confidential and public clients ( #25468 )
...
chore: clarify OAuth client secret requirement for confidential and public clients
2026-01-26 15:53:30 +00:00
Mert
df7efc4945
fix(mobile): use cached asset when possible ( #25526 )
...
always use cache
2026-01-26 15:52:48 +00:00
Min Idzelis
646bb372ab
feat: add onMany to BaseEventManager ( #25492 )
...
Use a map of events instead of array of tuples for better ergonomics.
2026-01-26 10:34:26 -05:00
shenlong
836d22570f
fix: slow hash reconcilation ( #25503 )
...
* fix: slow hash reconcilation
* tests for reconcileHashesFromCloudId
* paginate cloud id fetch in migrate cloud id
* pr review
* skip cloudId sync
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-26 09:12:00 -06:00
Brandon Wees
3b0be896e6
fix: hide stack slideshow when editor open ( #25520 )
2026-01-26 12:04:59 +01:00
Alex
be0eef405d
feat(mobile): scrollbar for album page ( #25507 )
2026-01-25 12:43:49 -06:00
Alex
a244d94ac8
docs: update documentation ( #25440 )
...
* docs: beginning of the year tune up and updates
* darker dark
* backup information
* promote to table of content
* Apply suggestions from code review
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Mees Frensel <33722705+meesfrensel@users.noreply.github.com >
* restore and backup
* edit
* Apply suggestions from code review
Co-authored-by: bo0tzz <git@bo0tzz.me >
* feedback
* more information on mobile
Co-authored-by: https://github.com/aviv926
* more information on free up space
>
> Co-authored-by: jtagcat <git-12dbd862@jtag.cat >
* Update docs/docs/features/mobile-app.mdx
Co-authored-by: jtagcat <git-12dbd862@jtag.cat >
* screenshot and minor tweaks
---------
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Mees Frensel <33722705+meesfrensel@users.noreply.github.com >
Co-authored-by: bo0tzz <git@bo0tzz.me >
Co-authored-by: jtagcat <git-12dbd862@jtag.cat >
2026-01-25 15:45:30 +00:00
Arne Schwarck
2ee903a81c
fix: process query param for my.immich.app/memory?id= ( #25474 )
...
* Implement memory deep link regex and logic
Add regex for memory deep link handling of
https://my.immich.app/memory?id= <uuid>
Completing the work for the Android app to handle memory links.
https://github.com/immich-app/immich/pull/25373
This still needs to be tested as it is AI suggested code.
* fix: use existing regex structure
* fix: handle memory route properly
---------
Co-authored-by: bwees <brandonwees@gmail.com >
2026-01-25 09:09:01 -06:00
Mert
5414302350
fix(mobile): do not try to load video as image ( #25495 )
...
* only load original for images
* early return
2026-01-24 18:38:31 -05:00
Mert
1803692eab
feat(mobile): native clients ( #21459 )
...
* platform clients
* uppercase http method
* fix hot reload
* custom user agent
* init before app launch
* set defaults
* move to bootstrap
* unrelated change
* disable disk cache by default
* optimized decoding
* remove incremental
* android impl
* memory optimization
* lock approach is slower on ios
* conditional cronet
* clarify parameter
* enable disk cache
* set user agent
* flutter-side decode
* optimized http
* fixed locking
* refactor
* potential race conditions
* embedded cronet
* refactor, fix capacity handling
* fast path for known content length
* ios optimizations
* re-enable cache
* formatting
* bump concurrency
* clear cache button
* fix eviction race condition
* add extra cancellation check
* tighten dispose
* better error handling
* fix disposal
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-24 19:34:29 +00:00
Brandon Wees
9219d559a0
fix(mobile): share edited asset ( #25493 )
...
* fix(mobile): share edited asset
* chore: code review changes
2026-01-24 19:09:47 +00:00
Alex
d6c5a382f8
chore: show loading state when fetching users ( #25277 )
...
* chore: show loading state when fetching users
* pr feedback
2026-01-24 17:05:58 +00:00
Alex
deb3a620e1
feat: keep settings for free up space ( #25460 )
...
* feat: album exclusion filter in free up space
* feat: make keep options into persistent settings
* chore: refactor
* chore: refactor
* add free up space to app bar dialog
* fix: date selection rerender
* more copywriting
* Update i18n/en.json
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
* add file size information
* styling
* clear up stale album id
* keep messaging album on first use
* feedback
* feedback
---------
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
2026-01-24 10:40:34 -06:00
Min Idzelis
7e5592fec5
feat: make progressive system config optional ( #25486 )
2026-01-24 00:18:02 -05:00
Brandon Wees
ccc0961ba3
fix: return original thumbs when edited=false ( #25485 )
2026-01-23 23:12:18 -06:00
Avalanche Ridings
497003ec57
feat: loop slideshows ( #25462 )
...
* Add Repeat to the slideshow in the web UI.
* Fix typo in SlideshowSettingsModal description prop
Fixed spelling
---------
Co-authored-by: generalzero <generalzero@generalzero.org >
2026-01-24 04:09:29 +00:00
Min Idzelis
d0d269677e
refactor: rename mobileDevice to mediaQueryManager ( #25464 )
2026-01-23 20:55:10 -06:00
Brandon Wees
c2775894e1
fix(mobile): backfill asset dimensions to exif table ( #25483 )
2026-01-24 01:23:46 +00:00
Min Idzelis
357ec1394a
feat: generate progressive JPEGs for thumbnails ( #25463 )
2026-01-24 00:35:07 +00:00
Jason Rasmussen
4fedae4150
refactor: event manager ( #25481 )
...
* refactor: event manager
* fix: broken downloadFile endpoint
2026-01-23 18:02:23 -05:00
Jason Rasmussen
b52e8cd570
refactor: asset navbar ( #25480 )
2026-01-23 16:19:46 -05:00
Daniel Dietzler
984fb12ada
refactor: asset media service queries ( #25477 )
2026-01-23 16:07:57 -05:00
Daniel Dietzler
f88f1265b6
chore: update svelte ( #25478 )
2026-01-23 14:31:56 -06:00
Jason Rasmussen
af51a11b1b
refactor: asset navbar ( #25476 )
2026-01-23 14:06:19 -05:00
Anukul
d942e7212a
fix(web): fix badge value in queues page ( #25445 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-01-23 16:09:19 +00:00
Daniel Dietzler
2792d97027
feat: more factories for small tests ( #25396 )
2026-01-23 10:54:04 -05:00
Yaros
574d9c34ff
feat(mobile): star rating ( #24457 )
...
* feat(mobile): star rating
* refactor: use custom rating bar & provider
* refactor: remove user prop from provider
* feat: clear, padding, star size, impl suggestions
* chore: switch to rounded star icons
* fix: alignment & gesturedetector
* feat: rating search filter
2026-01-23 21:17:46 +05:30
renovate[bot]
3cb284c15a
chore(deps): update dependency lodash to v4.17.23 [security] ( #25441 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 16:18:19 +01:00
Mees Frensel
41c5a0ca2f
fix(docs): document that fullsize thumbnail might redirect to original ( #25416 )
2026-01-23 09:42:21 -05:00
Jason Rasmussen
6d9dc46619
chore: include sync dtos ( #25470 )
2026-01-23 14:24:25 +00:00
Mees Frensel
20dca39143
fix(server): scoped permissions for more endpoints ( #25452 )
2026-01-23 09:03:57 -05:00
Min Idzelis
84679fb2b2
refactor: use assetCacheManager for OCR data ( #25437 )
2026-01-22 21:12:56 -06:00
Min Idzelis
a96a08939e
refactor: rename preloadManager to imageManager ( #25436 )
...
rename: preloadManager to imageManager
2026-01-22 21:11:57 -06:00
shenlong
9b2939d778
fix(mobile): bring back map settings ( #25448 )
...
* fix(mobile): bring back map settings
* chore: styling
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-22 21:51:48 +00:00
shenlong
bccad2940e
fix: incorrect asset viewer scale on image frame update ( #25430 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-22 15:46:30 -06:00
Min Idzelis
dd72c32c60
feat: rename parallel tests to ui, split test step into: [e2e, ui] ( #25439 )
2026-01-22 13:44:00 -05:00
Brandon Wees
4bd01b70ff
fix: asset edit sequence ( #25457 )
2026-01-22 12:41:01 -06:00
renovate[bot]
945f7fb9ea
chore(deps): update dependency lodash-es to v4.17.23 [security] ( #25453 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 13:38:13 -05:00
Mees Frensel
78f400305b
fix(web): don't show ocr button on panoramas ( #25450 )
2026-01-22 10:07:05 -06:00
bo0tzz
55477a8a1a
chore: revert mise-action bump ( #25451 )
2026-01-22 16:53:14 +01:00
Alex
7cbfc12e0d
chore: use context menu for user table ( #25428 )
...
* chore: use context menu for user table
* chore: reorder columns
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-01-22 07:44:08 -05:00
Mees Frensel
c320146538
fix: add scoped API permissions to map endpoints ( #25423 )
2026-01-22 07:43:29 -05:00
solluh
3304c8efd8
docs: update README_de_DE.md ( #25443 )
2026-01-22 12:55:44 +01:00
Daniel Dietzler
2dcb4efc40
fix: lock tags column on update ( #25435 )
2026-01-21 21:20:05 -05:00
Alex
2f1d1edf10
chore: use context menu for library table ( #25429 )
...
* chore: use context menu for library table
* chore: add user detail link and menu divider
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-01-21 15:07:11 -06:00
Jason Rasmussen
1b032339aa
refactor(web): asset job actions ( #25426 )
2026-01-21 13:13:16 -05:00
Jason Rasmussen
dc82c13ddc
refactor(web): user setting actions ( #25424 )
2026-01-21 13:13:07 -05:00
Jason Rasmussen
417af66f30
refactor(web): on person thumbnail ( #25422 )
2026-01-21 13:13:02 -05:00
Min Idzelis
280f906e4b
feat: handle-error minor improvments ( #25288 )
...
* feat: handle-error minor improvments
* review comments
* Update web/src/lib/utils/handle-error.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me >
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-01-21 16:46:08 +00:00
Alex
b669714bda
chore: lower case text + facelift ( #25263 )
...
* chore: lower case text
* wip
* wip
* pr feedback
* pr feedback
2026-01-21 16:41:09 +00:00
Alex
0f6606848e
fix: upload file without extension ( #25419 )
...
* fix: upload file without extension
* chore: fix foreground upload
2026-01-21 16:31:06 +00:00
aviv926
1a8671d940
feat(docs): add Free Up Space section ( #25253 )
...
* feat(docs): add Free Up Space tool section with usage details and warnings
* typo
2026-01-21 10:29:59 -06:00
shenlong
fb94ee80aa
fix: prevent cloud id sync on app pause ( #25332 )
...
* fix: sever version not populated post auto-login
* saferun syncCloudIds
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-21 09:54:08 -06:00
Mees Frensel
083ee0b5fe
fix(web): allow exiting pin setup flow ( #25413 )
2026-01-21 09:53:15 -06:00
Jason Rasmussen
0bae88bef6
refactor(web): person service actions ( #25402 )
...
* refactor(web): person service actions
* fix: timeline e2e tests
2026-01-21 10:40:09 -05:00
Daniel Dietzler
184f1a6d32
fix: tag update race condition ( #25371 )
2026-01-21 16:30:45 +01:00
Jason Rasmussen
248cb86143
chore: disable broken e2e timeline tests ( #25417 )
2026-01-21 10:14:08 -05:00
Daniel Dietzler
1649d87360
refactor: extract isEdited into its own column in asset_file ( #25358 )
2026-01-21 16:08:21 +01:00
Mees Frensel
8970566865
fix(web): handle deletion from asset viewer on map page ( #25393 )
2026-01-21 14:08:01 +00:00
Alex
0b4a96140e
fix: don't include metadata when upload motion part of LivePhotos ( #25400 )
...
* fix: don't include metadata when upload motion part of LivePhotos
* fix: get original file name
2026-01-21 13:58:32 +00:00
Noel S
72caf8983c
fix(mobile): indicators not showing on thumbnail tile after asset change in viewer ( #25297 )
...
* fixed indicators staying hidden
* remove logs
* explanation comment
* move import to correct place
* revert accidental change in null handling
2026-01-20 14:02:54 -06:00
Paul Makles
61a9d5cbc7
feat: restore database backups ( #23978 )
...
* feat: ProcessRepository#createSpawnDuplexStream
* test: write tests for ProcessRepository#createSpawnDuplexStream
* feat: StorageRepository#createGzip,createGunzip,createPlainReadStream
* feat: backups util (args, create, restore, progress)
* feat: wait on maintenance operation lock on boot
* chore: use backup util from backup.service.ts
test: update backup.service.ts tests with new util
* feat: list/delete backups (maintenance services)
* chore: open api
fix: missing action in cli.service.ts
* chore: add missing repositories to MaintenanceModule
* refactor: move logSecret into module init
* feat: initialise StorageCore in maintenance mode
* feat: authenticate websocket requests in maintenance mode
* test: add mock for new storage fns
* feat: add MaintenanceEphemeralStateRepository
refactor: cache the secret in memory
* test: update service worker tests
* feat: add external maintenance mode status
* feat: synchronised status, restore db action
* test: backup restore service tests
* refactor: DRY end maintenance
* feat: list and delete backup routes
* feat: start action on boot
* fix: should set status on restore end
* refactor: add maintenanceStore to hold writables
* feat: sync status to web app
* feat: web impl.
* test: various utils for testings
* test: web e2e tests
* test: e2e maintenance spec
* test: update cli spec
* chore: e2e lint
* chore: lint fixes
* chore: lint fixes
* feat: start restore flow route
* test: update e2e tests
* chore: remove neon lights on maintenance action pages
* fix: use 'startRestoreFlow' on onboarding page
* chore: ignore any library folder in `docker/`
* fix: load status on boot
* feat: upload backups
* refactor: permit any .sql(.gz) to be listed/restored
* feat: download backups from list
* fix: permit uploading just .sql files
* feat: restore just .sql files
* fix: don't show backups list if logged out
* feat: system integrity check in restore flow
* test: not providing failed backups in API anymore
* test: util should also not try to use failedBackups
* fix: actually assign inputStream
* test: correct test backup prep.
* fix: ensure task is defined to show error
* test: fix docker cp command
* test: update e2e web spec to select next button
* test: update e2e api tests
* test: refactor timeouts
* chore: remove `showDelete` from maint. settings
* chore: lint
* chore: lint
* fix: make sure backups are correctly sorted for clean up
* test: update service spec
* test: adjust e2e timeout
* test: increase web timeouts for ci
* chore: move gitignore changes
* chore: additional filename validation
* refactor: better typings for integrity API
* feat: higher accuracy progress tracking
* chore: delay lock retry
* refactor: remove old maintenance settings
* refactor: clean up tailwind classes
* refactor: use while loop rather than recursive calls
* test: update service specs
* chore: check canParse too
* chore: lint
* fix: logic error causing infinite loop
* refactor: use <ProgressBar /> from ui library
* fix: create or overwrite file
* chore: i18n pass, update progress bar
* fix: wrong translation string
* chore: update colour variables
* test: update web test for new maint. page
* chore: format, fix key
* test: update tests to be more linter complaint & use new routines
* chore: update onClick -> onAction, title -> breadcrumbs
* fix: use wrench icon in admin settings sidebar
* chore: add translation strings to accordion
* chore: lint
* refactor: move maintenance worker init into service
* refactor: `maintenanceStatus` -> `getMaintenanceStatus`
refactor: `integrityCheck` -> `detectPriorInstall`
chore: add `v2.4.0` version
refactor: `/backups/list` -> `/backups`
refactor: use sendFile in download route
refactor: use separate backups permissions
chore: correct descriptions
refactor: permit handler that doesn't return promise for sendfile
* refactor: move status impl into service
refactor: add active flag to maintenance status
* refactor: split into database backup controller
* test: split api e2e tests and passing
* fix: move end button into authed default maint page
* fix: also show in restore flow
* fix: import getMaintenanceStatus
* test: split web e2e tests
* refactor: ensure detect install is consistently named
* chore: ensure admin for detect install while out of maint.
* refactor: remove state repository
* test: update maint. worker service spec
* test: split backup service spec
* refactor: rename db backup routes
* refactor: instead of param, allow bulk backup deletion
* test: update sdk use in e2e test
* test: correct deleteBackup call
* fix: correct type for serverinstall response dto
* chore: validate filename for deletion
* test: wip
* test: backups no longer take path param
* refactor: scope util to database-backups instead of backups
* fix: update worker controller with new route
* chore: use new admin page actions
* chore: remove stray comment
* test: rename outdated test
* refactor: getter pattern for maintenance secret
* refactor: `createSpawnDuplexStream` -> `spawnDuplexStream`
* refactor: prefer `Object.assign`
* refactor: remove useless try {} block
* refactor: prefer `type Props`
refactor: prefer arrow function
* refactor: use luxon API for minutesAgo
* chore: remove change to gitignore
* refactor: prefer `type Props`
* refactor: remove async from onMount
* refactor: use luxon toRelative for relative time
* refactor: duplicate logic check
* chore: open api
* refactor: begin moving code into web//services
* refactor: don't use template string with $t
* test: use dialog role to match prompt
* refactor: split actions into flow/restore
* test: fix action value
* refactor: move more service calls into web//services
* chore: should void fn return
* chore: bump 2.4.0 to 2.5.0 in controller
* chore: bump 2.4.0 to 2.5.0 in controller
* refactor: use events for web//services
* chore: open api
* chore: open api
* refactor: don't await returned promise
* refactor: remove redundant check
* refactor: add `type: command` to actions
* refactor: split backup entries into own component
* refactor: split restore flow into separate components
* refactor(web): split BackupDelete event
* chore: stylings
* chore: stylings
* fix: don't log query failure on first boot
* feat: support pg_dumpall backups
* feat: display information about each backup
* chore: i18n
* feat: rollback to restore point on migrations failure
* feat: health check after restore
* chore: format
* refactor: split health check into separate function
* refactor: split health into repository
test: write tests covering rollbacks
* fix: omit 'health' requirement from createDbBackup
* test(e2e): rollback test
* fix: wrap text in backup entry
* fix: don't shrink context menu button
* fix: correct CREATE DB syntax for postgres
* test: rename backups generated by test
* feat: add filesize to backup response dto
* feat: restore list
* feat: ui work
* fix: e2e test
* fix: e2e test
* pr feedback
* pr feedback
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-01-20 09:22:28 -06:00
Min Idzelis
ca0d4b283a
feat: zoom image improvements for reactive prop handlings ( #25286 )
2026-01-20 13:18:54 +01:00
renovate[bot]
2b4e4051f0
fix(deps): update typescript-projects ( #25377 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-20 11:20:27 +00:00
renovate[bot]
0f3956f654
chore(deps): update dependency @types/node to ^24.10.8 ( #25376 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-20 10:44:39 +00:00
Alex
99bd7d5f27
chore: sharing action button position ( #25381 )
2026-01-20 01:43:57 +00:00
Alex
fe1d0edf4c
chore: mobile font tuning ( #25349 )
...
* chore: mobile font tuning
* chore: fix some paddings
* setting page tune
* chore: album sort dropdown button styling
* pr feedback
* tweak sync status card
* chore: refactor
2026-01-19 14:56:35 -06:00
Arne Schwarck
4ef699e9fa
feat: allow /memory?id= in AndroidManifest ( #25373 )
...
Allow /memory?id=
<!-- Allow singular memory route like /memory?id=... -->
2026-01-19 14:56:24 -06:00
Brandon Wees
3e21174dd8
chore: web editor improvements ( #25169 )
2026-01-19 18:57:15 +00:00
Brandon Wees
1b56bb84f9
fix: mobile edit handling ( #25315 )
...
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2026-01-19 12:22:53 -06:00
Marius
b3f5b8ede8
fix(mobile): album selector icon visibility ( #25311 )
...
Add explicit color to sort direction arrows and view mode toggle icons in album selector widget. Previously they were invisible in light view, when opening album selector from image viewer.
2026-01-19 12:18:32 -06:00
Jason Rasmussen
2b77dc8e1f
refactor(web): workflow create action ( #25369 )
2026-01-19 12:41:28 -05:00
Jason Rasmussen
97a594556b
refactor: sharing page actions ( #25368 )
2026-01-19 12:16:16 -05:00
Jason Rasmussen
4a7c4b6d15
refactor(web): routes ( #25365 )
2026-01-19 12:07:31 -05:00
Jason Rasmussen
a8198f9934
refactor: lock session ( #25366 )
...
refafctor: lock session
2026-01-19 11:47:58 -05:00
Jason Rasmussen
b123beae38
fix(server): api key update checks ( #25363 )
2026-01-19 10:20:06 -05:00
Mees Frensel
1ada7a8340
chore(deps): ignore @parcel/watcher build script ( #25361 )
2026-01-19 09:08:25 -05:00
Matthew Momjian
5d81cace23
chore(docs): update RAM req ( #25344 )
...
* RAM req
* Update requirements.md
2026-01-18 17:52:08 -06:00
yy
65f9a228ba
fix: typos in comments and error messages ( #25320 )
2026-01-17 18:58:26 -06:00
Kolin
e6eca895ba
fix(web): add min-width to setting input field ( #25317 )
...
Prevents input fields from collapsing in flex layouts, such as the extension field in storage template settings. Fixes #25298 .
2026-01-16 16:31:06 -06:00
Jason Rasmussen
8196bd9bbd
refactor(web): routes ( #25313 )
2026-01-16 16:11:09 -05:00
Daniel Dietzler
07675a2de4
feat: download original asset ( #25302 )
...
Co-authored-by: bwees <brandonwees@gmail.com >
2026-01-16 19:05:13 +00:00
Jason Rasmussen
a2b03f7650
refactor(web): user sidebar ( #25292 )
2026-01-16 11:17:35 -05:00
Savely Krasovsky
fdff591a11
feat: update intel compute driver ( #25259 )
2026-01-16 14:42:55 +00:00
Alex
e4443fa43e
chore: dart http foreground upload ( #24883 )
...
* feat: bring back manual backup
* expose iCloud retrieval progress
* wip
* unify http upload method, check for connectivity on iOS
* handle LivePhotos progress
* feat: speed calculation
* wip
* better upload detail page
* handle error
* handle error
* pr feedback
* feat: share intent upload
* feat: manual upload
* feat: manual upload progress
* chore: styling
* refactor
* refactor
* remove unused logs
* fix: background android backup
* feat: add error section
* remove complete section
* remove empty state and prevent slot jumps
* more refactor
* fix: background test
* chore: add metadata to foreground upload
* fix: email and name get reset in auth provider
* pr feedback
* remove version check for metadata field in upload payload
* chore: fix unit test
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-15 20:10:08 -06:00
Jason Rasmussen
843d563178
refactor(web): admin page layout ( #25281 )
...
* refactor(web): admin page layout
* chore: remove unused props
2026-01-15 18:58:43 -05:00
Min Idzelis
256d62e22d
feat: thumbhash improvments for reactive prop updates ( #25287 )
2026-01-15 18:57:43 -05:00
shenlong
91592aa48e
fix(mobile): drop unique constraint on cloud_id ( #25291 )
...
fix: drop unique constraint on cloud_id
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-15 17:06:29 -06:00
shenlong
2ac113624b
chore: remote unused sync_cloud_ids key ( #25290 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-15 16:56:05 -06:00
renovate[bot]
0052979853
chore(deps): update dependency svelte to v5.46.4 [security] ( #25284 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-15 22:10:17 +01:00
renovate[bot]
79b6c4ac70
chore(deps): update dependency @sveltejs/kit to v2.49.5 [security] ( #25280 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-15 15:07:26 -05:00
Alex
95eb3e26c3
chore: sidebar spacing ( #25278 )
2026-01-15 10:35:01 -06:00
Alex
613dc858cb
chore: tweak table text size ( #25276 )
2026-01-15 11:06:34 -05:00
shenlong
2f3fbd7dc5
fix: ignore duplicate cloud ID updates ( #25271 )
...
* fix: ignore duplicate remote updates
* update cloudId when any one of the ETag part is mismatched
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-15 09:15:56 -06:00
Min Idzelis
80a5444bf4
feat: redesign asset-viewer previous/next and hide when nav not possible ( #24903 )
2026-01-15 12:55:01 +01:00
Jason Rasmussen
d59ee7d2ae
feat(web): immich/ui select component ( #25268 )
...
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-14 19:38:13 -06:00
idubnori
7b3a298c6a
fix: Swagger UI generates incorrect double-prefixed URLs (/api/api/...) ( #25266 )
...
fix: add ignoreGlobalPrefix option to Swagger options
2026-01-14 16:55:17 -06:00
Alex
0a62ec7e29
chore: album option modal styling ( #25269 )
...
* chore: album option modal styling
* header action button color
2026-01-14 16:52:33 -06:00
Jason Rasmussen
21802ab5ba
fix(server): prevent duplicate metadata items from being sent ( #25267 )
2026-01-14 16:52:06 -06:00
Daniel Dietzler
56dfdfd033
refactor: album share and options modals ( #25212 )
...
* refactor: album share modals
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-01-14 15:18:02 -05:00
Jason Rasmussen
2190921c85
chore: await api key nested modal ( #25265 )
2026-01-14 14:02:44 -05:00
shenlong
9fa8de7baa
feat: add cloud id during native sync ( #20418 )
...
* use adjustment time in iOS for hash reset
# Conflicts:
# mobile/lib/infrastructure/repositories/local_album.repository.dart
# mobile/lib/presentation/pages/drift_asset_troubleshoot.page.dart
* migration
* feat: sync cloudId and eTag on sync
* fixes fixes
* more fixes
* re-sync updated eTags
* add server version check & auto sync cloud ids on compatible servers
* fix test
* remove button from sync status page
* chore: modify for testing
* more changes
* chore: add commas in toString
* use cached provider in splash screen
* read upload service provider to prevent reset
* log errors from fetching cloud id mapping
* WIP: migrate cloud id - debug log
* ignore locked asset update
* bulk update metadata
* change log text
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-14 12:34:11 -06:00
Akash Karmakar
ed9448a6ee
fix: dark mode appbar color ( #24976 )
...
* fix: dark mode appbar color
* update: using scrolledUnderElevation for sufaceTint change
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-14 17:47:34 +00:00
Noel S
15224a9ac5
fix(mobile): improve asset transition back to timeline ( #24485 )
...
* test
* wip
* fix: indicators popping in due to z height change of hero animation (fade in instead after animation)
* wip
* fix: selection outline changing to transparent before animation finish
* Remove unnecessary changes and follow conventions
* remove accidentally included files
* clean up
* new approach
* detect hero animation.
* wip
* Revert "new approach"
This reverts commit 13919f6d04 .
* remove delayed animation
* wip
* wip (need to fix first open not triggering indicator hide)
* fix indicators not hiding on first hero animation
* Add back hiding selection background container
* revert accidental regression
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-14 10:40:24 -06:00
Alex
6e00fd92ef
chore: use fontWeight for Text component ( #25262 )
2026-01-14 16:25:30 +00:00
Alex
6fdd1ce41a
chore: use font-mono ( #25250 )
...
* chore: use font-mono
* chore: override variable
2026-01-14 11:21:48 -05:00
Jason Rasmussen
91d4cd6824
refactor: tables ( #25226 )
2026-01-14 07:56:09 -05:00
Ben
c7254a0c30
fix(docs): add missing mermaid dependency and configuration ( #25247 )
...
* fix(docs): add missing mermaid dependency and configuration
* fix: include pnpm-lock.yaml
* fix: docusaurus config format issue
2026-01-13 23:13:34 -05:00
Jason Rasmussen
38f01a6b7d
fix(web): redirect to login ( #25254 )
2026-01-13 23:11:14 -05:00
Jason Rasmussen
f194a7ea3e
fix: migration order ( #25249 )
2026-01-13 14:47:58 -06:00
Noel S
05a7ba98c1
fix(mobile): prevent system UI from hiding on drag down gesture ( #25240 )
...
* fix system ui briefly disappearing
* code style change
2026-01-13 19:40:24 +00:00
Alex
edc513a3df
feat(web): 2026 font ( #25174 )
...
* feat(web): 2026 font
* chore: docs font
* spacing tweak
* tweak minimum font weight and update ui lib
* small tweaks
* docs: small tweaks
* more tweaks
2026-01-13 18:19:09 +00:00
Yaros
39212a049c
feat(web): search albums by description ( #25244 )
...
feat: search albums by description
2026-01-13 11:56:59 -06:00
renovate[bot]
9b4f370834
chore(deps): update node.js to v24.13.0 ( #25243 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 16:19:10 +00:00
Alex
aba85b036c
feat(mobile): 2026 font ( #25213 )
2026-01-13 09:59:57 -06:00
juliancarrivick
6e86697996
fix(web): Handle upload failures from public users ( #24826 )
2026-01-13 15:15:54 +00:00
Daniel Dietzler
cc90c912f5
chore: bump base images manually ( #25241 )
2026-01-13 13:36:39 +01:00
renovate[bot]
efd20ef0d4
chore(deps): update prom/prometheus docker digest to 1f0f50f ( #25233 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 12:33:16 +01:00
renovate[bot]
0c0aa1f3c3
fix(deps): update typescript-projects ( #25070 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-13 12:32:38 +01:00
aviv926
231a475a17
feat: Cleanup docs ( #25223 )
...
Cleanup docs
2026-01-12 13:50:02 -06:00
Yaros
94ea83c415
fix(web): ocr button not clickable for stacked assets ( #25210 )
2026-01-12 18:22:37 +00:00
ppnplus
4b5b9baa78
Update Thai README (remove "under active development" lines) ( #25208 )
...
Update Thai README
I've removed lines related to the Beta versions ("Project is under active development...") to make it consistent with the current English version.
2026-01-12 18:16:16 +00:00
Alex
3bf0d5b99f
fix: asset local type casting ( #25214 )
2026-01-12 17:07:33 +00:00
Peter Ombodi
8ed81ac3e1
feat(mobile): do not restore locally deleted assets during trash sync (Android) ( #24218 )
...
* feat(trash_sync): do not restore assets deleted locally only
small fixes
* feat(trash_sync): revert tag name
* feat(trash_sync): resolve merge conflicts
* refactor(trash_sync): consolidate local asset deletion logic
* feat(mobile): Add TrashOrigin enum
Replace isRestorable to sourse
change related logic in repo
* feat(mobile): fix format
* fix(mobile): fix restoration scope
* fix(mobile): Add coverage for ActionService deleteLocal paths
Update LocalSyncService tests
Set default value for source column
* fix(mobile): db - require trash origin and update drift schema
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com >
2026-01-12 21:46:36 +05:30
Hemendra Singh Shekhawat
7992fe85d6
fix(web): added background gradient for video time visibility ( #25138 )
...
* fix(web): added background gradient for video time visibility
* fix(web): removed background gradient and added shadow to text and icon
2026-01-12 09:46:23 -06:00
Yaros
afe925a55e
fix(web): show relevant navbar options for partner assets ( #24832 )
...
* fix(web): show relevant navbar options for partner
* fix(web): AssetSelectControlBar on photos & search routes
* chore: remove duplicate AssetSelectControlBar from search
* chore: formatting fix
* chore: change let to const
2026-01-12 09:41:33 -06:00
Daniel Dietzler
5e3f5f2b55
fix: unlock properties after successful sidecar write ( #25168 )
2026-01-12 14:01:38 +01:00
Jason Rasmussen
d4ad523eb3
refactor(web): user app settings ( #25177 )
2026-01-10 07:58:50 -05:00
Brandon Wees
e8c80d88a5
feat: image editing ( #24155 )
2026-01-09 17:59:52 -05:00
Jason Rasmussen
76241a7b2b
refactor: user settings ( #25166 )
2026-01-09 17:11:07 -05:00
Jason Rasmussen
1e4af9731d
refactor: modals ( #25163 )
2026-01-09 15:05:20 -05:00
Noel S
88327fb872
fix(mobile): remove weird zooming behaviour on videos and play/pause button delay ( #24006 )
...
disable scale gestures
2026-01-09 13:14:07 -06:00
Jason Rasmussen
702499b97d
refactor: modals ( #25162 )
2026-01-09 13:03:57 -05:00
shenlong
da248414af
refactor(mobile): form & form field ( #25042 )
...
* refactor: form & form field
* chore: remove unused components
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-09 09:26:36 -06:00
renovate[bot]
af2c232c87
chore(deps): update github-actions (major) ( #25160 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 14:55:39 +00:00
Yaros
cca037b03c
fix(web): person asset count doesn't update when navigating ( #24438 )
2026-01-09 15:55:23 +01:00
renovate[bot]
1d71bb5a79
chore(deps): update ghcr.io/jdx/mise docker tag to v2026 ( #25159 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 14:52:24 +00:00
renovate[bot]
ee4f2c735d
chore(deps): update immich-app/devtools action to v1.1.1 ( #25066 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 15:42:49 +01:00
Min Idzelis
4d559a63ec
fix: properly fix asset-viewer delete action, add tests ( #25149 )
...
Update timeline manager before nav, add e2e regression tests
2026-01-09 09:20:42 -05:00
Robert Schäfer
573e9b0d52
refactor(dev): dockerify auth-server ( #24377 )
...
Description
-----------
A while ago I asked on Discord if you people would be interested in removing incompatibilities with rootless docker. See: https://discord.com/channels/979116623879368755/1071165397228855327/1442974448776122592
The e2e tests in `e2e/src/api/specs/oauth.e2e-spec.ts` depend on a docker feature [host-gateway](https://docs.docker.com/reference/cli/dockerd/#configure-host-gateway-ip ) that seemingly does not work on rootless docker.
So the suggested change is to dockerify the `auth-server` and not run it on the docker host.
I would love to receive feedback on this PR and feel free to request further improvements. Things that come to my mind:
* Compile typescript instead of using `tsx`
* Add hot-reloading of source files in `auth-server/` for development
* Add `eslint` configuration for the new folder
How Has This Been Tested?
------------------------
I'm running both default and rootless docker on my machine with [docker contexts](https://docs.docker.com/engine/manage-resources/contexts/ ):
```
docker context ls
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default unix:///var/run/docker.sock
rootless * unix:///run/user/1000/docker.sock
```
If I follow the steps from the [documentation](https://docs.immich.app/developer/testing ) then `oauth.e2e-spec.ts` will fail because the `auth-server` on my host can't be reached.
The tests pass after these steps:
1. `git switch refactor-auth-server-as-service`
2. `make e2e`
3. In another terminal `cd e2e`
4. `pnpm run test src/api/specs/oauth.e2e-spec.ts` passes
Checklist:
----------
- [x] I have performed a self-review of my own code
- [x] I have made corresponding changes to the documentation if applicable
- [x] 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/`)
2026-01-09 08:59:11 -05:00
bo0tzz
a2502109ab
fix: use my.immich.app as url placeholder in docs ( #25153 )
2026-01-09 11:46:55 +00:00
Timon
3cdece4945
fix(server): Document HTTP 200 response for duplicate uploads in OpenAPI ( #25148 )
...
* fix(server): Document HTTP 200 response for duplicate uploads in OpenAPI
* fix 201
* rename
2026-01-08 23:52:31 -05:00
Daniel Dietzler
520b825511
refactor: album page ( #25140 )
2026-01-08 22:27:20 +00:00
Jason Rasmussen
191401f2f1
fix: add asset upload medium test ( #25144 )
2026-01-08 22:01:25 +00:00
Jason Rasmussen
8136d7fd54
refactor(web): tag service ( #25142 )
2026-01-08 16:37:58 -05:00
Timon
5d1e486478
fix(server): avoid upserting empty metadata array ( #25143 )
2026-01-08 22:33:35 +01:00
Brandon Wees
85b0b97ef2
fix(web): apply changes to cursor.current instead of asset ( #25136 )
2026-01-08 22:31:41 +01:00
Jason Rasmussen
471fab0591
refactor: delete confirm modal ( #25135 )
2026-01-08 15:59:26 -05:00
Jason Rasmussen
6997ed83c4
refactor(web): set birthdate ( #25139 )
2026-01-08 15:41:20 -05:00
Jason Rasmussen
a2ba36c16d
feat: bulk asset metadata endpoints ( #25133 )
2026-01-08 14:52:16 -05:00
Alex
109c79125d
fix: description does not rerender when navigating between assets ( #25137 )
2026-01-08 13:32:43 -06:00
Jason Rasmussen
fbd49e0b79
refactor: memory lane ( #25134 )
2026-01-08 12:40:17 -05:00
Alex
1f20b6471c
feat: use fastlane sigh to manage signing profiles ( #25089 )
...
* feat: use fastlane sigh to manage signing profiles
* remove unused secrects
* remove unused fallback
2026-01-08 03:02:21 +00:00
Alex
1d6a9f6e80
feat: free up space ( #24999 )
...
* feat(server): Support camera `make`, `model`, and `lensModel` in Storage Template (#24650 )
* add support for make, model, lensModel in storage template
* no pkg lock
* Apply suggestion from @danieldietzler
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* query and formatting
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* wip: copy-writing
* feat: cutoff date preset options and filter options
* fix: don't include iCloud Shared Album
* chore: message about excluding shared album assets
* feat: show preview in a separate page
* feat: show clean up hint modal after success deletion
* pr feedback
* pr feedback
* pr feedback
---------
Co-authored-by: Rahul Kumar Saini <rahul-kumar-saini@users.noreply.github.com >
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-01-07 20:55:28 -06:00
Min Idzelis
0a9f1a3cbf
feat: cache asset info for prev/next navigation ( #24482 )
...
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-07 19:10:29 -05:00
Jason Rasmussen
4f803832ad
refactor: download action ( #25124 )
2026-01-07 22:01:20 +00:00
Mees Frensel
ef4aec7398
chore: refactor ErrorLayout ( #25094 )
...
* chore: refactor ErrorLayout
* Align links to top
2026-01-07 15:49:04 -06:00
Jason Rasmussen
5bb3492616
refactor: favorite action ( #25121 )
2026-01-07 21:21:19 +00:00
Min Idzelis
78229baeab
feat: improve asset-viewer next/prev perf and standardize preloading behavior ( #24422 )
...
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-07 21:17:12 +01:00
Timon
81f269e2a9
fix(docs): Use full git clone in CI to enable accurate last update times ( #25120 )
2026-01-07 17:19:43 +00:00
Timon
225b0f9377
chore: use setup-uv action to install python ( #25109 )
...
chore: update GitHub Actions workflow to use setup-uv action to install python
2026-01-07 10:46:04 -05:00
Alex
30b90f9baa
fix: propagate iCloud Shared Album flag ( #25060 )
...
* fix: propagate iCloud Shared Album flag
* chore: add migration
2026-01-06 19:46:25 -06:00
Jason Rasmussen
1293e473ca
refactor: cast button ( #25101 )
2026-01-06 18:51:19 -05:00
Jason Rasmussen
1a24a2d35e
refactor: asset viewer navbar actions ( #25091 )
2026-01-06 17:35:37 -05:00
Jason Rasmussen
f0f1687c79
refactor: asset view navbar onclose ( #25087 )
2026-01-06 15:41:53 +00:00
lif
ded980bfc3
fix(web): improve text contrast in minimized upload panel ( #25075 )
...
The minimized upload status buttons in dark mode had poor text
contrast because they used `text-gray-200` on colored backgrounds.
Changed to `text-light` which provides better contrast for both
light and dark modes on `bg-primary` and `bg-danger` backgrounds.
Fixes #24683
Signed-off-by: majiayu000 <1835304752@qq.com >
2026-01-06 15:23:28 +00:00
fabb
4cb56edebf
fix: enter now submits the date modals ( #25053 )
...
* fix: enter now submits the date modals
* use FormModal
* apply prettier
* fix unit test
2026-01-06 09:08:54 -06:00
Daniel Dietzler
c411151560
chore: docs for contributing ( #25082 )
2026-01-06 09:07:44 -06:00
Brandon Wees
f52bd9f38a
feat: use prettier for i18n translations ( #24623 )
2026-01-06 15:02:10 +00:00
Mees Frensel
006d02cfaf
fix(web): server stats layout ( #25085 )
...
fix: server stats layout
2026-01-06 09:10:38 -05:00
lif
263f96da87
fix(server): search statistics with personIds returns 500 ( #25074 )
...
The searchAssetBuilder was incorrectly adding withFacesAndPeople
select when personIds was provided. This caused a SQL error because
the subquery referenced asset.id which wasn't selected in statistics
queries (only count(*) was selected).
The fix removes personIds from the condition that triggers adding
faces data to the select. The hasPeople filter (for personIds) is
still applied correctly for filtering.
Fixes #25003
Signed-off-by: majiayu000 <1835304752@qq.com >
2026-01-06 08:54:12 -05:00
Calvin Bochulak
f22affd836
feat(web): star rating keyboard shortcut ( #24620 )
...
Co-authored-by: idubnori <i.dub.nori@gmail.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-06 12:56:29 +00:00
Yaros
f5667cefd4
fix(web): broken asset urls if shared link has photos in name ( #24451 )
2026-01-06 13:49:08 +01:00
Hemendra Singh Shekhawat
7efce389b2
fix(web): long text taking more width than expected in duplicate manager ( #24547 )
2026-01-06 12:47:41 +00:00
lif
f59cff4f5d
fix(web): use asset date for change date popup when single asset selected ( #25076 )
2026-01-06 13:37:51 +01:00
Jason Rasmussen
984f06ac40
refactor: asset viewer ( #25059 )
2026-01-05 21:02:01 +00:00
renovate[bot]
9d4a12dfd4
chore(deps): update node.js to v24.12.0 ( #25046 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 20:13:34 +00:00
renovate[bot]
94730567ab
fix(deps): update formatjs monorepo (major) ( #25049 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 20:59:06 +01:00
Jason Rasmussen
57db5e64de
chore(web): bump immich/ui for tooltips ( #24632 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-05 19:51:03 +00:00
Jason Rasmussen
4d32968f2b
refactor: redirect code ( #25054 )
2026-01-05 14:39:28 -05:00
renovate[bot]
10989e6927
fix(deps): update typescript-projects ( #25047 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-05 16:49:09 +00:00
Jason Rasmussen
62cc12be3c
refactor: asset from param ( #25041 )
2026-01-05 11:26:58 -05:00
Jason Rasmussen
1874557b95
fix: empty action context menu ( #25043 )
2026-01-05 11:26:23 -05:00
renovate[bot]
9a78547bf0
chore(deps): update dependency @types/node to ^24.10.4 ( #25044 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 16:19:55 +00:00
renovate[bot]
0b1bd9deb1
chore(deps): update dependency vite-tsconfig-paths to v6 ( #25048 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 17:18:22 +01:00
renovate[bot]
7202179d63
chore(deps): update grafana/grafana docker tag to v12.3.1 ( #25045 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 17:16:58 +01:00
Jason Rasmussen
519a7df4cd
refactor: trash page actions ( #25039 )
2026-01-05 10:48:55 -05:00
renovate[bot]
3762728c84
chore(deps): update docker.io/valkey/valkey:9 docker digest to 5463044 ( #24800 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 16:47:19 +01:00
renovate[bot]
bc3fa2b3fb
chore(deps): update prom/prometheus docker digest to 2b6f734 ( #24801 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 16:46:53 +01:00
Jason Rasmussen
57fca378bc
refactor: page container ( #25038 )
2026-01-05 10:44:29 -05:00
Flozza
eb718145c0
docs: config options for hardware transcoding ( #24853 )
2026-01-05 16:40:53 +01:00
Felipe Cury
c87c1866ae
fix: grammar in trigger_description string ( #24867 )
...
Fix typo in trigger_description string
2026-01-05 15:36:48 +00:00
Nikhil Alapati
b190423d96
fix(server): migrate motion part of live photo ( #24688 )
...
Co-authored-by: Nikhil Alapati <nikhilalapati@meta.com >
2026-01-05 15:26:45 +00:00
Daniel Ramos
edd3ab7cc9
feat(server): implement switchable logging formats (console/json) ( #24791 )
...
* feat(server): add LogFormat enum and configuration
* feat(server): add structured logging formatters
* feat(server): implement switchable logging formats (console/json)
* Revert "feat(server): add LogFormat enum and configuration"
This reverts commit 565e95ae68 .
* feat(server): implement JSON logging using NestJS native support
* refactor: rename LOG_FORMAT to IMMICH_LOG_FORMAT for consistency
* docs: add IMMICH_LOG_FORMAT documentation
* chore: format environment-variables.md
* chore: format monitoring.md
2026-01-05 09:21:02 -06:00
Jason Rasmussen
4147f1d912
fix: duplicate api call on new library page ( #25036 )
2026-01-05 10:03:44 -05:00
Jason Rasmussen
e4311da1a4
fix: shared-link-mapper ( #24794 )
2026-01-05 10:03:35 -05:00
Matthew Momjian
b7bb118c00
chore(deployment): add healthcheck option for DB ( #25024 )
2026-01-05 14:30:33 +01:00
Yaros
21f7314907
feat(web): undo delete single asset ( #24439 )
2026-01-05 13:31:02 +01:00
Timon
2541011eaa
fix(web): duplicate key error and enable expiration editing for expired shared links ( #24686 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-05 12:12:44 +00:00
Alex
18d8cc4449
fix: search input has incorrect focus state after closing the search filter modal ( #24886 )
2026-01-05 12:38:43 +01:00
Ahmed Mahmoud Aref
8e8a2f997e
feat: show asset owners for editors in shared albums ( #24890 )
2026-01-05 11:31:23 +00:00
Jorge Montejo
86e5c611ec
fix: import config from json ( #25030 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-01-05 11:28:08 +00:00
skrmc
e700bb5467
fix(mobile): hide delete action for remote-only assets ( #25010 )
2026-01-05 07:02:39 +00:00
GustavJones
a1aa2b807b
feat(web): Add coordinate pair location searching. ( #24799 )
...
* feat(web): Add coordinate pair searching within the change location modal.
Adds simple logic to try and parse a coordinate pair in the format
`LATITUDE, LONGITUDE` as provided from Google Maps if a coordinate is
copied to update the coordinates automatically.
* Add checks for valid coordinate pairs
* Update formatting and fix linting issues
2026-01-04 13:16:23 -06:00
immich-tofu[bot]
abea5a53de
chore: linting ( #7532 )
...
* chore: linting
* fix: broken tests
* fix: formatting
2026-01-04 16:05:56 +00:00
Matthew Momjian
bcf6685643
chore(server): Vchord 1.0 support ( #23845 )
...
vc 1
2026-01-04 00:01:11 -05:00
Diego Saint Esteben
bd27898ea9
fix(server): update exiftool-vendored to v34.3 for correct colon-less timezone parsing ( #24979 )
2026-01-02 20:31:31 +01:00
Savely Krasovsky
3321c1a9df
feat(ml): update ONNX Runtime, OpenVINO and ROCm stack ( #23458 )
2026-01-01 12:17:55 -05:00
renovate[bot]
72a898d89d
chore(deps): update github-actions ( #24606 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-31 12:23:36 +00:00
Rahul Kumar Saini
a16c5955d7
feat(server): Support camera make, model, and lensModel in Storage Template ( #24650 )
...
* add support for make, model, lensModel in storage template
* no pkg lock
* Apply suggestion from @danieldietzler
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* query and formatting
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2025-12-29 21:55:06 +00:00
Keanu Czirjak
e87bfa548a
fix(web): let slideshow videos play ( #19601 ) ( #24914 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2025-12-29 18:03:55 +00:00
Min Idzelis
369a30e227
fix: canceling a bucket while findMonthGroupForAsset is waiting fails ( #24898 )
2025-12-29 09:28:37 -06:00
Lauritz Tieste
0df618feee
feat: Hide/show controls when zoom state changes ( #24784 )
...
feat: hide/show controls based on zoom state in asset viewer
2025-12-27 16:02:42 -06:00
Daniel Dietzler
363b9276eb
fix: album card timezone ( #24855 )
2025-12-26 21:40:07 -06:00
idubnori
36d7dd9319
feat(mobile): album options to kebab menu ( #24204 )
...
* feat(mobile): refactor album options into kebab menu for improved UX
* feat(mobile): update BaseActionButton to use iconColor for text styling and add delete button color in DriftRemoteAlbumOption
* feat: const Divider(height: 1)
* fix(mobile): update icon color for album options menu button
* chore: refactor
* chore: refactor
* add test
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-26 18:46:05 +00:00
Peter Ombodi
a57c4d9a9e
fix(drift backup notifier): add lifecycle guards and dispose logging ( #24806 )
...
* fix(drift backup notifier): add lifecycle guards and dispose logging
* fix(drift backup notifier): re-read notifiers in callbacks to avoid disposed backup notifier
* fix(drift backup notifier): increase the log level to warning.
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com >
2025-12-26 18:44:07 +00:00
Marcin Wróblewski
724948d36d
feat(mobile): use tabular figures in backup info card ( #24820 )
...
* feat(mobile): use tabular figures in backup info card
during large (initial) backups current non-tabular figures are jumping around the UI, making the UI hard to follow. this change makes sure there’s no jump in text width between e.g. 7888 to 7111
* chore: use const
2025-12-25 22:27:33 -06:00
Min Idzelis
83f8065f10
fix: autogrow textarea bugs during animation ( #24481 )
2025-12-24 13:21:08 +01:00
renovate[bot]
e63e8e2517
chore(deps): update machine-learning ( #24610 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-23 03:12:13 +00:00
Jason Rasmussen
01e3b8e5df
refactor: form modals ( #24790 )
2025-12-22 14:15:23 -05:00
Jason Rasmussen
5a7c9a252c
feat: disable admin setup ( #24628 )
2025-12-22 14:15:08 -05:00
Jason Rasmussen
f99f5f4f91
refactor: map setting modal ( #24789 )
2025-12-22 13:54:14 -05:00
Jason Rasmussen
8ad27c7cea
refactor: slideshow modal ( #24788 )
2025-12-22 18:44:53 +00:00
Jason Rasmussen
edc21ed746
fix(web): stale album info ( #24787 )
2025-12-22 19:38:57 +01:00
Jason Rasmussen
dd744f8ee3
refactor: album edit modal ( #24786 )
2025-12-22 13:33:49 -05:00
Min Idzelis
f6f9a3abb4
fix: task never rejected on cancel, add tests ( #24418 )
2025-12-22 13:12:43 -05:00
Jason Rasmussen
1c156a179b
feat: shared link edit ( #24783 )
2025-12-22 11:47:06 -05:00
Jason Rasmussen
952f189d8b
feat: prefer admin settings page over users page ( #24780 )
2025-12-22 11:31:22 -05:00
Jason Rasmussen
40e750e8be
refactor: api key service ( #24779 )
2025-12-22 11:09:11 -05:00
Jason Rasmussen
c7510d572a
chore: move models ( #24778 )
2025-12-22 15:23:57 +00:00
Jason Rasmussen
165f9e15ee
feat: modal routes ( #24726 )
...
feat: new user route
2025-12-22 15:04:08 +00:00
Mert
dfdbb773ce
fix(web): display jxl original ( #24766 )
...
display jxl original
2025-12-21 20:10:22 -06:00
bo0tzz
f053ce548d
fix: product keys wording in commercial guidelines faq ( #24765 )
2025-12-21 19:35:21 +00:00
bo0tzz
d7c28470ee
feat: focus jumped-to item in timeline ( #24738 )
2025-12-21 08:52:52 -06:00
Alex
28f6064240
feat: workflow ui ( #24190 )
...
* feat: workflow ui
* wip
* wip
* wip
* pr feedback
* refactor: picker field
* use showDialog directly
* better test
* refactor step selection modal
* move enable button to info form
* use for Props
* pr feedback
* refactor ActionItem
* refactor ActionItem
* more refactor
* fix: new schemaformfield has value of the same type
* chore: clean up
2025-12-20 21:07:07 -06:00
Alex
4b3b458bb6
chore: update info.plist app version in bump-version ( #24722 )
2025-12-20 21:02:11 -06:00
Sergey Katsubo
4736b4e3e8
chore(server): improve log messages ( #24744 )
...
* Clarify the "asset not found" log during thumbnail generation: it's about database
* Move not found sidecars to verbose level instead of "old=null, new=null" at debug
* Log memory creation at default level
* Add explicit log for missing exif date time
Instead of: Date and time is undefined using exifTag undefined for asset ...
* Log database migration start/end at default level
Currently, these messages are logged as "debug". But they are not printed
when debug or verbose level is set. This is due to the known limitation:
SystemConfigService sets LogLevel later on, after migrations run.
2025-12-20 21:00:34 -06:00
Paul Makles
a17f188e97
fix(maintenance): prevent enable/disable maintenance CLI hanging on occasion ( #24713 )
...
* fix(maintenance): prevent CLI hanging on occassion
fix(maintenance): always ack messages
fix(maintenance): ensure Redis is connected first
* chore(maintenance): validate app restart responses
* chore: mock the app restart callback
* fix: ack may not exist depending on caller
* refactor: move one shot into app.repository
* fix: send correct state in one shot
* chore: log restart event
2025-12-19 17:13:00 -05:00
Jason Rasmussen
5b80323326
refactor: library service ( #24725 )
2025-12-19 13:20:35 -05:00
Jason Rasmussen
1425b3da6b
refactor: admin card ( #24723 )
2025-12-19 12:47:04 -05:00
Daniel Dietzler
3d2196b0f2
refactor: asset update medium tests ( #24718 )
2025-12-19 16:25:04 +00:00
github-actions
50d7956c07
chore: version v2.4.1
2025-12-19 15:03:03 +00:00
Théo
22d3fd3b92
fix(docs): add & fix missing alt text to store badge images ( #24637 )
...
* Fix email footer: add missing alt text to store badge images
* fix: apply consistent formatting using Prettier
---------
Co-authored-by: divulgacheur <contact@theopeltier.me >
2025-12-19 09:00:31 -06:00
Luis Nachtigall
a469e86b32
fix(web): search-bar usability improvements ( #24705 )
...
* fix(search): improve search type dropdown accessibility and focus management
* fix(search): fix search options button accessibility position in search bar
* fix(search): removed unnecessary selection logic
2025-12-19 14:59:41 +00:00
Timon
138c9232df
chore: update ApiKeySecretModal to use monospace font ( #24690 )
...
style(web): update ApiKeySecretModal to use monospace font for readonly textarea
2025-12-19 08:58:49 -06:00
Timon
2e1f8625ec
fix(web): timezone dropdown showing "No results" when seconds are set to 00 ( #24662 )
...
* Fix timezone dropdown showing "No results" when seconds are set to 00
* remove comments
* add test for #23615
2025-12-19 08:58:17 -06:00
Daniel Dietzler
f7cbb7417c
fix: dateTimeOriginal timezone updates ( #24712 )
2025-12-19 08:42:44 -06:00
Alex
125de91c71
fix: merged video in On This Device played with incorrect dimension ( #24656 )
...
* fix: merged video in On This Device played with incorrect dimension
* chore: pr feedback
2025-12-18 20:59:58 -06:00
Timon
c9b58f5893
fix(web): auto-start slideshow when confirming settings modal ( #24629 )
...
feat(web): auto-start slideshow when confirming settings modal
2025-12-18 21:58:22 +00:00
Timon
640fd7308b
fix(mobile): infinite loading screen when hiding UI in map viewer on iOS ( #24563 )
...
* fix with logging
* remove logging
* analyze
2025-12-18 21:07:58 +00:00
shenlong
557a79f747
chore(mobile): log failures from share upload intent ( #24680 )
...
chore: log failures from share intent upload
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-12-18 14:30:55 -06:00
Yaros
5ade152bc5
fix(web): shared link expiry does not save ( #24569 )
...
* fix(web): shared link expiry does not save
* chore: fix lint errors
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-18 06:19:31 +00:00
bo0tzz
827bf1ef18
fix: pass bumped version through outputs ( #24649 )
2025-12-17 17:06:54 -06:00
github-actions
a02adbb828
chore: version v2.4.0
2025-12-17 17:44:24 +00:00
Weblate (bot)
ab7520c167
chore(web): update translations ( #24004 )
...
* chore(web): update translations
Co-authored-by: 100daysummer <bobbydochev@gmail.com >
Co-authored-by: Abhijeet Bonde <abhijeetbonde19@gmail.com >
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Adrián Calleros <acalleros@protonmail.com >
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alberto Serluca <alberto.ser11@gmail.com >
Co-authored-by: Amin <amnsharif@gmail.com >
Co-authored-by: Antonio Jurkić <antoniojurkic@hotmail.com >
Co-authored-by: Aravinth <aravinth@tuta.io >
Co-authored-by: Arno Deceuninck <mc.bluedragon990@gmail.com >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Björn Felgner <bjoern@felgner.ch >
Co-authored-by: Bruno Lopes <brandaolopes.dev@gmail.com >
Co-authored-by: CT Ewe <chunte@gmail.com >
Co-authored-by: Cheng Chien <jamesqian1999@gmail.com >
Co-authored-by: Ciprriann <cipriannebeja@gmail.com >
Co-authored-by: Cristi Stoicescu <stoicescucristi93@gmail.com >
Co-authored-by: DERGON <dergonokay@gmail.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
Co-authored-by: Daniel Rieiro <daniel@danielrieiro.com >
Co-authored-by: Davide Vegliante <davidevegliante@gmail.com >
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Dragon Fly <2025dragonfly2025@gmail.com >
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Haru Ijima <haruijimakun@gmail.com >
Co-authored-by: Henning <me@unbekannt3.eu >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: JIMMY WONG <jim2y512@gmail.com >
Co-authored-by: Javi Marina <javmarina@gmail.com >
Co-authored-by: Javier Villanueva García <jvg2203@gmail.com >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Julius Lehmann <julius.lehmann.privat@gmail.com >
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk >
Co-authored-by: Kanchnak Khorn <Kanchnakkhorn@gmail.com >
Co-authored-by: Kiril Panayotov <eccyboo@protonmail.com >
Co-authored-by: Koen van Wijnen <koen@van-wijnen.com >
Co-authored-by: Kristján Bjarni Guðmundsson <kristjanbjarni@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Liviu Roman <contact@liviuroman.com >
Co-authored-by: Lucas Jaksys <lucas3033@gmail.com >
Co-authored-by: Lukas Konsin <lukaskonsin@proton.me >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Mihai Grama <mihai.grama.81@gmail.com >
Co-authored-by: Mladen Jablanovic <jablan@gmail.com >
Co-authored-by: Mohsin <mohsin.bouhout.inami@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Nguyen Minh Anh <nguyenminhanh165@gmail.com >
Co-authored-by: Olaf Nielsen <solluh@mail.de >
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com >
Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org >
Co-authored-by: Philip Goto <philip.goto@gmail.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Prasanth Baskar <bupdprasanth@gmail.com >
Co-authored-by: Radoslav <5v.klas.2019@gmail.com >
Co-authored-by: Rahees <ahdrahees.dev@gmail.com >
Co-authored-by: Rohit <rohitss786@gmail.com >
Co-authored-by: Roi Gabay <roigby@gmail.com >
Co-authored-by: S M, Aravinth (A.) <asm1@ford.com >
Co-authored-by: Severin Engelbracht <s.engelbracht@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Sparkle <sparkle@sparklebox.net >
Co-authored-by: Stefan Ovcharov <SeecretA@outlook.com >
Co-authored-by: Stein Milder <info@steinmilder.nl >
Co-authored-by: Styrmir Magnússon <styrmirmag@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Taiki M. <vexingly-many-mace@duck.com >
Co-authored-by: Tanishq <weblate.impure434@passinbox.com >
Co-authored-by: Tarsis <br.tmvdl@gmail.com >
Co-authored-by: Tedy25879 <tedy25879@gmail.com >
Co-authored-by: Tek Dara <tekdara@me.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Tobias Kronthaler <tobias.kronthaler@diemayrei.de >
Co-authored-by: TomVet <dion.tom94@gmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vatsal <gajjar.vatsal10602@gmail.com >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: Visual Vincent <github-vv@mydoomsite.com >
Co-authored-by: adri1m64 <adrien.melle@laposte.net >
Co-authored-by: chamdim <chamdim@protonmail.com >
Co-authored-by: gablilli <gabriele.lilli0511@gmail.com >
Co-authored-by: idubnori <i.dub.nori@gmail.com >
Co-authored-by: isidorjokull <isidorjokull@gmail.com >
Co-authored-by: jstmrby <jstmrby@gmail.com >
Co-authored-by: l m <virtuamoo@gmail.com >
Co-authored-by: makfreeman <m.a.k.freeman@gmail.com >
Co-authored-by: miiyuh <itsazripp2@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: rezi nagro <rezinagro@hotmail.com >
Co-authored-by: rubi taz <sisilia.rauzyth@gmail.com >
Co-authored-by: vamshi Thaduri <tvamshi292001@gmail.com >
Co-authored-by: veilside03 <veilside03@gmail.com >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Þorsteinn Jón <thorsteinn-weblate@hb15.is >
Co-authored-by: Дмитро Савушкін <dimas4996@gmail.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
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/az/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
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/da/
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/el/
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/fi/
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/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/is/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/km/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
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/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
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/sr_Latn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/te/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/uk/
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/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/
Translation: Immich/immich
* fix: test
---------
Co-authored-by: 100daysummer <bobbydochev@gmail.com >
Co-authored-by: Abhijeet Bonde <abhijeetbonde19@gmail.com >
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Adrián Calleros <acalleros@protonmail.com >
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alberto Serluca <alberto.ser11@gmail.com >
Co-authored-by: Amin <amnsharif@gmail.com >
Co-authored-by: Antonio Jurkić <antoniojurkic@hotmail.com >
Co-authored-by: Aravinth <aravinth@tuta.io >
Co-authored-by: Arno Deceuninck <mc.bluedragon990@gmail.com >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Björn Felgner <bjoern@felgner.ch >
Co-authored-by: Bruno Lopes <brandaolopes.dev@gmail.com >
Co-authored-by: CT Ewe <chunte@gmail.com >
Co-authored-by: Cheng Chien <jamesqian1999@gmail.com >
Co-authored-by: Ciprriann <cipriannebeja@gmail.com >
Co-authored-by: Cristi Stoicescu <stoicescucristi93@gmail.com >
Co-authored-by: DERGON <dergonokay@gmail.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
Co-authored-by: Daniel Rieiro <daniel@danielrieiro.com >
Co-authored-by: Davide Vegliante <davidevegliante@gmail.com >
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Dragon Fly <2025dragonfly2025@gmail.com >
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Haru Ijima <haruijimakun@gmail.com >
Co-authored-by: Henning <me@unbekannt3.eu >
Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: JIMMY WONG <jim2y512@gmail.com >
Co-authored-by: Javi Marina <javmarina@gmail.com >
Co-authored-by: Javier Villanueva García <jvg2203@gmail.com >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Julius Lehmann <julius.lehmann.privat@gmail.com >
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk >
Co-authored-by: Kanchnak Khorn <Kanchnakkhorn@gmail.com >
Co-authored-by: Kiril Panayotov <eccyboo@protonmail.com >
Co-authored-by: Koen van Wijnen <koen@van-wijnen.com >
Co-authored-by: Kristján Bjarni Guðmundsson <kristjanbjarni@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Liviu Roman <contact@liviuroman.com >
Co-authored-by: Lucas Jaksys <lucas3033@gmail.com >
Co-authored-by: Lukas Konsin <lukaskonsin@proton.me >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Mihai Grama <mihai.grama.81@gmail.com >
Co-authored-by: Mladen Jablanovic <jablan@gmail.com >
Co-authored-by: Mohsin <mohsin.bouhout.inami@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Nguyen Minh Anh <nguyenminhanh165@gmail.com >
Co-authored-by: Olaf Nielsen <solluh@mail.de >
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com >
Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org >
Co-authored-by: Philip Goto <philip.goto@gmail.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Prasanth Baskar <bupdprasanth@gmail.com >
Co-authored-by: Radoslav <5v.klas.2019@gmail.com >
Co-authored-by: Rahees <ahdrahees.dev@gmail.com >
Co-authored-by: Rohit <rohitss786@gmail.com >
Co-authored-by: Roi Gabay <roigby@gmail.com >
Co-authored-by: S M, Aravinth (A.) <asm1@ford.com >
Co-authored-by: Severin Engelbracht <s.engelbracht@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Sparkle <sparkle@sparklebox.net >
Co-authored-by: Stefan Ovcharov <SeecretA@outlook.com >
Co-authored-by: Stein Milder <info@steinmilder.nl >
Co-authored-by: Styrmir Magnússon <styrmirmag@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Taiki M. <vexingly-many-mace@duck.com >
Co-authored-by: Tanishq <weblate.impure434@passinbox.com >
Co-authored-by: Tarsis <br.tmvdl@gmail.com >
Co-authored-by: Tedy25879 <tedy25879@gmail.com >
Co-authored-by: Tek Dara <tekdara@me.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Tobias Kronthaler <tobias.kronthaler@diemayrei.de >
Co-authored-by: TomVet <dion.tom94@gmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vatsal <gajjar.vatsal10602@gmail.com >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: Visual Vincent <github-vv@mydoomsite.com >
Co-authored-by: adri1m64 <adrien.melle@laposte.net >
Co-authored-by: chamdim <chamdim@protonmail.com >
Co-authored-by: gablilli <gabriele.lilli0511@gmail.com >
Co-authored-by: idubnori <i.dub.nori@gmail.com >
Co-authored-by: isidorjokull <isidorjokull@gmail.com >
Co-authored-by: jstmrby <jstmrby@gmail.com >
Co-authored-by: l m <virtuamoo@gmail.com >
Co-authored-by: makfreeman <m.a.k.freeman@gmail.com >
Co-authored-by: miiyuh <itsazripp2@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: rezi nagro <rezinagro@hotmail.com >
Co-authored-by: rubi taz <sisilia.rauzyth@gmail.com >
Co-authored-by: vamshi Thaduri <tvamshi292001@gmail.com >
Co-authored-by: veilside03 <veilside03@gmail.com >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Þorsteinn Jón <thorsteinn-weblate@hb15.is >
Co-authored-by: Дмитро Савушкін <dimas4996@gmail.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-12-17 17:42:28 +00:00
Alex
de1b448639
chore: show Select All button for iOS in backup album selection page ( #24647 )
2025-12-17 16:41:44 +00:00
Daniel Dietzler
c15998e805
fix: asset update race condition ( #24384 )
...
* fix: asset update race condition
* fix: asset update race condition
* single statement
* update sql
* missed one
* fix `none` handling
* fix: tests
* chore: simplify update all assets
* fix: updating lockable properties
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-12-17 09:23:13 -06:00
Alex
f0b069adb9
fix: shared link expiration and small styling ( #24566 )
...
* fix: shared link expiration and small styling
* Use text color of enable/disable shared link properties
2025-12-16 16:41:12 +00:00
Hai Sullivan
276d02e12b
fix(mobile): better UI for metadata panel ( #24428 )
...
* 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 >
2025-12-16 16:25:01 +00:00
Yaros
ded9535434
fix(mobile): local delete missing from sheet on some routes ( #24505 )
...
* fix(mobile): local delete missing from album sheet
* chore: remove hasLocal
2025-12-16 09:54:53 -06:00
idubnori
997aec2441
feat: replace heart icons to thumbs-up across activity ( #24590 )
...
* feat: replace heart icons to thumbs-up across activity
* fix: update thumb_up icon color to use primaryColor in activity components
* chore: web colors
* chore: modify colors
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-16 15:27:09 +00:00
Ben
cb2bd47816
fix(web): immich logo in shared links ( #24618 )
...
* fix(web): immich logo in shared links
* chore: apply changes for individual shared link as well
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-12-16 14:59:17 +00:00
renovate[bot]
f1c8377ca0
chore(deps): update dependency @types/node to ^24.10.3 ( #24605 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-16 12:23:52 +01:00
Alex
8416397589
chore: revert Svelte 5.43.3 ( #24509 )
2025-12-16 04:03:53 +00:00
Yaros
dc29635b67
chore(mobile): changed default album sort to match with web ( #24526 )
...
chore(mobile): matched default album sort with web
2025-12-15 21:18:45 -06:00
Min Idzelis
00290e1e71
feat: make OCR store reentrant-safe ( #24419 )
2025-12-15 21:06:04 -06:00
Yaros
3ef4c4f315
feat(web): slideshow feature on shared albums ( #24598 )
2025-12-15 20:49:50 -06:00
idubnori
b10a8baf53
feat(mobile): move buttons in the bottom sheet to the kebabu menu ( #24175 )
...
* refactor: remove bottom sheet buttons
* feat: add iconOnly and menuItem parameters to action buttons
* feat: enhance action button context and kebab menu integration
* feat: use ActionButtonContext
* fix: add missing options in some cases
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-15 16:44:27 -06:00
Mees Frensel
77926383db
fix(server): only extract image's duration if format supports animation ( #24587 )
2025-12-15 12:36:46 -05:00
Yaros
35eda735c8
fix(web): recent search doesn't use search type ( #24578 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-12-15 12:44:00 +01:00
Diogo Correia
8f7a71d1cf
fix(web): download panel being hidden by admin sidebar ( #24583 )
2025-12-15 12:29:18 +01:00
Yaros
33cdea88aa
fix(mobile): birthday off by one day on remote ( #24527 )
2025-12-11 21:23:11 -06:00
Alex
4b345e02ff
fix: refresh appear in list after asset is added to a current or new album ( #24523 )
2025-12-11 11:06:53 -06:00
Yaros
8cf900bafa
fix(mobile): local videos with '#' don't play on android ( #24373 )
...
* fix(mobile): videos with '#' don't play on android
* refactor: one line
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
* fix: depend on platform
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
2025-12-11 10:57:37 -06:00
Yaros
59a3f0f455
feat(mobile): create new album from add to modal ( #24431 )
...
* feat(mobile): create new album from add to modal
* refactor: use statefulwidget instead of hook
* chore: rename createalbumbutton
2025-12-11 09:47:31 -06:00
Sergey Katsubo
c5d99711f7
fix(web): show inferred timezone in date editor ( #24513 )
...
fix(web): show inferred timezone of asset in date editor
2025-12-11 09:20:51 -06:00
Yaros
4c0a41723f
feat(web): asset selection bar in tags view ( #24522 )
...
* feat(web): asset selection tab in tags view
* chore: remove unused imports
2025-12-11 15:20:29 +00:00
Bart van Velden
f73511a754
fix(docs): typo in maintenance mode command ( #24518 )
2025-12-11 09:19:33 -06:00
hubert-taieb
e637387082
fix(server): prevent metadata extraction failures on large video files ( #24094 )
...
* prevent metadata extraction failures on large video files
Increases ExifTool timeout from 20s to 120s to prevent GPS metadata
extraction failures on large video files (>2GB, 10+ minutes).
Issue: Large videos timeout during metadata extraction, causing GPS
coordinates to be lost even though ExifTool can extract them given
enough time.
Testing: 2.6GB, 10:52min video that previously timed out now
successfully extracts GPS metadata.
* redundant comment
Increased task timeout for processing large videos.
* chore: lint
---------
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-12-11 15:18:19 +00:00
renovate[bot]
baad38f0e6
fix(deps): update typescript-projects ( #24476 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-12-11 00:13:06 +00:00
Min Idzelis
161147af51
feat: timeline-manager improvement to use AssetResponseDto efficiently ( #24421 )
2025-12-11 01:07:31 +01:00
renovate[bot]
cbdf5011f9
chore(deps): update docker.io/valkey/valkey:9 docker digest to fb8d272 ( #24474 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 00:59:39 +01:00
renovate[bot]
f0f1d279c4
chore(deps): update prom/prometheus docker digest to d936808 ( #24475 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 00:59:20 +01:00
renovate[bot]
5821f2fe61
chore(deps): update github-actions ( #24477 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 00:59:03 +01:00
Noel S
4cbce072be
fix(docs): slow upload speed with example nginx reverse proxy config ( #24490 )
...
* increase buffer size
* increase further
* increase buffer further
2025-12-10 22:29:36 +00:00
idubnori
5e5bb7e87d
fix(mobile): versionStatus.message text overflow ( #24504 )
2025-12-10 16:18:55 -06:00
shenlong
b052893a1e
feat(mobile): immich-ui icon button ( #24502 )
...
* feat(mobile): immich-ui icon button
* fix lint
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-12-10 16:18:01 -06:00
Kurt McKee
15e58595fd
fix(mobile): iOS local permission dialog extra whitespace ( #24491 )
...
Fix a iOS rendering issue caused by extra whitespace
2025-12-10 16:17:08 -06:00
Alex
6d499c782a
chore: update ui lib ( #24483 )
2025-12-09 17:27:01 -06:00
idubnori
7af99b8606
feat(mobile): move top bar buttons into kebabu menu in AssetViewer ( #24461 )
...
* chore(mobile): i18n: "open_asset_info" in viewer kebab menu
* feat(mobile): move some top buttons into kebabu menu
* refactor(mobile): viewer kebab menu to use context-based button generation
* feat(mobile): refactor action button and kebab menu to use ConsumerWidget for improved state management
* feat(mobile): pass original theme to ViewerKebabMenu for consistent styling
* chore: styling
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-09 18:26:28 +00:00
Arnau Mora
01e39277e0
feat(mobile): Localized backup upload details page ( #21136 )
...
* Localized backup details page
# Conflicts:
# i18n/en.json
* Format
* format fix
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-12-09 11:23:01 -06:00
Yaros
06e79703da
fix(mobile): timeline bottom padding on selection ( #24480 )
2025-12-09 09:19:41 -06:00
Yaros
c360781565
fix(mobile): fix overflow text in backup card ( #24448 )
...
* fix(mobile): fix overflow text in backup card
* refactor: use intrinsicheight
* chore: fix spelling of entitycounttile
2025-12-09 09:03:29 -06:00
idubnori
287f6d5c94
fix(mobile): buttons inside AddActionButton color is the same as background color ( #24460 )
...
* fix: icon & text color in AddActionButton
* fix: use Divider
2025-12-08 14:29:31 -06:00
Simon Kubiak
fe9125a3d1
fix(web): [album table view] long album title overflows table row ( #24450 )
...
fix(web): long album title overflows vertically on album page in table view
2025-12-08 15:35:58 +00:00
Yaros
8b31936bb6
fix(mobile): cannot create album while name field is focused ( #24449 )
...
fix(mobile): create album disabled when focused
2025-12-08 09:33:01 -06:00
Sergey Katsubo
19958dfd83
fix(server): building docker image for different platforms on the same host ( #24459 )
...
Fix building docker image for different platforms on the same host
Use per-platform mise cache to avoid 'sh: 1: extism-js: not found'
This happens due to re-using cached installed binary for another platform
2025-12-08 09:15:43 -06:00
Alex
1e1cf0d1fe
fix: build iOS fastlane installation ( #24408 )
2025-12-06 14:55:53 -06:00
Min Idzelis
879e0ea131
fix: thumbnail doesnt send mouseLeave events properly ( #24423 )
2025-12-06 21:52:06 +01:00
Sergey Katsubo
42136f9091
fix(server): update exiftool-vendored to v34 for more robust metadata extraction ( #24424 )
2025-12-06 14:45:59 -06:00
Harrison
1109c32891
fix(docs): websockets in nginx example ( #24411 )
...
Co-authored-by: Harrison <frith.harry@gmail.com >
2025-12-06 16:28:12 +00:00
idubnori
3c80049192
chore(mobile): add kebabu menu in asset viewer ( #24387 )
...
* feat(mobile): implement viewer kebab menu with about option
* feat: revert exisitng buttons, adjust label name
* unify MenuAnchor usage
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-05 19:51:59 +00:00
Hai Sullivan
8f1669efbe
chore(mobile): smoother UI experience for iOS devices ( #24397 )
...
allows the tab pages to use the standard Material page transition during push/pop navigation
2025-12-05 11:02:04 -06:00
Robert Schäfer
146bf65d02
refactor(dev): remove ulimits for rootless docker ( #24393 )
...
Description
-----------
When I follow the [developer setup](https://docs.immich.app/developer/setup ) I run into a permission error using rootless docker. A while ago I asked on Discord in [#contributing](https://discord.com/channels/979116623879368755/1071165397228855327/1442974448776122592 ) about these ulimits.
I suggest to remove the `ulimits` altogether. It seems that @ItalyPaleAle has left the setting just hoping that it could help somebody in the future. See the [PR description](https://github.com/immich-app/immich/pull/4556 ).
How Has This Been Tested?
-------------------------
Using rootless docker:
```
$ docker context ls
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default unix:///var/run/docker.sock
rootless * unix:///run/user/1000/docker.sock
```
Running `make` will fail because of permission errors:
```
$ docker compose -f ./docker/docker-compose.dev.yml up --remove-orphans
...
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting rlimits for ready process: error setting rlimit type 7: operation not permitted
```
On my machine I have the following hard limit for "Maximum number of open file descriptors":
```
$ ulimit -nH
524288
```
I can confirm that the permission error is caused by the security restrictions of the operating system mentioned above:
Changing `docker/docker-compose.dev.yml` like ..
```
ulimits:
nofile:
soft: 524289
hard: 524289
```
.. will lead to a permission error whereas this ..
```
ulimits:
nofile:
soft: 524288
hard: 524288
```
.. starts fine.
Apparently the defaults for these limits are coming from [systemd](26b2085d54/man/systemd.exec.xml (L1122) ) which is used on nearly every linux distribution. So my assumption is that almost any linux user who uses rootless docker will run into a permission error when starting the development setup.
Checklist:
----------
- [x] I have performed a self-review of my own code
- [x] I have made corresponding changes to the documentation if applicable
- [x] 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/`)
2025-12-05 09:26:20 -05:00
Daniel Dietzler
75a7c9c06c
feat: sql tools array as default value ( #24389 )
2025-12-04 12:54:20 -05:00
Daniel Dietzler
ae8f5a6673
fix: prettier ( #24386 )
2025-12-04 16:10:42 +00:00
Jason Rasmussen
31f2c7b505
feat: header context menu ( #24374 )
2025-12-04 11:09:38 -05:00
Yaros
ba6687dde9
feat(web): search type selection dropdown ( #24091 )
...
* feat(web): search type selection dropdown
* chore: implement suggestions
* lint
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-04 04:10:12 +00:00
shenlong
bbba1bfe8c
fix: use adjustment time in iOS for hash reset ( #24047 )
...
* use adjustment time in iOS for hash reset
* migration
* fix equals check
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-12-03 21:15:58 -06:00
Robert Schäfer
4be9a5ebf8
fix(docs): obsolete docs about rootless docker ( #24376 )
...
Description
-----------
The documentation lies about comments in `docker/docker-compose.dev.yml`.
Reason: in 689c6aa276 these docs were added
but the comments in this file are removed in
b9e2590752 and the docs weren't updated.
How Has This Been Tested?
-------------------------
```
$ git log -S rootless
commit b9e2590752
Author: Jason Rasmussen <jason@rasm.me >
Date: Tue Sep 16 12:48:44 2025 -0400
chore: simplify (#22082 )
commit 689c6aa276
Author: Rudolf Horváth <R-Rudolf@users.noreply.github.com >
Date: Thu Nov 21 13:25:45 2024 +0100
docs: add developer notes about rootless docker setup (#13250 )
```
Checklist:
----------
- [x] I have performed a self-review of my own code
- [x] I have made corresponding changes to the documentation if applicable
- [x] 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/`)
2025-12-03 18:34:08 -06:00
Omar I
d41921247b
fix(web): Add minimum content size to logo for consistent visual on small screens ( #24372 )
2025-12-03 21:35:48 +00:00
Nicholas
853a024f0f
fix: prevent OOM on nginx reverse proxy servers ( #24351 )
...
Prevent OOM on reverse proxy servers
Added configuration to disable buffering for uploads.
2025-12-03 14:30:28 -06:00
Alex
4fe494776e
fix: local full sync on Android on resume ( #24348 )
2025-12-03 20:22:07 +00:00
Justin Forseth
76b4adf276
fix: Adjust the zoom level ( #24353 )
...
Adjust the zoom level
2025-12-03 14:19:57 -06:00
Alex
75dde0d076
fix: exposure info and better readability ( #24344 )
...
fix: exposure info and better readabilit
2025-12-03 20:19:45 +00:00
Mert
cffb68d1c4
fix(server): do not delete offline assets ( #24355 )
...
* do not delete isOffline assets
* update sql
* add medium test
* add normal delete test
* formatting
2025-12-03 14:19:26 -06:00
Jason Rasmussen
45f68f73a9
feat: queue detail page ( #24352 )
2025-12-03 13:39:32 -05:00
renovate[bot]
4f93eda8d8
fix(deps): update typescript-projects ( #24329 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-12-02 23:28:12 +01:00
Alex
f5df5fa98d
chore: change workflow column name ( #24349 )
...
chore-change-workflow-column-name
2025-12-02 14:40:17 -06:00
renovate[bot]
f07d1441ea
chore(deps): update github-actions ( #24331 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 20:13:02 +01:00
Jonathan Jogenfors
1bcf28c062
chore(server): sidecars in asset_files ( #21199 )
...
* fix: sidecar check job
* feat: move sidecars to asset_files
* feat: combine with handleSidecarCheck
* fix(server): improved method signatures for stack and sidecar copying
* fix(server): improved method signatures for stack and sidecar copying
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2025-12-02 13:31:43 -05:00
Jonathan Jogenfors
62628dfcfa
fix(web): folder view sort oder ( #24337 )
...
fix: folder view sort oder
2025-12-02 11:48:12 -06:00
Hai Sullivan
b11aecd184
fix(mobile): use correct timezone displayed in the info sheet ( #24310 )
...
* fixed the timezone issue in the Immich mobile app's metadata sheet to match the web app's behavior
* format dart
* now uses the shared applyTimezoneOffset() utility function from mobile/lib/utils/timezone.dart
* add tests
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-02 16:37:19 +00:00
Jason Rasmussen
116012f6f8
feat: less asset-metadata validation ( #24342 )
2025-12-02 10:56:31 -05:00
renovate[bot]
7594136050
chore(deps): update dependency express to v5.2.0 [security] ( #24323 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 09:27:12 -05:00
renovate[bot]
bb341cc774
chore(deps): update docker.io/valkey/valkey docker tag to v9 ( #24336 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 09:26:39 -05:00
Dionysius
af1d4afb95
fix(docs): server and machine-learning use IMMICH_HOST and IMMICH_PORT ( #24335 )
2025-12-02 09:25:39 -05:00
renovate[bot]
75b1ef2c57
chore(deps): update machine-learning ( #24334 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 01:01:17 -05:00
renovate[bot]
1e37f7c8c8
chore(deps): update dependency nodemailer to v7.0.11 [security] ( #24330 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-01 23:16:59 -05:00
Yaros
a32f450059
feat(mobile): persist album sorting & layout in settings ( #22133 )
...
* fix(mobile): persist album sorting in settings
* fix(mobile): persist album layout
* fix: fixed store model id
* fix: corrupted AppSettingsEnum
* chore: refactor to remove RemoteAlbumSortMode
* refactor: use t instead of tr
2025-12-01 20:51:35 -06:00
carbonemys
b452ab463b
fix(web): open onboarding documentation link in new tab ( #24289 )
...
* fix(web): open onboarding documentation link in new tab
* Update web/src/lib/components/onboarding-page/onboarding-storage-template.svelte
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2025-12-01 20:49:31 -06:00
Sergey Katsubo
79bed80226
feat(server): log all thumbnail generation attempts at verbose level ( #24324 )
...
Log thumbnail generation at verbose level
2025-12-01 20:26:13 -06:00
Mert
6249996cdb
fix(ml): do not upscale preview ( #24322 )
...
do not upscale
2025-12-01 20:26:01 -06:00
Jonathan Jogenfors
a3f281caa3
docs(faq): add more info on archiving ( #24326 )
...
docs: add more info on archive to faq
2025-12-01 20:25:31 -06:00
Mert
7c19b0591f
fix(server): cjk migration ( #24320 )
...
* join string
* use pagination instead
2025-12-01 15:41:19 -06:00
Mert
95c29a8aea
fix(server): use bigrams for cjk ( #24285 )
...
* use bigrams for cjk
* update sql
* linting
* actually migrate ocr
* fix backwards test
* use array
* tweaks
2025-12-01 17:24:37 +00:00
idubnori
d8ca210641
chore(web): minor UX improvements of "view asset owners" feature ( #24319 )
...
* feat: toggle in options modal
* feat(i18n): add labels to display who uploaded each asset and show asset owners
* feat: migrate asset owner settings to TimelineManager and update AlbumOptionsModal
* Revert "feat(i18n): add labels to display who uploaded each asset and show asset owners"
This reverts commit cf8f4eb135 .
* fix: simplify AlbumOptionsModal invocation and update aria-label for asset owners
* feat(i18n): add label for viewing asset owners in the interface
* feat: add tests for showAssetOwners functionality in TimelineManager
* chore: move asset owner visibility toggle to kebabu menu
2025-12-01 10:25:12 -06:00
Min Idzelis
ab35afd3b1
refactor(web): reimplement operation-support as part of timeline-manager ( #24056 )
...
* refactor(web): reimplement operation-support as part of timeline-manager
Improve clarity of methods.
Add inline method documentation.
Make return type of AssetOperation optional.
* Review comments - self document code. remove optional return from callback
2025-12-01 09:04:39 -06:00
idubnori
65e4fdf98d
refactor(web): i18n-ize "view asset owners" ( #24317 )
2025-12-01 15:01:57 +00:00
Matthew Momjian
fa43fae2a5
fix(mobile): docs link ( #24277 )
...
update docs link
2025-11-30 13:01:33 -06:00
Alex
46afd6a101
fix: only generate memory based on users assets ( #24151 )
2025-11-30 13:01:12 -06:00
Hai Sullivan
46e1967760
chore: optimisation of several UI components of the mobile app ( #24098 )
...
* fix(mobile): normalize scrolling behavior in networking settings
Remove ClampingScrollPhysics from networking settings page to match
the scrolling behavior of other settings pages. This restores the
standard iOS bounce/elastic scrolling effect.
* fix(mobile): use consistent native transitions for Library pages
Change Trash, Shared Links, and Folders routes from CustomRoute to AutoRoute to enable native iOS transitions with swipe-back gesture support.
* fix(mobile): remove SafeArea wrapper and ClampingScrollPhysics from Settings
Remove SafeArea wrapper (Scaffold handles safe areas automatically) and ClampingScrollPhysics to enable native iOS bounce scrolling.
* fix(mobile): remove bottom white space in Sync Status page
Replace Padding wrapper with ListView padding to match other Settings pages and eliminate bottom white space.
* chore: fix Dart formatting
Run dart format to fix formatting issues in settings.page.dart and sync_status_and_actions.dart
* Format Dart files
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: kao-byte <benjaminliu@MacBook-Air.local >
2025-11-30 13:01:01 -06:00
Chris Peckover
922282b2b4
feat(web): Shared album owner labels ( #21171 )
...
* - pass available album users along to the thumbnail through the asset-date-group
- show a small user-avatar in bottom right of thumbnail
* - change owner to their name in white text instead of the avatar
* cleanup
* - cleanup albumUsers creation
- use font-light for the user's name
* fix lint
* format
* - add toggle to show/hide asset owner names
* update new Timeline with albumUsers
* add @idubnori suggestion for the name font
* Don't show 'view owners' button if the album doesn't have editors
* add missing import
* format
* fix(web): #21171 (#24298 )
fix: Bind timelineManager to Timeline component
---------
Co-authored-by: idubnori <i.dub.nori@gmail.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-11-30 18:56:03 +00:00
Alex
e3ab16a5bd
chore: refactor mobile events ( #24263 )
...
chore: refactor mobile evets
2025-11-30 12:43:33 -06:00
Niklas von Moers
08f320c801
fix(web): use full tag path when creating nested subtags ( #24249 )
2025-11-29 12:09:32 +00:00
Mees Frensel
e36261b552
fix(web): integrate zoom toggle button into panorama photo viewer ( #24189 )
2025-11-28 18:50:16 +01:00
Daniel Dietzler
c0a3b58bba
fix: rare cases of assets not loading in when scrolling backwards ( #24245 )
2025-11-28 10:18:49 -06:00
Yaros
f12f609038
fix(mobile): enable backup text overflows ( #24227 )
2025-11-28 10:18:44 -06:00
renovate[bot]
1f6eb662e5
chore(deps): update dependency opentofu to v1.10.7 ( #23964 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-28 14:41:23 +00:00
renovate[bot]
0c1fe35f2f
chore(deps): update dependency terragrunt to v0.93.10 ( #24149 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-28 15:17:25 +01:00
Robert Schäfer
e98a33cf9d
fix(docs): build cli for e2e tests ( #24184 )
2025-11-28 15:11:17 +01:00
Dionysius
d38305360c
docs: DB_STORAGE_TYPE is only used by the database container ( #24215 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-11-28 12:43:48 +00:00
Tijs
3e3ca4c104
feat(server): exclude syncthing folders from external libraries ( #24240 )
...
* Add SyncThing folders to External library exclusion
SyncThing is a popular library for syncing files (like pictures) between systems. It can really mess up your library if an external library, which is also used by SyncThing, is added and these folders are not excluded.
* Plural
* fix formatting
---------
Co-authored-by: Jonathan Jogenfors <jonathan@jogenfors.se >
2025-11-28 11:40:33 +00:00
Jacob Bundgaard
81edf0749f
fix: label 'for' attributes in user-api-key-grid ( #24232 )
2025-11-27 23:28:38 +00:00
renovate[bot]
01f83ae964
fix(deps): update dependency exiftool-vendored to v33 ( #24172 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-11-27 21:45:35 +00:00
renovate[bot]
5eec0dc981
chore(deps): update github-actions ( #24038 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 21:41:41 +00:00
renovate[bot]
ca4fd07656
chore(deps): update dependency eslint-plugin-unicorn to v62 ( #24167 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-11-27 21:31:16 +00:00
renovate[bot]
7ce43b3824
chore(deps): update dependency node-gyp to v12 ( #24168 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 16:13:57 +01:00
Daniel Dietzler
ce00119926
chore: update sharp to 0.34.5 ( #24170 )
2025-11-27 15:13:16 +00:00
Daniel Dietzler
fffee80e2f
feat: command palette ( #23693 )
2025-11-26 22:18:50 +01:00
Jason Rasmussen
64cd4e96e3
fix: theme switcher ( #24209 )
2025-11-26 21:17:26 +00:00
renovate[bot]
955a3bfaa6
chore(deps): update base-image to v202511261514 (major) ( #24165 )
...
chore(deps): update base-image to v202511261514
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 15:10:48 -05:00
renovate[bot]
e699d8f170
chore(deps): update machine-learning ( #23352 )
2025-11-26 19:09:39 +00:00
Jason Rasmussen
13104d49cd
feat(web): shared link card tweaks ( #24192 )
2025-11-25 19:35:21 -06:00
Jason Rasmussen
2d5ec528d5
fix(web): user admin pages ( #24185 )
...
fix: user admin pages
2025-11-25 16:35:37 -05:00
Min Idzelis
5226898184
fix: update timeline-manager after archive actions ( #24010 )
...
* fix: update timeline-manager after archive actions
* Add locators to thumb icons
2025-11-25 15:06:29 -05:00
Luka Prebil Grintal
dd4169876c
fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures ( #24045 )
...
* fix: update ONNX runtime version to 1.21.0 to fix the failing checksum of 1.20.1
* update patch
* update to 1.22.1
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-11-25 13:27:21 -05:00
renovate[bot]
8321c275b8
chore(deps): update dependency body-parser to v2.2.1 [security] ( #24179 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 18:29:13 +01:00
renovate[bot]
3d6c26350a
fix(deps): update typescript-projects ( #24163 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-11-25 17:26:36 +00:00
Jason Rasmussen
db15e5e423
fix: duration extraction ( #24178 )
2025-11-25 10:26:25 -05:00
renovate[bot]
35d18da14a
chore(deps): update node to v24 (major) ( #24169 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 15:40:48 +01:00
renovate[bot]
cb56a11f0b
chore(deps): update dependency @types/archiver to v7 ( #24166 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 15:40:12 +01:00
Jason Rasmussen
104fa09f69
feat: queues ( #24142 )
2025-11-25 08:19:40 -05:00
Alex
66ae07ee39
fix: don't get OCR data in shared link ( #24152 )
2025-11-25 07:58:27 -05:00
Daniel Dietzler
939d2c8b27
chore: minor admin pages refactorings ( #24160 )
2025-11-25 07:57:30 -05:00
renovate[bot]
2801a6e672
chore(deps): update actions/download-artifact action to v6 ( #24164 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 13:46:34 +01:00
renovate[bot]
4742360469
chore(deps): update grafana/grafana docker tag to v12.3.0 ( #24162 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 13:45:50 +01:00
Daniel Dietzler
b56fa62b32
fix: revert "chore(deps): update dependency sharp to v0.34.5" ( #24173 )
2025-11-25 12:37:08 +00:00
renovate[bot]
ddbe485074
chore(deps): update dependency sharp to v0.34.5 ( #24146 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 11:56:11 +01:00
renovate[bot]
01310c6d86
chore(deps): update node.js to v24.11.1 ( #24147 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 11:55:36 +01:00
Brandon Wees
512327ef69
feat: java in mise ( #24154 )
2025-11-24 23:18:44 -06:00
Daniel Dietzler
8755cd59fd
chore: refactor svelte reactivity ( #24072 )
2025-11-24 18:57:46 -05:00
Min Idzelis
7694b342ed
refactor(web): Extract asset grid layout component from TimelineDateGroup and split into AssetLayout and Month components ( #23338 )
...
* refactor(web): Extract asset grid layout component from TimelineDateGroup and split into AssetLayout and Month components
* chore: cleanup
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2025-11-24 23:09:46 +00:00
fabianbees
78553a0258
feat: separate camera and lens info in detail panel ( #23670 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-11-24 16:30:15 +00:00
renovate[bot]
c1198b99b7
chore(deps): update dependency js-yaml to v4.1.1 [security] ( #23901 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 17:28:18 +01:00
renovate[bot]
8b7b9ee394
chore(deps): update dependency esbuild to ^0.25.0 [security] ( #23903 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 17:27:46 +01:00
Min Idzelis
d6b39a464d
feat: improve performance: don't sort timeline buckets from server ( #24032 )
2025-11-24 17:26:52 +01:00
Snowknight26
75d23fe135
fix(web): fix support & feedback modal wrapping ( #24018 )
...
* fix(web): fix support & feedback modal wrapping
* Fix reference
2025-11-24 10:24:02 -06:00
shenlong
c860809aa1
fix: getAspectRatio fallback to db width and height ( #24131 )
...
fix: getExif fallback to db width and height
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-24 10:23:17 -06:00
Daniel Dietzler
0498f6cb9d
fix: albums page reactivity loops ( #24046 )
2025-11-24 17:14:24 +01:00
shenlong
24e5dabb51
fix: use proper updatedAt value in local assets ( #24137 )
...
* fix: incorrect updatedAt value in local assets
* add test
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-24 09:49:27 -06:00
Greg Lutostanski
aecf064ec9
fix(server): sanitize DB_URL for pg_dumpall to remove unknown query params ( #23333 )
...
Co-authored-by: Greg Lutostanski <greg.lutostanski@mobilityhouse.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-11-24 16:34:21 +01:00
Daniel Dietzler
57be3ff8c7
fix: add users to album ( #24133 )
2025-11-24 07:52:36 -05:00
Ujjwal Goel
99505f987e
fix: use npm instead of pnpm and fix check:all ( #24101 )
...
* fix: use npm instead of pnpm and fix `check:all`
* fix: remove `--` from pnpm commands
* Remove `check:all` from the documentation section
2025-11-23 21:04:43 -06:00
Lukas
1e1c4ac9d2
feat(web): allow navigating the map with arrow keys ( #24080 )
2025-11-21 23:46:30 +01:00
Mees Frensel
d952b62053
feat(web): show detected faces in spherical photos ( #23974 )
2025-11-21 09:11:47 -06:00
Yaros
9f3eeed091
fix(mobile): first video memory on page doesn't play ( #23906 )
...
* fix(mobile): first video memory doesn't play
* refactor: moved logic to static method
* refactor: fix haptic feedback & empty check
* refactor: use DriftMemory on setMemory
* refactor: move video reset into if block
2025-11-21 09:11:30 -06:00
Brandon Wees
1dbc20fd77
fix: show archived assets in favorite page ( #24052 )
2025-11-21 09:09:16 -06:00
Joren Guillaume
ba8df712c4
fix: Use correct app store link ( #24062 )
2025-11-21 13:54:09 +01:00
renovate[bot]
741d838f56
chore(deps): update base-image to v202511181104 (major) ( #24050 )
...
chore(deps): update base-image to v202511181104
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 15:40:40 -06:00
Brandon Wees
ec2fa6e308
fix: disable animation "add to" action menu ( #24040 )
2025-11-20 11:54:15 -06:00
shenlong
b974ed5735
fix: do not clear hash on updated_at change ( #24039 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-20 11:31:17 -06:00
Daniel Dietzler
78457d9b89
chore: add new language requests ( #23991 )
2025-11-20 08:58:18 -05:00
bo0tzz
5d043b435e
fix: hardcoded build-cache pull for e2e tests ( #24002 )
2025-11-20 14:22:45 +01:00
Jason Rasmussen
9a403d5886
refactor(web): user delete websocket event ( #24015 )
2025-11-20 07:54:29 -05:00
Jason Rasmussen
1a31faf1a2
fix: effect loop ( #24014 )
2025-11-20 07:52:37 -05:00
github-actions
edbdc14178
chore: version v2.3.1
2025-11-20 02:20:16 +00:00
Alex
e7261a04e1
fix: new update notification cause rendering loop ( #24013 )
2025-11-19 20:14:30 -06:00
Jason Rasmussen
acded69adf
fix: supporter badge ( #24012 )
2025-11-19 20:14:15 -06:00
github-actions
45a0315606
chore: version v2.3.0
2025-11-19 17:46:53 +00:00
Weblate (bot)
3856d4053c
chore(web): update translations ( #23449 )
...
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/be/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bi/
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/da/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
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/fa/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
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/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
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/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
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/ta/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/te/
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/uk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/
Translation: Immich/immich
Co-authored-by: 100daysummer <bobbydochev@gmail.com >
Co-authored-by: Abhijeet Bonde <abhijeetbonde19@gmail.com >
Co-authored-by: AbuKareem Tuffaha <abukareem.tuffaha@gmail.com >
Co-authored-by: Adam Uchmanowicz <auchmanowicz@gmail.com >
Co-authored-by: Adrian Jost <github@adrianjost.dev >
Co-authored-by: Aitor-RM <Aitor.Rufian@alu.uclm.es >
Co-authored-by: Alexander Lohnes <alex.lohnes@googlemail.com >
Co-authored-by: Alexis-Loskoutoff <alexis@pctraining.fr >
Co-authored-by: Alma Hassan <almahassan9988@gmail.com >
Co-authored-by: AndreiP28 <andreiprica28@gmail.com >
Co-authored-by: Artur Koziara <arturkoziara@gmail.com >
Co-authored-by: Bryan Saputra <bryananta@icloud.com >
Co-authored-by: Carlo_Mava <carlomavaracchio@gmail.com >
Co-authored-by: Cristian Florin Tănase <crissssty@gmail.com >
Co-authored-by: Cristiano Fagundes <fagundescristianof@gmail.com >
Co-authored-by: Daniel Rieiro <daniel@danielrieiro.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Fred <freddyfunk@users.noreply.hosted.weblate.org >
Co-authored-by: Hossein Fani <linr@users.noreply.hosted.weblate.org >
Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jesús Jiménez <jesjimenez@gmail.com >
Co-authored-by: Johannes Dorn <johannes@dorn.email >
Co-authored-by: Jordy H <jordy@hoebergen.net >
Co-authored-by: Jorge Tristan <trisjor1998@gmail.com >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Juanma Sanchez <juxmix@gmail.com >
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk >
Co-authored-by: Kai Heine <kai-heine@users.noreply.hosted.weblate.org >
Co-authored-by: Knight Hat <knightchanelgaming@gmail.com >
Co-authored-by: Krissada Singhakachain <46844213+OmsinKrissada@users.noreply.github.com >
Co-authored-by: Leigh van der merwe <palitu822@gmail.com >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Luca Segato <luspy89@hotmail.it >
Co-authored-by: Lucas Jaksys <lucas3033@gmail.com >
Co-authored-by: Luís Nunes <lmcnunes@gmail.com >
Co-authored-by: Macgyver <macgyver@users.noreply.hosted.weblate.org >
Co-authored-by: Marc Casillas <mcasillassu@gmail.com >
Co-authored-by: Marco Perrotta <leondaval18@gmail.com >
Co-authored-by: MatijaThe245th <matija245matakovic@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Matteo D. <alex3025game@gmail.com >
Co-authored-by: Matteo De Carli <matteo.de.carli01@gmail.com >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Melvin Snijders <mail@melvinsnijders.nl >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Parms <shoppingpar+weblate@simplelogin.com >
Co-authored-by: Paul <paul.kunad@kabelmail.de >
Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org >
Co-authored-by: Philip Goto <philip.goto@gmail.com >
Co-authored-by: Pitoune <p.dhebrail@proton.me >
Co-authored-by: Ponas <le.slab124@aleeas.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Rasmus Sehlin <rasmus@sehl.in >
Co-authored-by: Richard Gráčik <r.gracik@gmail.com >
Co-authored-by: Roi Gabay <roigby@gmail.com >
Co-authored-by: Runskrift <anders@rimfrost.nu >
Co-authored-by: Ryan Gleeson <gleeson.ryanj@gmail.com >
Co-authored-by: S M, Aravinth (A.) <asm1@ford.com >
Co-authored-by: Sai Athulith Neela <saiathulithn@gmail.com >
Co-authored-by: Sebastiano <sebastiano.romi@gmail.com >
Co-authored-by: Sergey Katsubo <skatsubo@gmail.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Tanishq <weblate.impure434@passinbox.com >
Co-authored-by: Tatsuhiko Kono <kono@takenoko.io >
Co-authored-by: Tedy25879 <tedy25879@gmail.com >
Co-authored-by: Thanh Tùng Nguyễn <tung.nguyent03@gmail.com >
Co-authored-by: Toine Rademacher <hi@toine.zip >
Co-authored-by: Tomi Pöyskö <tomi.poysko@gmail.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: anton garcias <isaga.percompartir@gmail.com >
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org >
Co-authored-by: gablilli <gabriele.lilli0511@gmail.com >
Co-authored-by: kiwinho <kiwicaja@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: r64 <me@ruka64.dev >
Co-authored-by: ruka-64 <202770393+ruka-64@users.noreply.github.com >
Co-authored-by: sam ng <andy.sam@gmail.com >
Co-authored-by: sh4tteredd <llor22658@gmail.com >
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com >
Co-authored-by: swever <swever@users.noreply.hosted.weblate.org >
Co-authored-by: thehijacker <thehijacker@gmail.com >
Co-authored-by: ti-guru <anders.egeland@outlook.com >
Co-authored-by: ume <bungoume@gmail.com >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
2025-11-19 17:44:39 +00:00
bo0tzz
8175b3b75b
fix: allow adding new translations files ( #23998 )
2025-11-19 16:00:01 +00:00
Alex
56e431226f
feat: show OCR bounding box ( #23717 )
...
* feat: ocr bounding box
* bounding boxes
* pr feedback
* pr feedback
* allow copy across text boxes
* pr feedback
2025-11-19 15:52:40 +00:00
Daniel Dietzler
f59417cc77
chore(web): refactor replace asset ( #23972 )
2025-11-19 08:49:15 -06:00
Min Idzelis
11cec56e80
refactor(web): consolidate timeline API - merge addAssets/updateAssets into upsertAssets ( #23985 )
2025-11-19 08:48:16 -06:00
bo0tzz
810f22057c
fix: create release as draft ( #23996 )
2025-11-19 14:46:14 +00:00
Min Idzelis
2152f20b6c
fix: unarchive action doesn't update archive page ( #23987 )
2025-11-19 12:29:02 +01:00
Matthew Momjian
a6c76e78d6
fix(docs): update Readme links ( #23959 )
...
* fix(docs): Update star history links and image sources
* Update star history link in README.md
2025-11-18 21:32:11 -06:00
renovate[bot]
644a3bf090
chore(deps): update github-actions ( #23962 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-18 21:32:00 -06:00
Min Idzelis
42dd3315f8
refactor(web): fix TimelineManager import - use value import instead of type-only ( #23983 )
2025-11-18 21:26:15 -06:00
Kevin Puertas
3a694219bf
feat: add originalPath for external library assets in dedupe ( #23710 )
...
* Add original path info row to duplicate asset component
View path of images, useful when using external Library
* Make if for not show path in internal images
* Update web/src/lib/components/utilities-page/duplicates/duplicate-asset.svelte
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* Refactor original path display logic in duplicate-asset
* Update duplicate-asset.svelte
* Add full path localization string
* Change translated data
* format: fix
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-11-19 03:24:17 +00:00
Min Idzelis
d9fd52ea18
feat: timeline e2e tests ( #23895 )
...
* feat: timeline e2e tests
* Fix flakiness, mock all apis, allow parallel tests
* Upload playwright reports
* wrong report path
* Add CI=true, disable flaky/failing tests
* Re-enable tests, fix worker thread config
* fix maintance e2e test
* increase retries
2025-11-18 21:08:55 -06:00
Brandon Wees
2a281e7906
feat(mobile): location edit from asset viewer ( #23925 )
...
* chore: break sheet tile into own file
* feat: set location from bottom sheet
* refactor: location picker
There was a lot of confusing controls here, simplified to 1 mode
* fix: local asset check
* chore: refactoring of location details widget
* fix: update currentAssetExifProvider when changing location
* chore: use SheetTile for location header
* chore: remove coordinate change check
* chore: remove comment
2025-11-18 21:06:51 -06:00
Daniel Dietzler
5f987a95f5
fix: feature flags manager race condition ( #23973 )
...
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-11-19 03:05:53 +00:00
bo0tzz
edf577d7f7
feat: publish on release pr merge ( #23867 )
2025-11-18 21:03:49 -06:00
Sergey Katsubo
5e482dabc6
feat(server): support running medium tests in devcontainer ( #23882 )
...
* Support running medium tests in devcontainer
* Add "pnpm run test:medium" to the devcontainer doc
* Fix indentation for inline comments in the doc
* Fix a couple of words in the doc
2025-11-18 21:03:21 -06:00
Mees Frensel
76c73549ae
feat(web): always view original of animated images ( #23842 )
2025-11-18 21:02:52 -06:00
Mees Frensel
271a42ac7f
fix(server): copy relevant panorama tags to preview image ( #23953 )
2025-11-19 03:02:12 +00:00
bo0tzz
4462952564
fix: proper docker caching for plugin mise deps ( #23967 )
...
* fix: proper docker caching for plugin mise deps
* fix: mount mise cache for build too
2025-11-19 03:00:03 +00:00
shenlong
38d4d1a573
chore: reset remote sync on app update ( #23969 )
...
reset remote sync on update
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-19 02:55:01 +00:00
Daniel Dietzler
d310c6f3cd
feat: library details page ( #23908 )
...
* feat: library details page
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2025-11-18 15:27:41 -05:00
Alex
c086a65fa8
chore: update drift ( #23877 )
...
* chore: update drift
* update drift dep
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-18 16:07:33 +00:00
renovate[bot]
7134dd29ca
chore(deps): pin ghcr.io/jdx/mise docker tag to ac26f59 ( #23961 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-18 12:21:28 +01:00
renovate[bot]
3e08953a43
chore(deps): update dependency @types/node to ^22.19.1 ( #23963 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-18 12:20:52 +01:00
Min Idzelis
58c3c7e26b
feat: run e2e server in dev mode ( #23921 )
...
* feat: run e2e server in dev mode
* Use bash syntax: [[ and ==
2025-11-17 14:16:39 -06:00
Min Idzelis
237ddcb648
fix: incorrect header height calculation in estimated month height ( #23923 )
2025-11-17 14:14:06 -06:00
Min Idzelis
fbaeffd65c
fix: flaky user-admin.e2e-spec.ts ( #23929 )
...
* fix: flaky user-admin.e2e-spec.ts
* lint
2025-11-17 14:12:44 -06:00
Min Idzelis
d64c339b4f
fix: null dereference when canceling bucket in album ( #23924 )
2025-11-17 14:12:28 -06:00
Min Idzelis
69880ee165
fix: deep link to last asset ( #23920 )
2025-11-17 14:12:07 -06:00
Paul Makles
15e00f82f0
feat: maintenance mode ( #23431 )
...
* feat: add a `maintenance.enabled` config flag
* feat: implement graceful restart
feat: restart when maintenance config is toggled
* feat: boot a stripped down maintenance api if enabled
* feat: cli command to toggle maintenance mode
* chore: fallback IMMICH_SERVER_URL environment variable in process
* chore: add additional routes to maintenance controller
* fix: don't wait for nest application to close to finish request response
* chore: add a failsafe on restart to prevent other exit codes from preventing restart
* feat: redirect into/from maintenance page
* refactor: use system metadata for maintenance status
* refactor: wait on WebSocket connection to refresh
* feat: broadcast websocket event on server restart
refactor: listen to WS instead of polling
* refactor: bubble up maintenance information instead of hijacking in fetch function
feat: show modal when server is restarting
* chore: increase timeout for ungraceful restart
* refactor: deduplicate code between api/maintenance workers
* fix: skip config check if database is not initialised
* fix: add `maintenanceMode` field to system config test
* refactor: move maintenance resolution code to static method in service
* chore: clean up linter issues
* chore: generate dart openapi
* refactor: use try{} block for maintenance mode check
* fix: logic error in server redirect
* chore: include `maintenanceMode` key in e2e test
* chore: add i18n entries for maintenance screens
* chore: remove negated condition from hook
* fix: should set default value not override in service
* fix: minor error in page
* feat: initial draft of maintenance module, repo., worker controller, worker service
* refactor: move broadcast code into notification service
* chore: connect websocket on client if in maintenance
* chore: set maintenance module app name
* refactor: rename repository to include worker
chore: configure websocket adapter
* feat: reimplement maintenance mode exit with new module
* refactor: add a constant enum for ExitCode
* refactor: remove redundant route for maintenance
* refactor: only spin up kysely on boot (rather than a Nest app)
* refactor(web): move redirect logic into +layout file where modal is setup
* feat: add Maintenance permission
* refactor: merge common code between api/maintenance
* fix: propagate changes from the CLI to servers
* feat: maintenance authentication guard
* refactor: unify maintenance code into repository
feat: add a step to generate maintenance mode token
* feat: jwt auth for maintenance
* refactor: switch from nest jwt to just jsonwebtokens
* feat: log into maintenance mode from CLI command
* refactor: use `secret` instead of `token` in jwt terminology
chore: log maintenance mode login URL on boot
chore: don't make CLI actions reload if already in target state
* docs: initial draft for maintenance mode page
* refactor: always validate the maintenance auth on the server
* feat: add a link to maintenance mode documentation
* feat: redirect users back to the last page they were on when exiting maintenance
* refactor: provide closeFn in both maintenance repos.
* refactor: ensure the user is also redirected by the server
* chore: swap jsonwebtoken for jose
* refactor: introduce AppRestartEvent w/o secret passing
* refactor: use navigation goto
* refactor: use `continue` instead of `next`
* chore: lint fixes for server
* chore: lint fixes for web
* test: add mock for maintenance repository
* test: add base service dependency to maintenance
* chore: remove @types/jsonwebtoken
* refactor: close database connection after startup check
* refactor: use `request#auth` key
* refactor: use service instead of repository
chore: read token from cookie if possible
chore: rename client event to AppRestartV1
* refactor: more concise redirect logic on web
* refactor: move redirect check into utils
refactor: update translation strings to be more sensible
* refactor: always validate login (i.e. check cookie)
* refactor: lint, open-api, remove old dto
* refactor: encode at point of usage
* refactor: remove business logic from repositories
* chore: fix server/web lints
* refactor: remove repository mock
* chore: fix formatting
* test: write service mocks for maintenance mode
* test: write cli service tests
* fix: catch errors when closing app
* fix: always report no maintenance when usual API is available
* test: api e2e maintenance spec
* chore: add response builder
* chore: add helper to set maint. auth cookie
* feat: add SSR to maintenance API
* test(e2e): write web spec for maintenance
* chore: clean up lint issues
* chore: format files
* feat: perform 302 redirect at server level during maintenance
* fix: keep trying to stop immich until it succeeds (CLI issue)
* chore: lint/format
* refactor: annotate references to other services in worker service
* chore: lint
* refactor: remove unnecessary await
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* refactor: move static methods into util
* refactor: assert secret exists in maintenance worker
* refactor: remove assertion which isn't necessary anymore
* refactor: remove assertion
* refactor: remove outer try {} catch block from loadMaintenanceAuth
* refactor: undo earlier change to vite.config.ts
* chore: update tests due to refactors
* revert: vite.config.ts
* test: expect string jwt
* chore: move blanket exceptions into controllers
* test: update tests according with last change
* refactor: use respondWithCookie
refactor: merge start/end into one route
refactor: rename MaintenanceRepository to AppRepository
chore: use new ApiTag/Endpoint
refactor: apply other requested changes
* chore: regenerate openapi
* chore: lint/format
* chore: remove secureOnly for maint. cookie
* refactor: move maintenance worker code into src/maintenance\nfix: various test fixes
* refactor: use `action` property for setting maint. mode
* refactor: remove Websocket#restartApp in favour of individual methods
* chore: incomplete commit
* chore: remove stray log
* fix: call exitApp from maintenance worker on exit
* fix: add app repository mock
* fix: ensure maintenance cookies are secure
* fix: run playwright tests over secure context (localhost)
* test: update other references to 127.0.0.1
* refactor: use serverSideEmitWithAck
* chore: correct the logic in tryTerminate
* test: juggle cookies ourselves
* chore: fix lint error for e2e spec
* chore: format e2e test
* fix: set cookie secure/non-secure depending on context
* chore: format files
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2025-11-17 17:15:44 +00:00
Jason Rasmussen
ce82e27f4b
fix: workflow medium tests ( #23952 )
2025-11-17 16:26:30 +00:00
Yaros
eeee5147cc
fix(mobile): delete from device warning shows incorrectly ( #23935 )
...
fix(mobile): delete warning on multiple assets
2025-11-17 10:17:04 -06:00
100daysummer
af22f9b014
fix: word wrap on custom link preview ( #23942 )
...
Word break fix in create link
Adds the "break-all" tailwind style to the slug text under the custom link text box
2025-11-17 08:49:32 -05:00
Paul Makles
1086f22166
fix: devcontainer server not starting due to missing plugins mount ( #23948 )
2025-11-17 12:24:59 +01:00
Christian
e94eb5012f
feat(mobile): add to album from asset viewer ( #23608 )
...
* feat: add action button in photo viewer for adding assets to albums, archiving, and moving to locked folders
* fix: use const constructors for icons in action button menu
* Update mobile/lib/presentation/widgets/action_buttons/add_action_button.widget.dart
Co-authored-by: Brandon Wees <brandonwees@gmail.com >
* Update mobile/lib/presentation/widgets/asset_viewer/bottom_bar.widget.dart
Co-authored-by: Brandon Wees <brandonwees@gmail.com >
* remove de translation
* fixed PR comments: https://github.com/immich-app/immich/pull/23608
* menu styling
* menu styling
* i18n
---------
Co-authored-by: Brandon Wees <brandonwees@gmail.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-11-14 15:11:47 -06:00
Alex
4dcc049465
feat: workflow foundation ( #23621 )
...
* feat: plugins
* feat: table definition
* feat: type and migration
* feat: add repositories
* feat: validate manifest with class-validator and load manifest info to database
* feat: workflow/plugin controller/service layer
* feat: implement workflow logic
* feat: make trigger static
* feat: dynamical instantiate plugin instances
* fix: access control and helper script
* feat: it works
* chore: simplify
* refactor: refactor and use queue for workflow execution
* refactor: remove unsused property in plugin-schema
* build wasm in prod
* feat: plugin loader in transaction
* fix: docker build arm64
* generated files
* shell check
* fix tests
* fix: waiting for migration to finish before loading plugin
* remove context reassignment
* feat: use mise to manage extism tools (#23760 )
* pr feedback
* refactor: create workflow now including create filters and actions
* feat: workflow medium tests
* fix: broken medium test
* feat: medium tests
* chore: unify workflow job
* sign user id with jwt
* chore: query plugin with filters and action
* chore: read manifest in repository
* chore: load manifest from server configs
* merge main
* feat: endpoint documentation
* pr feedback
* load plugin from absolute path
* refactor:handle trigger
* throw error and return early
* pr feedback
* unify plugin services
* fix: plugins code
* clean up
* remove triggerConfig
* clean up
* displayName and methodName
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: bo0tzz <git@bo0tzz.me >
2025-11-14 20:05:05 +00:00
Jason Rasmussen
d784d431d0
refactor: job vs queue naming ( #23902 )
2025-11-14 14:42:00 -05:00
Daniel Dietzler
1200bfad13
refactor: server config and feature flags managers ( #23894 )
2025-11-14 14:10:44 -05:00
Jason Rasmussen
f11bfb9581
fix(server): broken memories ( #23896 )
2025-11-14 11:46:32 -05:00
Daniel Dietzler
074fdb2b96
fix: out of sync pnpm lockfile ( #23891 )
2025-11-14 12:13:09 +01:00
Daniel Dietzler
f1f203719d
refactor: admin settings ( #23843 )
2025-11-13 13:17:44 -05:00
zebrapurring
f73ca9d9c0
chore: build bcrypt dependency from source ( #22145 )
...
This may provide better performance on some cases and guarantee cross-platform compatibility
Co-authored-by: zebrapurring <>
2025-11-13 12:12:01 -05:00
renovate[bot]
ad3f4fb434
chore(deps): update dependency validator to v13.15.20 [security] ( #23284 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-13 17:37:51 +01:00
Juan Roa
8001dedcbf
fix(web): keep album timeline when selecting cover ( #23819 )
2025-11-13 16:30:24 +00:00
Hritik V
07a39226c5
chore: include link to discord server when referencing contribution channel ( #23728 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-11-13 16:27:26 +00:00
shenlong
88e7e21683
fix: prefer filename from body over path in mime validation ( #23810 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-13 17:26:34 +01:00
idubnori
2cefbf8ca3
chore: add "pnpm run migrations:revert" command ( #23869 )
2025-11-13 10:12:59 -06:00
Jason Rasmussen
4a6c50cd81
feat: endpoint versioning ( #23858 )
2025-11-13 08:18:43 -05:00
Daniel Dietzler
e0535e20e6
chore: cleanup web ( #23866 )
2025-11-13 12:51:17 +00:00
bo0tzz
62580455af
fix: use changelog file instead of PR body ( #23864 )
2025-11-13 10:35:30 +00:00
Daniel Dietzler
0e7e67efe1
fix: timeline scroll after navigate ( #23664 )
2025-11-13 11:28:42 +01:00
Sergey Katsubo
2c54b506b3
fix(server): include the previous year in memories for January 1, 2, 3 ( #23832 )
...
* Test memory creation in advance
Use year 2035 to make sure it's in the future of current time of a test run
* Use target year instead of current year when fetching assets during memory creation
This fixes an edge case of creating memories in advance when target year is
different from current year.
Example: job runs on 2025-12-31 (current year is 2025) and creates memories
to be shown on 2026-01-01 (target year is 2026). If using _current_ year in
calculation then range of years is capped at (2025 - 1 = 2024) thus excluding
2025-01-01 from created memories. With _target_ year it is (2026 - 1 = 2025),
so 2025-01-01 will be included in memories.
* Update sql queries
2025-11-12 15:38:03 -06:00
Alex
8969b8bdb2
fix: GHA build issue on iOS ( #23849 )
...
* fix: GHA build issue on iOS
* fix: resolve Swift Package dependencies in GitHub Actions
* fix: use Release configuration for iOS build
* fix: simplify code signing for build-only lane
* fix: explicitly resolve Swift packages before building
* fix: use specified XCode version
2025-11-12 15:32:08 -06:00
Alexander Sulfrian
5186092faa
fix: Update module name for rapidocr DownloadFile ( #23838 )
2025-11-12 18:43:00 +00:00
bo0tzz
4c9142308f
fix: use app token for github-script run ( #23852 )
2025-11-12 19:16:09 +01:00
bo0tzz
bea5d4fd37
fix: release-pr workflow fixes ( #23850 )
2025-11-12 18:25:32 +01:00
bo0tzz
74c24bfa88
fix: pump-version.sh flags ( #23848 )
2025-11-12 17:47:52 +01:00
bo0tzz
95834c68d9
fix: bump args order ( #23846 )
2025-11-12 17:31:25 +01:00
bo0tzz
09024c3558
fix: release-pr script name ( #23844 )
2025-11-12 16:24:39 +00:00
bo0tzz
137cb043ef
feat: track next release in pull request ( #23806 )
2025-11-12 17:19:18 +01:00
Mees Frensel
edf21bae41
feat(web): disable searching by disabled features ( #23798 )
...
fix(web): disable searching by disabled features
2025-11-12 09:19:18 -06:00
shenlong
c958f9856d
chore: bump background_downloader ( #23839 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-12 09:17:44 -06:00
Daniel Dietzler
70ab8bc657
refactor: shared links modals ( #23803 )
2025-11-12 12:57:53 +01:00
Jason Rasmussen
edde0f93ae
feat: endpoint descriptions ( #23813 )
2025-11-11 17:01:14 -05:00
Alex
896665bca9
fix: iOS release build dependency verification ( #23814 )
2025-11-11 15:35:44 -06:00
renovate[bot]
e8e9e7830e
chore(deps): update github-actions (major) ( #23812 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: bo0tzz <git@bo0tzz.me >
2025-11-11 20:04:22 +00:00
Mees Frensel
4fd9e42ce5
feat(web): animate gifs on hover ( #23198 )
2025-11-11 10:22:53 -06:00
idubnori
337e3a8dac
feat(mobile): album activity deep link ( #23737 )
...
* feat: add activity deep link support in DeepLinkService
* test: add unit tests for DeepLinkService handling of activity deep links
* Revert "test: add unit tests for DeepLinkService handling of activity deep links"
This reverts commit 0b1914be9a .
2025-11-11 10:04:54 -06:00
renovate[bot]
2dc81e28fc
chore(deps): update github-actions ( #23582 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-11 16:25:36 +01:00
bo0tzz
f915d4cc90
fix: disable ruby updates ( #23794 )
...
Until https://github.com/fastlane/fastlane/issues/29183 is fixed
2025-11-11 14:51:21 +00:00
Mees Frensel
905f4375b0
fix(web): make sliding window cover all visible space to show small number of assets ( #23796 )
2025-11-11 08:50:31 -06:00
David Wolff
0b3633db4f
fix(server): properly handle HEAD requests to SSR paths ( #23788 )
2025-11-11 07:47:11 -05:00
Jason Rasmussen
2f40f5aad8
refactor: user admin service ( #23785 )
2025-11-11 07:42:33 -05:00
renovate[bot]
2611e2ec20
chore(deps): update dependency exiftool-vendored to v31.3.0 ( #23787 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-11 13:35:36 +01:00
renovate[bot]
433a3cd339
chore(deps): update dependency @types/node to ^22.19.0 ( #23786 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-10 23:50:50 -05:00
Jason Rasmussen
0b487897a4
refactor: shared link service ( #23775 )
2025-11-10 16:17:18 -05:00
Jason Rasmussen
d5c5bdffcb
refactor: album delete ( #23773 )
2025-11-10 16:10:29 -05:00
Jason Rasmussen
dea95ac2e6
refactor: shared-link service ( #23770 )
2025-11-10 20:49:02 +00:00
Mert
9e2208b8dd
chore(mobile): add table schemas to swift ( #23749 )
...
* add schemas
* handle json, improve type safety
* formatting
* sync variants
* formatting
2025-11-10 20:21:08 +00:00
Alex
6922a92b69
feat: show update version info ( #23698 )
...
* feat: show update version info
* Apply suggestions from code review
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2025-11-10 14:19:27 -06:00
exelix
7a2c8e0662
feat(mobile): Quick date picker in the search page ( #22653 )
...
* Quick date picker
* Include current year in quick date picker
* Quick date picker: localization, fix datetime overflows
* Properly localized 'last_months'
* Move quick_date_picker.dart to lib/presentation/widgets/search
* Wrap the quick date picker state into its own class, improve the interaction patterns
* Fix last9Months value
* Improve method naming
* Subtitle for "custom range" in quick date picker
* Fix style warnings
* Fix lint warning
* fix: mobile unawaited_futures lint (#21661 )
* chore: add unawaited_futures lint as warning
* remove unused dcm lints
They will be added back later on a case by case basis
* fix warning
* auto gen file
* review changes
* conflict resolution
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
* Quick date picker
* Wrap the quick date picker state into its own class, improve the interaction patterns
* chore: delete file from rebase
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: bwees <brandonwees@gmail.com >
2025-11-10 13:55:09 -06:00
renovate[bot]
787158247f
fix(deps): update typescript-projects ( #23588 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-11-10 19:50:19 +00:00
idubnori
b0a0b7c2e1
feat(mobile): chat-style for asset activity view ( #23347 )
...
* feat(mobile): open assetviewer via album activities page
* adjust ui behavior: keep current asset & disable initial forcus
* init of v2...
* refactoring...
* refactor: remove _DismissibleWrapper
* feat: initial scrolling to bottom
* refactor: use feature toggle
* refactor: new route page
* fix: file name, dcm analyze
* fix: test failure
* fix: remove toggle and the exisitng style based on review feedback
* refactorr: rename methods for clarity in comment bubble widget
* feat: (mobile) chat-style asset activity timeline
* chore: extract as a new file
* chore: styling (based on 2c12bc56 )
* chore: clean up
* fix: albumActivityProvider parameter
* fix: review point
* fix
2025-11-10 13:26:27 -06:00
idubnori
cb6d81771d
fix(mobile): sync album and asset activity state when add/remove asset level activity ( #23484 )
...
* fix; sync album-asset state when remove activity
* make build
* fix: support adding case
* make build
* Update mobile/lib/providers/activity.provider.dart
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
* fix: add missing import for collection package
* make build
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
2025-11-10 13:25:43 -06:00
Jason Rasmussen
8de6ec1a1b
refactor: album service ( #23768 )
2025-11-10 13:40:58 -05:00
Daniel Dietzler
d27c01ef70
chore: migrate remaining usages of the logo to use the UI lib ( #23430 )
2025-11-10 19:16:49 +01:00
Noel S
d6307b262f
fix(mobile): Hide download button in asset viewer "immersive mode" ( #23720 )
...
* Hide download FAB in asset viewer immersive mode
* Remove commented out code
* Remove more comments
2025-11-10 12:13:04 -06:00
Viktor Mykhailiv
b2cbefe41e
fix(mobile): Set dynamic height of actions row in BottomSheet ( #23755 )
...
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-11-10 12:03:12 -06:00
shenlong
da5a72f6de
chore: patch MemoriesResponse ( #23764 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-10 11:37:45 -06:00
Jason Rasmussen
45304f1211
refactor: view shared link ( #23766 )
2025-11-10 12:21:26 -05:00
Jason Rasmussen
a4e65a7ea8
refactor: albums-list ( #23765 )
2025-11-10 11:49:59 -05:00
Daniel Dietzler
dd393c8346
feat(web): event handler component ( #23763 )
2025-11-10 11:49:46 -05:00
Peter Ombodi
493cde9d55
feat: opt-in sync of deletes and restores from web to Android (beta timeline) ( #20473 )
...
* feature(mobile, beta, Android): handle remote asset trash/restore events and rescan media
- Handle move to trash and restore from trash for remote assets on Android
- Trigger MediaScannerConnection to rescan affected media files
* feature(mobile, beta, Android): fix rescan
* fix imports
* fix checking conditions
* refactor naming
* fix line breaks
* refactor code
rollback changes in BackgroundServicePlugin
* refactor code (use separate TrashService)
* refactor code
* parallelize restoreFromTrash calls with Future.wait
format trash.provider.dart
* try to re-format trash.provider.dart
* re-format trash.provider.dart
* rename TrashService to TrashSyncService to avoid duplicated names
revert changes in original trash.provider.dart
* refactor code (minor nitpicks)
* process restoreFromTrash sequentially instead of Future.wait
* group local assets by checksum before moving to trash
delete LocalAssetEntity records when moved to trash
refactor code
* fix format
* use checksum for asset restoration
refactro code
* fix format
* sync trash only for backup-selected assets
* feat(db): add local_trashed_asset table and integrate with restoration flow
- Add new `local_trashed_asset` table to store metadata of trashed assets
- Save trashed asset info into `local_trashed_asset` before deletion
- Use `local_trashed_asset` as source for asset restoration
- Implement file restoration by `mediaId`
* resolve merge conflicts
* fix index creating on migration
* rework trashed assets handling
- add new table trashed_local_asset
- mirror trashed assets data in trashed_local_asset.
- compute checksums for assets trashed out-of-app.
- restore assets present in trashed_local_asset and non-trashed in remote_asset.
- simplify moving-to-trash logic based on remote_asset events.
* resolve merge conflicts
use updated approach for calculating checksums
* use CurrentPlatform instead _platform
fix mocks
* revert redundant changes
* Include trashed items in getMediaChanges
Process trashed items delta during incremental sync
* fix merge conflicts
* fix format
* trashed_local_asset table mirror of local_asset table structure
trashed_local_asset<->local_asset transfer data on move to trash or restore
refactor code
* refactor and format code
* refactor TrashedAsset model
fix missed data transfering
* refactor code
remove unused model
* fix label
* fix merge conflicts
* optimize, refactor code
remove redundant code and checking
getTrashedAssetsForAlbum for iOS
tests for hash trashed assets
* format code
* fix migration
fix tests
* fix generated file
* reuse exist checksums on trash data update
handle restoration errors
fix import
* format code
* sync_stream.service depend on repos
refactor assets restoration
update dependencies in tests
* remove trashed asset model
remove trash_sync.service
refactor DriftTrashedLocalAssetRepository, LocalSyncService
* rework fetching trashed assets data on native side
optimize handling trashed assets in local sync service
refactor code
* update NativeSyncApi on iOS side
remove unused code
* optimize sync trashed assets call in full sync mode
refactor code
* fix format
* remove albumIds from getTrashedAssets params
fix upsert in trashed local asset repo
refactor code
* fix getTrashedAssets params
* fix(trash-sync): clean up NativeSyncApiImplBase and correct applyDelta
* refactor(trash-sync): optimize performance and fix minor issues
* refactor(trash-sync): add missed index
* feat(trash-sync): remove sinceLastCheckpoint param from getTrashedAssets
* fix(trash-sync): fix target table
* fix(trash-sync): remove unused extension
* fix(trash-sync): remove unused code
* fix(trash-sync): refactor code
* fix(trash-sync): reformat file
* fix(trash_sync): refactor code
* fix(trash_sync): improve moving to trash
* refactor(trash_sync): integrate MANAGE_MEDIA permission request into login flow and advanced settings
* refactor(trash_sync): add additional checking for experimental trash sync flag and MANAGE_MEDIA permission.
* refactor(trash_sync): resolve merge conflicts
* refactor(trash_sync): fix format
* resolve merge conflicts
add await for alert dialog
add missed request
* refactor(trash_sync): rework MANAGE_MEDIA info widget
show rationale text in permission request alert dialog
refactor setting getter
* fix(trash_sync): restore missing text values
* fix(trash_sync): format file
* fix(trash_sync): check backup enabled and remove remote asset existence check
* fix(trash_sync): remove checking backup enabled
test(trash_sync): cover sync-stream trash/restore paths and dedupe mocks
* test(trash_sync): cover trash/restore flows for local_sync_service
* chore(e2e): restore test-assets submodule pointer
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-11-10 16:20:51 +00:00
Jason Rasmussen
7705c84b04
refactor(web): album service ( #23762 )
2025-11-10 11:06:40 -05:00
Matthew Momjian
ce0172b8c1
fix(docs): bump docs for PG versions ( #23714 )
2025-11-10 10:56:18 -05:00
bo0tzz
718b3a7b52
fix: mise tf task scope ( #23761 )
2025-11-10 15:49:44 +00:00
bo0tzz
8a73de018c
feat: mise monorepo tasks ( #23691 )
2025-11-10 15:55:15 +01:00
Jonathan Gilbert
d92df63f84
feat: random memories sort order ( #20025 )
2025-11-10 09:38:50 -05:00
Mees Frensel
6c6b00067b
fix(web): i18n for admin>users>sessions ( #23756 )
2025-11-10 12:48:17 +00:00
Mees Frensel
9cc88ed2a6
feat: make memories slideshow duration configurable ( #22783 )
2025-11-08 17:46:43 -05:00
renovate[bot]
4905bba694
chore(deps): update base-image to v202511041104 (major) ( #23718 )
...
chore(deps): update base-image to v202511041104
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 13:48:35 -06:00
Noel S
853d19dc2d
fix(mobile): Add fade-in to asset viewer transition ( #23692 )
...
Add fade-in animation
2025-11-07 17:13:43 -06:00
Lukas
c935ae47d0
feat: lazy load thumbnails on people and place list ( #23682 )
...
perf(web): lazy load thumbnails on people and place list
2025-11-07 14:22:02 -06:00
fabianbees
93ab42fa24
feat(mobile): Show lens model information in the asset viewer detail panel ( #23601 )
...
* feat(mobile): add lens info to details bottom sheet
* fix unrelated typo
* order same like in web app: first exposure time, than iso
2025-11-07 17:10:59 +00:00
Mert
6913697ad1
feat(ml): multilingual ocr ( #23527 )
...
* handle other languages in ml server
* add variants to model selector
* no need to override path
* unused import
2025-11-06 12:58:41 -05:00
Mert
a4ae86ce29
feat(ml): add preload and fp16 settings for ocr ( #23576 )
2025-11-06 17:55:11 +00:00
Snowknight26
2c50f2e244
fix(web): add URLs to results in large files utility ( #23617 )
...
fix(web): add URLs to results in large files
2025-11-06 09:24:47 -05:00
shenlong
365abd8906
fix: check if unmetered instead of wifi ( #23380 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-05 13:27:38 -06:00
Alex
25fb43bbe3
fix: fully sync local library on app restart ( #23323 )
2025-11-05 14:09:50 +00:00
bo0tzz
125e8cee01
chore: update config.json example ( #23471 )
...
* chore: update config.json example
closes #23465
* fix: format, for real this time
2025-11-05 08:05:53 -06:00
Arnaud Wery
c15e9bfa72
fix(web): "select all" button in trash and permanently deleted count ( #23594 )
2025-11-05 14:05:48 +00:00
Dmitry
35e188e6e7
docs: sync ru docs with main README.md ( #23627 )
2025-11-05 08:05:03 -06:00
Sergey Katsubo
3cc9dd126c
fix(web): fix timezone dropdown for timestamps lacking milliseconds ( #23615 )
...
Fix timezone selector for timestamps without milliseconds
2025-11-05 08:03:55 -06:00
Jason Rasmussen
aa69d89b9f
fix: bad merge ( #23610 )
2025-11-04 16:22:45 -05:00
Jason Rasmussen
29c14a3f58
refactor: database column names ( #23356 )
2025-11-04 16:03:21 -05:00
Jason Rasmussen
0df70365d7
feat: exif medium tests ( #23561 )
2025-11-04 16:03:02 -05:00
Mees Frensel
c34be73d81
fix(web): consistently use mdiMotionPauseOutline icon ( #23595 )
2025-11-04 12:12:47 +01:00
renovate[bot]
f396e9e374
chore(deps): update prom/prometheus docker digest to 4921475 ( #23578 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:49:12 +01:00
renovate[bot]
821a9d4691
chore(deps): update redis:6.2-alpine docker digest to 37e0024 ( #23579 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:48:21 +01:00
renovate[bot]
cad654586f
chore(deps): update dependency @types/node to ^22.18.13 ( #23581 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:47:54 +01:00
github-actions
28eb1bc13c
chore: version v2.2.3
2025-11-04 03:14:34 +00:00
Brandon Wees
1e4779cf48
fix(mobile): ignore patch releases for app version alerts ( #23565 )
...
* fix(mobile): ignore patch releases for app version alerts
* chore: make difference type nullable to indicate when versions match
* chore: add error handling for semver parsing
* chore: tests
2025-11-03 21:09:32 -06:00
Sergey Katsubo
0647c22956
fix(mobile): handle empty original filename ( #23469 )
...
* Handle empty original filename
* Handle TypeError from photo_manager titleAsync
* More compact exception log
2025-11-03 21:09:18 -06:00
Alex
b8087b4fa2
chore: ios prod build with correct argument, get version number from pubspec ( #23554 )
...
* chore: ios prod build with correct argument, get version number from pubspec
* Update mobile/ios/fastlane/Fastfile
Co-authored-by: bo0tzz <git@bo0tzz.me >
---------
Co-authored-by: bo0tzz <git@bo0tzz.me >
2025-11-03 10:11:11 -06:00
Jonathan S
d94cb9641b
chore: correct hosted isar paths in fdroid_build_isar.sh ( #23529 )
...
This should hopefully unblock F-Droid builds, which are a few versions behind.
Based on the suggestion in https://github.com/immich-app/immich/pull/22757#issuecomment-3404516987
2025-11-03 08:35:56 -06:00
Daniel Dietzler
517c3e1d4c
fix: exif gps parsing of malformed data ( #23551 )
...
* fix: exif gps parsing of malformed data
* chore: e2e test
2025-11-03 09:02:41 -05:00
Ben
619de2a5e4
fix(web): search bar accessibility ( #23550 )
...
* fix: always show search type when search bar is focused
* fix: indicate search type to screen reader users
2025-11-03 08:31:57 -05:00
Mert
79d0e3e1ed
fix(ml): ocr inputs not resized correctly ( #23541 )
...
* fix resizing, use pillow
* unused import
* linting
* lanczos
* optimizations
fused operations
unused import
2025-11-03 07:21:30 +00:00
github-actions
f5ff36a1f8
chore: version v2.2.2
2025-11-02 21:56:36 +00:00
Alex
b5efc9c16e
fix: passing secrets to trigger workflow ( #23447 )
...
* fix: passing secrets to trigger workflow
* pass secrets to workflow call
2025-11-02 15:54:35 -06:00
Alex
1036076b0d
fix: disable prunning for more investigation ( #23531 )
2025-11-02 15:54:03 -06:00
Daniel Dietzler
c76324c611
fix(web): mobile scrubber on page load ( #23488 )
2025-11-01 22:15:33 -05:00
bo0tzz
0ddb92e1ec
fix: use pnpm directly for fix-format ( #23483 )
2025-11-01 15:38:18 -04:00
Alex
d08a520aa2
chore: post release tasks ( #23443 )
2025-11-01 01:21:39 -05:00
dotlambda
7bdf0f6c50
chore(ml): remove setuptools from dependencies ( #23446 )
2025-10-31 21:34:10 +00:00
shenlong
2b33a58448
fix: show in timeline from search page ( #23440 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-31 14:55:28 -05:00
github-actions
b35f00f768
chore: version v2.2.1
2025-10-31 18:04:27 +00:00
Weblate (bot)
86cc7c3c73
chore(web): update translations ( #23375 )
...
Translate-URL: https://hosted.weblate.org/projects/immich/immich/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translation: Immich/immich
Co-authored-by: Akhil Raj Baranwal <akhil.r.baranwal@gmail.com >
Co-authored-by: Dennis Kjær Jensen <weblate@signout.dk >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Florian Amsallem <florian.amsallem@gmail.com >
Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com >
Co-authored-by: Kai Heine <kai-heine@users.noreply.hosted.weblate.org >
Co-authored-by: Marrick Schröder <marrick.schroeder@gmail.com >
Co-authored-by: Michael <parieren.gefuehl5g@icloud.com >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: S M, Aravinth (A.) <asm1@ford.com >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: linux-universe <lauro@dilorenzo.one >
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com >
Co-authored-by: slick-daddy <129640104+slick-daddy@users.noreply.github.com >
Co-authored-by: ti-guru <anders.egeland@outlook.com >
2025-10-31 18:02:30 +00:00
Alex
5854cbbe97
fix: show close button on purchase modal ( #23436 )
2025-10-31 17:47:14 +00:00
Alex
ceb36a304d
fix: view in timeline does not jump to the timeline correctly ( #23428 )
2025-10-31 17:24:41 +00:00
Daniel Dietzler
f5d7e5acca
chore: cannonical tailwind classes ( #23427 )
2025-10-31 11:38:17 -04:00
luneth
be15a84f9b
chore: update android signing fingerprints to docs ( #23361 )
...
* Update mobile-app.mdx
Add certificate fingerprint for android releases.
* chore: formatting
* Chore: Typo
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-10-31 09:40:53 -05:00
Alex
32791e98c2
chore: trigger prod build on prepare-release ( #23424 )
...
* chore: trigger prod build on prepare-release
* clean up
2025-10-31 14:26:03 +00:00
Alex
7ea443b3a9
chore: gha ios release | take 5 ( #23203 )
...
* chore: gha ios release | take 5
* code signing
* code signing 2
* manual signing for extensions
* chore(ios): add explicit code signing identity and debug output
* dev appbundle
* Deployment flow for development app
* skip waiting for change log
* refactor
* fix: ruby version
* fix: manual release lane
* build on main
2025-10-31 09:05:03 -05:00
Alex
c69786b039
fix: button condition rendering ( #23400 )
2025-10-31 08:42:01 -05:00
Mert
5c7d5539ea
fix(mobile): video seeking on android ( #23405 )
...
use int for seeking
2025-10-31 08:41:09 -05:00
Daniel Dietzler
3531856d1c
refactor: api key modals ( #23420 )
2025-10-31 08:58:52 -04:00
Mert
4abaad548a
fix(ml): ocr failing with rootless docker ( #23402 )
...
don't download font
2025-10-31 02:41:49 -04:00
Jonathan Jogenfors
61a2c3ace3
chore(server): clarify asset copy parameters ( #23396 )
2025-10-30 23:55:39 +00:00
Daniel Dietzler
e9038193db
fix: asset copy validation error ( #23387 )
2025-10-30 19:40:58 -04:00
bo0tzz
3f5cd48a59
fix: don't use app token for cli push ( #23378 )
2025-10-30 21:31:56 +01:00
idubnori
4cb094e7ae
fix(mobile): regression - not displayed activity button in top bar ( #23366 )
2025-10-30 14:39:36 -05:00
github-actions
57c8378ca7
chore: version v2.2.0
2025-10-30 14:42:44 +00:00
Weblate (bot)
b073f9b802
chore(web): update translations ( #22937 )
...
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/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/
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/fa/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
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/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
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/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
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/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
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/sr_Cyrl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/
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/uk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/
Translation: Immich/immich
Co-authored-by: 0xflotus <0xflotus@gmail.com >
Co-authored-by: Aarón Rosa Díaz <sraaronrock@tuta.io >
Co-authored-by: Abhijeet Bonde <abhijeetbonde19@gmail.com >
Co-authored-by: Abraham Escalona <abrahamescalona@live.com >
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Aitor Astorga <a.astorga.sdv@protonmail.com >
Co-authored-by: Alberto Serluca <alberto.ser11@gmail.com >
Co-authored-by: Alejandro Gonzalez <alejandrok5@gmail.com >
Co-authored-by: Alejandro Moya <alejandro_moya_moya@hotmail.com >
Co-authored-by: Alex <alex.osheter@gmail.com >
Co-authored-by: Alexis-Loskoutoff <alexis@pctraining.fr >
Co-authored-by: AndreiP28 <andreiprica28@gmail.com >
Co-authored-by: Antonio <1628876+antonio-ivanovski@users.noreply.github.com >
Co-authored-by: Beans <leey0818@gmail.com >
Co-authored-by: Benjamin GOUPIL <benjamin@goupil.bzh >
Co-authored-by: Blomblo <mr.blomblo@gmail.com >
Co-authored-by: Cyril CHARLIER <cyril.charlier@gmail.com >
Co-authored-by: Davide Vegliante <davidevegliante@gmail.com >
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Devansh Sehgal <devanshsehgal02@gmail.com >
Co-authored-by: Diego Heras <ngosang@hotmail.es >
Co-authored-by: Durneztj <thibault.durnez@telenet.be >
Co-authored-by: Eetu Mäenpää <me@eetumaenpaa.fi >
Co-authored-by: Emil Friis Osmann <Emilfriisosmann@gmail.com >
Co-authored-by: Espen Faale <espen@faale.no >
Co-authored-by: Flyingfufu <fabien.fuster@icloud.com >
Co-authored-by: Frederick “Fredyy” Behrends <frederick.behrends@gmail.com >
Co-authored-by: Hamed Hojjati <hamed334@gmail.com >
Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com >
Co-authored-by: Ignatius Liu <suitangi777@gmail.com >
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: Jacob Zhang <jacob-z@live.de >
Co-authored-by: Jason Song <songpeiheng@gmail.com >
Co-authored-by: Jasper van der Neut - Stulen <jasper@neutstulen.nl >
Co-authored-by: Jeppe Nellemann <jepnel@proton.me >
Co-authored-by: Jirapan <jirapan_yankhan@hotmail.com >
Co-authored-by: Jonas A <demo007@gmail.com >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk >
Co-authored-by: Leo Bottaro <github@leobottaro.com >
Co-authored-by: Liviu Roman <contact@liviuroman.com >
Co-authored-by: Lotzi <info@lorenzmueller.de >
Co-authored-by: Lukas Konsin <lukaskonsin@proton.me >
Co-authored-by: MSDNicrosoft <wang3311835119@hotmail.com >
Co-authored-by: Marcelo Popper Costa <marcelo_popper@hotmail.com >
Co-authored-by: Mario Carlotti <info@carlotti.ch >
Co-authored-by: Marko Stanković <stankovic.marko@gmail.com >
Co-authored-by: Martin Piron <martin.piron@hotmail.com >
Co-authored-by: Matjaž T <matjaz@moj-svet.si >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Mehmet MENENGEÇ <mehmetmenengec+weblate@gmail.com >
Co-authored-by: Metin <durmus38metin@gmail.com >
Co-authored-by: Mohsin Bouhout <bouhout.mohsin@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Nicolai Bonde <git@nicolaibonde.dk >
Co-authored-by: Ole Steinbrück <ole.steinbrueck@googlemail.com >
Co-authored-by: Paolo Forte <paoloforte71@gmail.com >
Co-authored-by: Passawish Paktiwong <passawishp@outlook.com >
Co-authored-by: Pedro Vendeira <vendeira.pedro@gmail.com >
Co-authored-by: Peter Dave Hello <hsu@peterdavehello.org >
Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org >
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com >
Co-authored-by: Rasmus Sehlin <rasmus@sehl.in >
Co-authored-by: Robert Gonzales <bgonz808@gmail.com >
Co-authored-by: Ron Turner <admin@meetronturner.com >
Co-authored-by: Shawn <xiaxinx@gmail.com >
Co-authored-by: Stan P <g97d6liib@mozmail.com >
Co-authored-by: Steven Barash <stevenbarash6@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: TMM4MN <tmgweb@yahoo.com >
Co-authored-by: TV Box <realceday.tvbox@gmail.com >
Co-authored-by: Tage Lauritsen <tage@tunenet.dk >
Co-authored-by: Theofilos Nikolaou <th.nikolaou@gmail.com >
Co-authored-by: Tjibbe Chris <github@tjibbechris.nl >
Co-authored-by: Tmpod <tom@tmpod.dev >
Co-authored-by: Tom Kay <kowalzik@proton.me >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Valentino Harpa <valen.ginga@gmail.com >
Co-authored-by: Vegard Fladby <vegard@fladby.org >
Co-authored-by: Zsombor L <lzso1.lzso1@gmail.com >
Co-authored-by: anton garcias <isaga.percompartir@gmail.com >
Co-authored-by: aouani jaessin <aouanijaessin@gmail.com >
Co-authored-by: basti n00b0ss <n00b0ss@mailbox.org >
Co-authored-by: bilal-khendaf <bilalkhendaf@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: chamdim <chamdim@protonmail.com >
Co-authored-by: intothevolt <francesco.ferriero97@gmail.com >
Co-authored-by: khaled maayeh <maayehkhaled@gmail.com >
Co-authored-by: kiwinho <kiwicaja@gmail.com >
Co-authored-by: millallo <millallo@tiscali.it >
Co-authored-by: mkubant <marek@kubantovi.cz >
Co-authored-by: nachtpfoetchen <nachtpfoetchen@posteo.de >
Co-authored-by: om1s186 <om1s186@gmail.com >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: rw-r-r-0644 <rw-r-r-0644@proton.me >
Co-authored-by: ssantos <ssantos@web.de >
Co-authored-by: vytautas <immichtranslation.a03gn@simplelogin.com >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
Co-authored-by: Àlex Bravo <alexbravobosch@gmail.com >
Co-authored-by: özcan karakuş <ozcan.krakus@gmail.com >
Co-authored-by: Александр Стельмах <aguhadug@gmail.com >
Co-authored-by: Вячеслав Лукьяненко <madeinchuguev@gmail.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com >
Co-authored-by: 안세훈 <on9686@gmail.com >
2025-10-30 14:40:49 +00:00
Alex
1a2e7d06cb
chore: make view similar photo button more discoverable ( #23350 )
2025-10-29 15:38:50 +00:00
Alex
217d719b0b
chore: re-enable android build ( #23349 )
2025-10-29 10:22:07 -05:00
shenlong
cf75ad2f26
fix: prune stale assets ( #22530 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-10-29 14:41:03 +00:00
Alex
2286444158
chore: css nits ( #23330 )
2025-10-29 09:20:04 -05:00
renovate[bot]
b489bdf8d3
chore(deps): update node.js to v24 ( #23346 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 14:48:20 +01:00
idubnori
5e6087ea28
feat(mobile): chat-style album activities timeline ( #23185 )
...
* feat(mobile): open assetviewer via album activities page
* adjust ui behavior: keep current asset & disable initial forcus
* init of v2...
* refactoring...
* refactor: remove _DismissibleWrapper
* feat: initial scrolling to bottom
* refactor: use feature toggle
* refactor: new route page
* fix: file name, dcm analyze
* fix: test failure
* fix: remove toggle and the exisitng style based on review feedback
* refactorr: rename methods for clarity in comment bubble widget
* chore: styling
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-10-29 13:45:28 +00:00
Daniel Dietzler
4ae7cadeae
feat: asset copy ( #23172 )
2025-10-29 08:43:47 -05:00
renovate[bot]
fdfb04d83c
fix(deps): update typescript-projects ( #23311 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-10-29 11:34:20 +00:00
renovate[bot]
8273c822d7
chore(deps): pin dependencies ( #23304 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 20:27:54 -05:00
Viktor Mykhailiv
12bb39a111
feat(mobile): view similar photos ( #22148 )
...
* feat: view similar photos on mobile
# Conflicts:
# mobile/lib/models/search/search_filter.model.dart
# mobile/lib/utils/action_button.utils.dart
* fix: bottom sheet is unusable after navigating to search
* feat(mobile): open DriftSearchPage as root route
* reset search state on tab navigation
* fix tests
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-28 16:17:26 -05:00
Alex
9098717c55
feat: getAssetOcr endpoint ( #23331 )
...
* feat: getAssetOcr endpoint
* pr feedback
2025-10-28 20:57:03 +00:00
Min Idzelis
8d25f81bec
fix: regression - search results not visible until scroll ( #23321 )
2025-10-28 14:15:24 -05:00
Jason Rasmussen
52596255c8
feat: toasts ( #23298 )
2025-10-28 14:09:11 -05:00
Alex
106effca2e
feat: check server feature to render OCR search option ( #23325 )
2025-10-28 13:54:41 -05:00
shenlong
9676da27c9
fix: clear temp cache on iOS before uploads ( #23326 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-28 13:53:48 -05:00
Brandon Wees
3edcb180eb
fix: flaky mobile sync api tests ( #23324 )
2025-10-28 12:16:36 -05:00
renovate[bot]
9f0b5790af
chore(deps): update dependency @types/node to ^22.18.12 ( #23305 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 18:16:18 +01:00
Brandon Wees
e0c2cdddd4
feat: show "appears in" albums on asset viewer bottom sheet ( #21925 )
...
* feat: show "appears in" albums on asset viewer bottom sheet
fix: multiple RemoteAlbumPages in navigation stack
this also allows us to not have to set the current album before navigating to RemoteAlbumPage
chore: clarification comments
handle nested album pages
fix: hide "appears in" when an asset is not in any albums
fix: way more bottom padding
for some reason we can't query the safe area here :/
* fix: bottom sheet now is usable when navigating to another asset viewer
* fix: rebase conflict
* fix: restore ancestors album to currentRemoteAlbumProvider when popping
* fix: view flashing when dismissing a album viewer
* chore: code review changes
* fix: styling and padding
* chore: rework currentRemoteAlbumProvider to be scoped by the Remote album page
* fix: override remote album provider on required pages
* chore: convert query to all SQL calls instead of matching in Dart
* fix: album query
* fix: unawaited future
* Update deep_link.service.dart
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-10-28 16:52:01 +00:00
Brandon Wees
74f2c10a5a
fix: make hitbox on app bar dialog bigger ( #23316 )
2025-10-28 09:19:40 -05:00
Thomas Stachl
fb97d9f4d9
fix(web): disable picture-in-picture on video viewer ( #23318 )
2025-10-28 09:15:35 -05:00
renovate[bot]
f72bcc8a8f
chore(deps): update node.js to v22.21.0 ( #23314 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 12:36:19 +00:00
renovate[bot]
46a4dce16b
chore(deps): update grafana/grafana docker tag to v12.2.1 ( #23312 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 12:32:37 +00:00
renovate[bot]
62ed5fe27f
chore(deps): update base-image to v202510281104 (major) ( #23315 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 12:30:42 +00:00
Zack Pollard
8e3f6cdbbf
fix: ml container tags incorrect for different hardware builds ( #23313 )
...
Co-authored-by: bo0tzz <git@bo0tzz.me >
2025-10-28 12:30:12 +00:00
Min Idzelis
d51b8c1cdf
fix: focus-trap on safari ( #23246 )
2025-10-27 21:29:30 -05:00
Alex
698531d6e0
feat: improve UI for resolving duplication detection ( #23145 )
...
* feat: improve UI for resolving duplication detection
* pr feedback
2025-10-27 17:32:52 -04:00
Thomas Stachl
44149d187f
feat(server): enhance metadata reading for video files ( #23258 )
2025-10-27 14:46:54 -05:00
shenlong
9e3b4ef3db
chore(dep): bump flutter to 3.35.7 ( #23287 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-27 10:24:41 -05:00
shenlong
ac0d646401
fix: mobile unawaited_futures lint ( #21661 )
...
* chore: add unawaited_futures lint as warning
# Conflicts:
# mobile/analysis_options.yaml
* remove unused dcm lints
They will be added back later on a case by case basis
* fix warning
# Conflicts:
# mobile/lib/presentation/pages/drift_remote_album.page.dart
* auto gen file
* review changes
* conflict resolution
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-27 09:32:52 -05:00
shenlong
664a8fa499
fix: fetch original name before upload ( #21877 )
...
* fix: fetch origin name before upload
* fix: Show correct photo name in buttom sheet and backup details page (#22978 )
* add tests
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: FawenYo <40032648+FawenYo@users.noreply.github.com >
2025-10-27 09:32:24 -05:00
shenlong
3194538817
fix: handle null bucketId or name in android local sync ( #23224 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-27 09:22:51 -05:00
Zac Warham
b0d427f8f9
chore: show leading zero week in storage template ( #23275 )
...
* Use date which shows week with a zero
* Update sample date in SupportedDatetimePanel
* Update web/src/lib/components/admin-settings/SupportedDatetimePanel.svelte
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-10-27 09:21:37 -05:00
Kang
02b29046b3
feat: ocr ( #18836 )
...
* feat: add OCR functionality and related configurations
* chore: update labeler configuration for machine learning files
* feat(i18n): enhance OCR model descriptions and add orientation classification and unwarping features
* chore: update Dockerfile to include ccache for improved build performance
* feat(ocr): enhance OCR model configuration with orientation classification and unwarping options, update PaddleOCR integration, and improve response structure
* refactor(ocr): remove OCR_CLEANUP job from enum and type definitions
* refactor(ocr): remove obsolete OCR entity and migration files, and update asset job status and schema to accommodate new OCR table structure
* refactor(ocr): update OCR schema and response structure to use individual coordinates instead of bounding box, and adjust related service and repository files
* feat: enhance OCR configuration and functionality
- Updated OCR settings to include minimum detection box score, minimum detection score, and minimum recognition score.
- Refactored PaddleOCRecognizer to utilize new scoring parameters.
- Introduced new database tables for asset OCR data and search functionality.
- Modified related services and repositories to support the new OCR features.
- Updated translations for improved clarity in settings UI.
* sql changes
* use rapidocr
* change dto
* update web
* update lock
* update api
* store positions as normalized floats
* match column order in db
* update admin ui settings descriptions
fix max resolution key
set min threshold to 0.1
fix bind
* apply config correctly, adjust defaults
* unnecessary model type
* unnecessary sources
* fix(ocr): switch RapidOCR lang type from LangDet to LangRec
* fix(ocr): expose lang_type (LangRec.CH) and font_path on OcrOptions for RapidOCR
* fix(ocr): make OCR text search case- and accent-insensitive using ILIKE + unaccent
* fix(ocr): add OCR search fields
* fix: Add OCR database migration and update ML prediction logic.
* trigrams are already case insensitive
* add tests
* format
* update migrations
* wrong uuid function
* linting
* maybe fix medium tests
* formatting
* fix weblate check
* openapi
* sql
* minor fixes
* maybe fix medium tests part 2
* passing medium tests
* format web
* readd sql
* format dart
* disabled in e2e
* chore: translation ordering
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-10-27 14:09:55 +00:00
Min Idzelis
c666dc6c67
fix: back/forward navigation won't reset scroll in timeline ( #22838 )
...
* fix: back/forward navigation won't reset scroll in timeline
Fixes a bug where navigating to/from the asser-viewer from timeline causes the scroll position to be reset.
* Fix back after assetviewer next/prev navigation
* Bug fix from review
* review comments
2025-10-27 08:56:03 -05:00
Jorge Montejo
382481735a
feat: logout sessions on password change ( #23188 )
...
* log out ohter sessions on password change
* translations
* update and add tests
* rename event to UserLogoutOtherSessions
* fix typo
* requested changes
* fix tests
* fix medium:test
* use ValidateBoolean
* fix format
* dont delete current session id
* Update server/src/dtos/auth.dto.ts
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* rename event and invalidateOtherSessions
* chore: cleanup
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2025-10-27 13:16:10 +00:00
Min Idzelis
6bb1a9e083
fix: incomplete dynamic imports ( #23217 )
2025-10-27 08:45:30 -04:00
Mert
3f03a88767
feat(web): wasm justified layout, sync edition ( #23194 )
...
* the invisible wasm
use npm version
* deterministic tests
* add todo
* linting
* bump library, add helpers
* use target height for unfilled rows
* update tests
2025-10-25 00:06:05 -05:00
Jason Rasmussen
328380cfda
refactor: websocket repository ( #23228 )
2025-10-24 16:26:27 -04:00
Robin Jacobs
65f29afb0f
feat(cli): add --delete-duplicates option ( #20035 )
...
* Add --delete-duplicates option to delete local assets that already exist on the server, fixes #12181
* Update docs
* Fix `--delete-duplicates` implying `--delete`
* fix the test, break the english
* format
* also ran the formatter on the e2e folder :)
* early return, fewer allocations
* add back log
---------
Co-authored-by: Robin Jacobs <robin.jacobs@beeline.com >
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-10-24 19:31:54 +00:00
andre-antunesdesa
f721a62776
feat(web): load original videos ( #20041 )
...
* added user preference for always loading original video
added ability to toggle between transcoded/original in the video viewer
add fix to static check error
* address PR comments
* Update asset-viewer-nav-bar.svelte
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
---------
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2025-10-24 19:03:51 +00:00
Mert
c73e3dacea
feat(mobile): high precision seeking ( #22346 )
...
* millisecond precision video playback
* wrap in unawaited
* update commit
2025-10-24 18:59:30 +00:00
Dag Stuan
78fb815cdb
feat(web): add search filter for camera lens model. ( #21792 )
2025-10-24 14:41:34 -04:00
Jason Rasmussen
d9cddeb0f1
chore: use reverse proxy during local preview ( #23184 )
2025-10-24 14:00:51 -04:00
bo0tzz
c4ff2ea6d5
fix: actually use tf output ( #23221 )
2025-10-24 17:07:05 +02:00
renovate[bot]
b91b855473
chore(deps): update github-actions (major) ( #22919 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-24 16:21:41 +02:00
bo0tzz
7773d6d44f
chore: update multi-runner-build-workflow ( #23183 )
2025-10-24 14:08:04 +00:00
idubnori
2129f889f5
feat: (mobile) open asset viewer from album activity page ( #23182 )
...
* feat(mobile): open assetviewer via album activities page
* adjust ui behavior: keep current asset & disable initial forcus
* fix: Run 'make build' and 'make pigeon'
2025-10-24 09:02:56 -05:00
shenlong
221e0ef02f
fix: android skip posting hash response after detached from engine ( #23192 )
...
fix: native cancellations for hashing
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-24 08:56:49 -05:00
Basharat Ahmad Khan
0a6b2ad26e
feat(web): reactively update shared link expiration ( #22274 )
...
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-10-24 13:18:49 +02:00
renovate[bot]
719bf763e4
chore(deps): update prom/prometheus docker digest to 23031bf ( #23111 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-24 13:16:11 +02:00
Lauritz Tieste
34bad1ce71
feat: improvements of thumbnail animations ( #20300 )
...
* feat: improve thumbnail border radius animation
feat: remove thin border between image and image selection container
feat: enhance selection icon in thumbnail image
feat: add animated selection indicator for multiselect in thumbnail image
feat: remove unnecessary widgets and variables
style: format code
fix: errors with formatting checks
* chore: port to new timeline
* chore: revert mobile/lib/widgets/asset_grid/thumbnail_image.dart
---------
Co-authored-by: bwees <brandonwees@gmail.com >
2025-10-23 22:36:49 -05:00
Szymon Łągiewka
6164b027e2
chore(dep): bump ioredis to 5.8.2 ( #23130 )
2025-10-23 22:29:18 -05:00
Alex
d9a13dc8ac
chore: gha ios release | take 4 ( #23202 )
2025-10-23 16:06:55 -05:00
Alex
722dbfa11f
chore: gha ios release | take 3 ( #23200 )
2025-10-23 15:48:44 -05:00
Alex
f8afef0f9d
chore: gha ios release | take 3 ( #23199 )
...
* chore: gha ios release | take 3
* chore: gha ios release | take 3
2025-10-23 20:35:43 +00:00
bo0tzz
3c8df55986
fix: add bundle platform arm64-darwin-23 ( #23197 )
2025-10-23 20:19:44 +00:00
Alex
47436ad0ce
feat: GHA for iOS release flow ( #23196 )
2025-10-23 21:57:19 +02:00
Zack Pollard
9b58d5663a
feat: support database dumps for pg18 ( #23186 )
2025-10-23 10:14:01 -04:00
Matthew Momjian
b6cebb3ece
feat(server): pin to v2 ( #23170 )
...
* pin to v2
* remove release
2025-10-22 16:06:00 -04:00
Jason Rasmussen
cb7e68a287
refactor: user edit modal ( #23169 )
2025-10-22 15:21:16 -04:00
Jason Rasmussen
e196cac6f4
refactor: asset description modal ( #23168 )
2025-10-22 13:08:59 -05:00
Jason Rasmussen
351c0d2a4d
refactor: user delete confirm modal ( #23166 )
2025-10-22 13:49:06 -04:00
Alex
f4969694cd
fix: isolate freeze app on older ios device ( #22509 )
...
* fix: isolate freeze app on older ios device
* always use at-least 5 isolates
* fix: bad merge
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-22 12:43:03 -05:00
Daniel Dietzler
b334288529
fix: session list text color ( #23165 )
2025-10-22 17:33:54 +00:00
Jason Rasmussen
834e52fda6
refactor: user delete ( #23163 )
2025-10-22 12:54:29 -04:00
Jason Rasmussen
8c27ba3e52
refactor: job events ( #23161 )
2025-10-22 12:16:55 -04:00
aviv926
cd8d66f5dd
fix(web): show upload speed ( #23138 )
...
* remove unnecessary else
* Better fix
* fix: update text color
* chore: stylings
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-10-22 15:40:10 +00:00
Nykri
446f738c7d
chore: set default concurrency number to #CPU cores - 1 ( #22888 )
...
Set default concurrency number to #CPU cores - 1
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
2025-10-22 10:16:07 -05:00
shenlong
f19ad9726f
chore(dep): minor mobile dependency updates ( #23126 )
...
* chore(dep): minor dependency updates
* build_runner changes
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-22 10:14:44 -05:00
Brandon Wees
65cac118ca
fix: allow editing all images ( #23144 )
...
* fix: allow editing local asset
* chore: remove isOwner check
2025-10-22 10:12:32 -05:00
Brandon Wees
efac8c6667
fix: semver parser grab everything before hyphen ( #23140 )
...
used for versions like 2.1.0-DEBUG
2025-10-22 10:06:40 -05:00
Jason Rasmussen
a70843e2b4
refactor: users.total metric ( #23158 )
...
* refactor: users.total metric
* fix: broken test
2025-10-22 10:18:17 -04:00
bo0tzz
0b941d78c4
fix: set TG_NON_INTERACTIVE ( #23153 )
2025-10-22 13:22:45 +01:00
bo0tzz
fc5fc58759
fix: bump tofu ( #23152 )
2025-10-22 11:13:03 +00:00
bo0tzz
9bb2fc238a
fix: don't use app for final close-duplicates request ( #23143 )
2025-10-22 11:00:31 +00:00
Alex
76f5036026
chore: improve onboarding, app download links styling ( #23134 )
2025-10-21 21:10:12 -05:00
aviv926
032de9ff2f
feat: view the user's app version on the user page ( #21345 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-10-22 00:36:18 +02:00