Commit graph

3488 commits

Author SHA1 Message Date
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
Jason Rasmussen
2f48a8aab4
refactor: memory e2e (#30906) 2026-08-21 12:15:17 -04:00
Jason Rasmussen
caea849fee
feat: asset file apis (#25900)
* feat: asset file endpoints

* Update server/src/controllers/asset-file.controller.ts

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

* Update server/src/controllers/asset-file.controller.ts

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-08-21 13:55:25 +00:00
Daniel Dietzler
8ae98f2a04
fix: quote database owner in restore (#30905) 2026-08-21 15:11:20 +02:00
Holegots
57ce9b2221
fix(server): correct asset dimensions from exif metadata (#29244)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-21 13:32:17 +02:00
Jason Rasmussen
4c26a7ca76
refactor: activity e2e (#30896) 2026-08-21 12:57:50 +02:00
Patryk Gęborys
8ce6b18563
fix(server): library exclusion patterns can soft-delete assets outside their directory (#30850)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-21 12:28:12 +02: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
Jason Rasmussen
c7531a36f9
refactor: partner e2e (#30895) 2026-08-20 17:32:51 -04:00
Sacha Brouté
c7f6197e75
feat: add oauth account management url (#30873) 2026-08-20 21:31:34 +00:00
Jason Rasmussen
24532c4d82
fix(ci): docker caching (#30894) 2026-08-20 16:37:43 -04: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
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
Jason Rasmussen
47dccf7283
refactor: dockerfile caching (#30874) 2026-08-19 16:52:50 -04:00
Yaros
7165eb61eb
fix(server): unicode email validation (#30871) 2026-08-19 16:40:10 -04:00
renovate[bot]
bd2cbb751b
fix(deps): update sharp to ^0.35.3 (#29132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-19 15:49:10 -04:00
Jason Rasmussen
7cd0a7d30c
refactor: e2e tests (#30870) 2026-08-19 14:31:57 -04:00
Jason Rasmussen
c63824bcea
refactor: library e2e (#30867) 2026-08-19 11:49:41 -04:00
Jason Rasmussen
d2759ec41e
refactor: library e2e (#30865) 2026-08-19 10:36:35 -04:00
Jason Rasmussen
db3b31709d
refactor: library controller tests (#30863) 2026-08-19 09:54:08 -04:00
Jonathan Jogenfors
2018e4f8c4
chore(server): migrate library e2e tests (#27277)
* migrate library e2e tests

* fix: real storage repo

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-08-19 13:14:40 +00:00
Timon
3c279983bc
fix(server): Sort stacked assets by creation date (#24033)
* feat: add ordering by file creation date in asset and stack repositories

* refactor: update asset aggregation to include JSON formatting and ordering by creation date

* refactor: add ordering by file creation date in asset aggregation queries

* fix: types

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-08-18 21:38:58 +00:00
Chandan P
17d4e39af3
fix(server): do not throw on unparsable DB_URL when building backup arguments (#30759)
Closes #30331

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-08-18 17:17:47 -04: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
80a90fabf3
fix(server): update ocr & faces after asset edit (#29303)
* fix: update ocr & faces after asset edit

* chore: remove client-side refresh

* fix(server): sync asset OCR visibility changes

* chore: prettier format

* test: missing updatedAt

* chore: remove comment

* chore: fix test

* chore: update migration timestamp

* chore(server): AssetOcrSyncReset

* chore: migration timestamps

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-18 14:32:21 +00:00
enol5423
618dc0d397
fix(server): respect backpressure in the sync stream (#30764)
Co-authored-by: enol5423 <your-email@example.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-18 13:30:23 +00:00
Priyanshu
b0a9468da7
fix(server): guard createAll against empty values list (#30837)
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-08-18 13:56:37 +02:00
renovate[bot]
4d319cbd0d
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.8.8 (#30834) 2026-08-18 13:08:52 +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
renovate[bot]
3cec8fcc3c
chore(deps): update base-image to v202608111116 (#30818) 2026-08-17 13:01:30 +00:00
Ben Beckford
f9c05af45f
fix(server): migration order (#30774) 2026-08-14 21:10:28 +00:00
Jason Rasmussen
342a9472c4
refactor: duplicate e2e (#30773) 2026-08-14 21:00:13 +00:00
Jason Rasmussen
14241ac7bc
chore(server): remove unused code (#30772)
chore(server): remove unnused code
2026-08-14 16:58:14 -04:00
Daniel Dietzler
6a61901e79
fix: shared link create validation (#30762) 2026-08-14 22:04:32 +02: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
ihmcsm
af33a78d18
fix: typos in debug log messages (#30742) 2026-08-13 09:30:19 +00: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
199723261c
fix: owner cascade delete album (#30692) 2026-08-11 23:05:18 +02:00
Daniel Dietzler
a55dc80a56
chore: enforce strict equality checks (#30718) 2026-08-11 13:15:51 -04:00
Jason Rasmussen
00d10dab63
refactor: e2e user tests (#30716) 2026-08-11 12:39:25 -04:00
Jason Rasmussen
1b8cbaab97
refactor(server): migrate e2e auth/validation tests to controller specs (#30715)
Co-authored-by: Claude (thor) <claude@thor.local>
2026-08-11 11:02:14 -04:00
Jason Rasmussen
ee525f159b
refactor: queue in batches (#30698) 2026-08-11 10:01:42 -04:00
Jason Rasmussen
927b4d0ea2
refactor: find or fail (#30697) 2026-08-11 09:27:35 -04:00
renovate[bot]
c89104d144
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.8.3 (#30699) 2026-08-11 12:21:04 +02:00
Daniel Dietzler
5ad1e4e0f7
fix: medium tests dependencies (#30612) 2026-08-07 11:36:20 +02:00
renovate[bot]
099cb25ce0
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.8.1 (#30542) 2026-08-04 20:58:32 +02:00
Daniel Dietzler
0d7147dcec
fix: metadata extraction as LensModel can be a float (#30512) 2026-08-03 18:18:24 +02:00