Alex
7412079f88
chore: search filter animation improvement and reactive search cue example ( #30866 )
...
* chore: better animation for search form and search cue
* better search cue example
* chore: revert mise.lock changes
2026-08-21 15:11:23 -05:00
Jordan Brock
79c4c00f70
feat(web): tag renaming v2 ( #27909 )
...
* implement updated rename tag feature
* Fix tag update handler
* Ensure toast displays updated tag name
* Ensure toast displays updated tag name
* Handle updates to tag closure table, prevent slash in API filename, test case updates
* delete child tags on parent delete
* Update frontend for better handling of nested tags
* pr checklist fixes
* fix unit test for tag controller
* Hide path for top-level tags
* regenerate SQL files
* name updates optional for tag update operations
* e2e tests for new tag api changes
* changes from code review, additional test coverage
* test fixes, web component refactor
* test assets
* test asset updates
* open-api rebuild
* update unit tests
* fix tag dto tests
* Update web/src/lib/modals/TagEditModal.svelte
Fix missing color bug
Co-authored-by: Ray <3608878+Pecacheu@users.noreply.github.com>
* fix tag e2e test
* remove closure table bug fixes
* remove nullish from tag name update schema
* regenerate openapi and sql
* fix test and e2e test
* simplify tag repository update process
* minor fix and sql regenerate
* fix tests, regen open-api, update dto
* Remove unused function
* Remove accidental test asset ref
* re-add test assets
* pin submodule to main branch commit
* Update test cases based on feedback
* Server fixes based on feedback
* regenerate sql
---------
Co-authored-by: Ray <3608878+Pecacheu@users.noreply.github.com>
2026-08-21 14:55:11 -04:00
Diogo Correia
c9776fb990
fix(web): download archives via html POST forms ( #30021 )
...
* fix: download archives via html POST forms
* refactor: fix css of download panel, add translations and toasts
* style: run lint, formatter, check
* chore: generate open-api specs
* refactor(web): simplify download manager, use SvelteMap
* refactor(server): parse fields from x-www-form-urlencoded request
* refactor: move content-disposition to ImmichReadStream
* Pass asset ids as a comma-separated string
This fixes a bug where the 1000 parameter limit is being hit when
downloading 1000+ assets.
* Add download controller test
* Fix lint warnings
2026-08-20 20:58:41 -04:00
Sacha Brouté
c7f6197e75
feat: add oauth account management url ( #30873 )
2026-08-20 21:31:34 +00:00
Jason Rasmussen
11b1aa5ecf
feat: cluster groups ( #30739 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-20 20:03:00 +02:00
Jason Rasmussen
f9f7311418
refactor: use public config ( #30891 )
2026-08-20 12:44:39 -04:00
Jason Rasmussen
e529557160
feat: new config endpoints ( #30881 )
...
* refactor: config endpoints
* chore: pr feedback
2026-08-20 11:46:17 -04:00
Jason Rasmussen
47c5a3dbf6
refactor: api key response dto ( #30887 )
2026-08-20 11:23:12 -04:00
Ben Beckford
394996eb59
feat(web): new search ui ( #30279 )
2026-08-19 14:32:32 +02:00
Mees Frensel
d8e25b8df0
fix(web): gracefully handle map errors when WebGL is disabled ( #26538 )
2026-08-18 22:37:47 +00:00
Brandon Wees
93d2d30fe0
feat: rotate an API key ( #30801 )
...
* feat: rotate an API key
* fix: test response
* chore: create new api key scope
* chore: code review
2026-08-18 16:07:39 -04:00
Daniel Dietzler
03da1ba108
chore: single line block comments ( #30852 )
2026-08-18 17:55:26 +02:00
Yaros
d00867d702
fix: freeze on navigating back album description ( #30781 )
2026-08-18 13:10:42 +02:00
renovate[bot]
11755e5a53
chore(deps): update dependency eslint-plugin-unicorn to v73 ( #30844 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-18 12:00:16 +02:00
Jason Rasmussen
b19c4a591e
chore(web): remove unused code ( #30768 )
2026-08-14 16:04:12 -04:00
Ben Beckford
447cc40a50
feat: workflow logging ( #29878 )
...
* feat: workflow logging
* chore: update sql and openapi patch
* chore: include id in workflow log entries
* chore(server): update sql and lint
* chore(mobile): remove openapi files
* chore(web): lint
* chore: clean up workflow logging
* chore(server): add runId to workflow logs
* chore(server): store workflow results as enum
2026-08-13 19:18:24 -07:00
Ben Beckford
a939561e70
feat: workflow asset tag trigger/filter/action ( #29043 )
...
* feat: workflow asset tag trigger and filter
* feat(web): show tag names in workflow editor
* fix(web): tag picker in schema config editor
* fix: invalid plugin manifest
* chore: update workflow method wrapper type
* chore: update tag filter method declaration
* feat: workflow action to add tags to assets
2026-08-12 16:26:03 -07:00
Daniel Dietzler
a55dc80a56
chore: enforce strict equality checks ( #30718 )
2026-08-11 13:15:51 -04:00
Daniel Dietzler
d1662fb2b6
fix: face label clipping ( #30712 )
2026-08-11 13:46:26 +00:00
shenlong
29e7ea5302
chore(web): use FUTO F-Droid repo in utilities ( #30527 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-03 22:10:08 +02:00
Adrien Fabre
c2db36934f
feat: Display the number of selected items in AlbumPickerModal title ( #30485 )
2026-08-03 16:00:04 +02:00
Gueye Papa Djadji
da7d8c2e12
feat(web): search album description in add-to-album modal ( #30462 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-08-03 12:42:44 +02:00
Lucas
4082fbf232
fix(web): Fix face thumbnail when swapping merge direction ( #30466 )
2026-08-03 12:28:18 +02:00
renovate[bot]
8e0ad9b2c4
fix(deps): update typescript-projects ( #30305 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-31 12:55:30 +02:00
Giacomo Pinato
6b6058c463
feat: store null instead of empty string for album.description ( #30123 )
...
Addresses the first column of issue #28832 : album.description now stores
and returns null instead of an empty string.
Co-authored-by: Giacomo Pinato <giacomo.pinato@gmail.com>
2026-07-30 19:41:49 +00:00
Jason Rasmussen
bc6bf388c0
fix(web): single grid row spacing ( #30277 )
2026-07-27 14:13:11 +00:00
Daniel Dietzler
409734e1db
fix: shared by user detail panel ( #30187 )
2026-07-24 15:44:37 -04:00
NOBOIKE
5fa920a5f0
fix(web): use RTL transform origin in AdaptiveImage ( #30182 )
2026-07-24 10:44:33 +02:00
NOBOIKE
29605f710e
fix(web): mirror onboarding navigation icons in RTL ( #30158 )
...
Co-authored-by: root <root@yazeed.localdomain>
2026-07-23 17:23:36 +02:00
NOBOIKE
cbb565b7b7
fix(web): mirror asset viewer navigation icons in RTL ( #30151 )
2026-07-23 12:22:45 +02:00
okxint
3bd580e37d
fix(web): restore correct back route when opening person asset via direct URL ( #30129 )
2026-07-23 09:06:59 +00:00
okxint
8a875f5978
fix(web): use correct date field for shift-click range in Recently Added ( #30071 )
2026-07-22 11:53:45 +02:00
Yaros
99370b2ac4
fix: admin user details responsive layout ( #30114 )
2026-07-22 10:54:26 +02:00
Priyanshu
b70cb58bc8
fix(web): improve slideshow controls visibility on bright backgrounds ( #29950 )
...
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-07-21 15:58:51 +00:00
Roberto Carlos Martinez Arriaga
e6fff3b15e
feat(web): add maintenance link to command palette ( #30016 )
2026-07-21 16:27:23 +02:00
Jason Rasmussen
899f547053
fix(web): lens model search ( #30088 )
2026-07-21 13:54:28 +00:00
renovate[bot]
aa08dad1f5
chore(deps): update dependency eslint-plugin-unicorn to v72 ( #30092 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-21 15:33:46 +02:00
Mees Frensel
1cec7021e8
fix(web): space between device type and version ( #30102 )
2026-07-21 11:08:29 +00:00
renovate[bot]
df970da59e
chore(deps): update dependency eslint-plugin-unicorn to v70 - abandoned ( #29684 )
...
* chore(deps): update dependency eslint-plugin-unicorn to v70
* fix: linting
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-20 23:47:14 -04:00
Rust
8061a2e5ff
fix(web): fix Country/State filters when set to Unknown ( #30026 )
...
* fix(web): create emptyStringToNull helper func and apply it to country/state search payload generation
* chore: feedback
* fix: other empty string fields
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2026-07-20 21:15:00 -05:00
Matthias Keim
89d0a9d59f
fix(web): attach file picker input to DOM so iOS Safari fires change … ( #29660 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-20 19:03:42 +00:00
Priyanshu
4a4d468aa2
fix(web): refresh folder view after asset deletion ( #29899 )
2026-07-20 18:20:52 +02:00
Priyanshu
522def1ed6
fix(web): align ContextMenu z-index with design-system token ( #30015 )
...
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-20 13:54:59 +00:00
renovate[bot]
a3dd19cd2f
fix(deps): update typescript-projects ( #29633 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-16 20:14:05 +02:00
Yaros
fe3eb7d865
feat(web): undo archive from toast ( #27061 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-07-16 17:53:02 +02:00
Diogo Correia
c50a807bc1
feat(web): add wake lock when uploading assets ( #29820 )
2026-07-16 12:41:37 +02:00
cevdet
f73c53c563
chore(seo): remove redundant twitter metadata tags ( #29801 )
2026-07-16 12:29:38 +02:00
Daniel Dietzler
eda605c534
fix(web): clear birth date ( #29959 )
2026-07-15 18:32:53 +00:00
Mees Frensel
e00dcf7850
fix(web): URI encode slug and reduce confusion for users ( #29796 )
...
Co-authored-by: bwees <brandonwees@gmail.com>
2026-07-15 19:32:05 +02:00
Jorge Montejo
55dc579059
feat(web): Keep show more open on duplicates ( #29734 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-15 11:22:36 +00:00