Ben Beckford
351be95769
feat: memories view ( #28675 )
...
* wip web memories view
* paginate searchMemories
* improve memories ui
* feat(mobile): memories view
* improve memories web ui
* fix(web): avoid unnecessary memory refreshes
* refactor(web): move timline memory manager filter
* fix(web): memories infinitely loading on 0 results
* fix(web): memories resetting
* feat(web): animated memory previews
* feat(web): memory page dark styling
* chore(mobile): fix failing memory lane tests
* chore(mobile): remove old import
* chore(e2e): fix failing memory lane tests
* chore(server): revert searchMemories changes
* chore(server): lint
* chore(mobile): fix bad merge
* chore(e2e): fix memory ui tests
* chore(web): rename /memory to /memories
* chore(mobile): linting
* chore(web): linting
* fix(web): prevent duplicate memory page loading
* fix(web): lint
* fix(web): memories page improvements
* chore(mobile): lint
* fix(mobile): fix translations
* fix(mobile): build errors
* fix(web): prevent memories from infinitely loading
* chore(e2e)): fix failng memory viewer test
* chore(web): clean up types in memory manager
* chore(web): lint
* feat: update list and detail memory page layouts
* onlyFavorites through drift
* rename to get all
* mobile: use widgetWhen in memory list page
* remove redundant check
* fix: e2e
---------
Co-authored-by: Timon <mail@timonrieger.de>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-24 19:16:33 -05:00
Moshiour Rahman
0b75b20267
perf(web): use hash-wasm SHA-1 with pure-JS fallback for upload hashing ( #30107 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-24 20:24:04 +02:00
Brandon Wees
6f6f2362d7
chore: lint for unguarded redirect URL reading ( #30950 )
...
* chore: lint for unguarded redirect URL reading
* fix: double continue wrapper
2026-08-24 10:07:45 -04:00
Brandon Wees
cbf5d83a69
fix: maintentance return URL sanitization ( #30948 )
2026-08-23 17:49:11 +00:00
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]
20edf0051c
fix(deps): update typescript-projects ( #30839 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-18 12:24:54 +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
Yuichiro Yamashita
01e40c0748
chore: speed up lint ~4x by enabling svelte-eslint-parser's ts.sys hook ( #30782 )
2026-08-17 19:52:43 +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
Mees Frensel
2a1691868e
chore: use import.meta.dirname instead of __dirname ( #30738 )
2026-08-12 18:01:30 +02: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
renovate[bot]
7fea9f2066
fix(deps): update dependency @immich/ui to ^0.85.0 ( #30705 )
2026-08-11 12:02:06 +02: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]
b3718fd18a
chore(deps): update dependency @testing-library/jest-dom to v7 ( #30308 )
2026-08-03 11:53:40 +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
bo0tzz
6afcc39fb2
chore: sequence pnpm installs in mise tasks ( #30412 )
2026-07-30 15:12:42 -04:00
github-actions
8aa95c6747
chore: version v3.1.0
2026-07-27 18:20:33 +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
renovate[bot]
8365cdd59e
chore(deps): update dependency typescript to v7 ( #29903 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-21 13:36:57 +02:00
Mees Frensel
1cec7021e8
fix(web): space between device type and version ( #30102 )
2026-07-21 11:08:29 +00:00