Commit graph

3007 commits

Author SHA1 Message Date
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