bo0tzz
a316ba35ca
fix: shared check for server setup availability ( #30311 )
...
* fix: shared check for server setup availability
* chore: add medium test
* feat: require @Authenticated decorator everywhere
* fix: lints
2026-07-30 15:12:25 -04:00
Alexander J
0293414abd
fix: minor typos ( #30385 )
2026-07-30 00:05:11 +02:00
bo0tzz
b468459b1a
chore: add test for admin controller permissions ( #30316 )
2026-07-28 15:44:51 +02:00
Daniel Dietzler
f68815e35f
fix: calendar heatmap api key permissions ( #30314 )
2026-07-28 12:16:59 +02:00
renovate[bot]
4225281f9f
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.15 ( #30301 )
2026-07-28 11:36:43 +02:00
Daniel Dietzler
6c86d39f6d
fix: calendar heatmap permissions ( #30310 )
2026-07-28 11:33:10 +02:00
github-actions
8aa95c6747
chore: version v3.1.0
2026-07-27 18:20:33 +00:00
bo0tzz
3606144190
chore: clarify MediaRepository extract logging ( #30249 )
2026-07-26 13:02:57 -04:00
Daniel Dietzler
b08f6b9c50
chore: medium tests system config helpers ( #30174 )
2026-07-24 21:27:31 +02:00
bo0tzz
4a5f13d0e5
fix: don't skip person thumbnail generation if ML is disabled ( #30194 )
2026-07-24 10:06:32 -04:00
Jason Rasmussen
acc7e6b299
fix: min faces user preference ( #30177 )
2026-07-23 17:06:09 -04:00
Timon
f24a128319
feat(server): new search schemas and query builders ( #28686 )
2026-07-22 22:33:23 +00:00
Jason Rasmussen
b9f6c4aaf2
feat: password invalidate sessions ( #30125 )
2026-07-22 12:09:05 -04:00
Aditya Raj Singh
a0c7b81142
fix(server): dissolve stack when its non-primary assets are deleted ( #29354 )
2026-07-22 13:00:52 +02:00
Ben Beckford
0f5bf6071f
chore(server): test assetDateFilter workflow method ( #30110 )
2026-07-22 10:48:31 +02:00
Imperator Ruscal
a560e08693
fix: re-evaluate OIDC role claim on every login and support array values ( #29991 )
...
* fix(server): re-evaluate OIDC role claim on every login and support array values
Previously the OIDC role claim (immich_role) was only read at user
auto-registration time and only accepted as a scalar string, so admin
status never updated after the first login and array-valued role/group
claims (common with Keycloak, Entra ID, etc.) were silently ignored.
Now the role claim is normalized from either a string or an array of
strings, and existing users have their isAdmin flag synced from the
claim on every login, keeping the IdP as the source of truth for
privileges while leaving isAdmin untouched when the claim is blank.
* fix(server): use .includes() instead of .some() for role claim check
Satisfies unicorn/prefer-includes lint rule flagged by CI.
* fix(server): resolve missing role claim to standard user and fix test mock
Default the OIDC role claim to 'user' when the IdP omits it so
auto-registration doesn't crash, and add the missing getAdmin mock in the
auth.service test so it correctly simulates an existing admin rather than
the first-user-registration path.
* fix: claim sync logic
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2026-07-21 17:21:19 -04:00
Daniel Dietzler
5d7283e44d
fix: album update event emitting ( #30120 )
2026-07-21 19:43:27 +00:00
Lorenzo Rota
73329a8ce8
fix(server): send id_token_hint on OIDC logout ( #29720 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-21 19:19:13 +02:00
Timon
ee4bd3f833
feat: add album asset event handling ( #29008 )
...
* feat: add album asset event handling
* fix medium tests
* patch medium test
* collapse in AlbumUpdate
2026-07-21 10:55:46 -05: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]
ce022233ae
chore(deps): update base-image to v202607211135 ( #30090 )
2026-07-21 13:58:02 +02:00
Rust
1b4d41324e
fix(server): file uploads for files with extension only filenames ( #30024 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-21 11:57:28 +00: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
renovate[bot]
e918658cc1
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.11 ( #30086 )
2026-07-21 12:24:32 +02: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
Daniel Dietzler
77091b0107
fix: search statistics locked folder permissions ( #30063 )
...
fix; search statistics locked folder permissions
2026-07-20 20:08:42 -04:00
Daniel Dietzler
4c754f2999
fix: timebuckets locked permissions ( #30066 )
2026-07-20 20:07:56 -04:00
Ben Beckford
f2c00c107d
fix(server): return workflow steps in ascending order ( #29999 )
2026-07-17 11:30:40 +02:00
renovate[bot]
f18065b3c2
chore(deps): update dependency @types/node to ^24.13.3 ( #29892 )
2026-07-16 20:31:45 +02: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
Ryan Rockey
80cdfebbc7
fix: zero byte image uploads ( #29426 )
2026-07-16 13:00:07 +02:00
cevdet
f73c53c563
chore(seo): remove redundant twitter metadata tags ( #29801 )
2026-07-16 12:29:38 +02:00
Mert
d2744f52b1
fix(server): disable heif security limit ( #29954 )
...
disable security limit
2026-07-16 04:40:33 -05:00
renovate[bot]
834cc54abc
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.7 ( #29893 )
2026-07-15 18:45:35 +00:00
Timon
4c2d2284aa
refactor(server): album user route params ( #29503 )
2026-07-15 18:15:41 +00:00
Andreas Heinz
e7f773197f
fix(server/workflow): add trigger for external libraries AssetCreate ( #29597 )
2026-07-15 19:30:33 +02:00
Raul
b4530b0671
fix(server): workflow date filter, make end date inclusive ( #29876 )
...
Co-authored-by: Raul Plesa <raul.plesa@external.grifols.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-15 10:50:03 +00:00
Lorenzo Montanari
a04e2ddeca
fix(server): updated default CSP config to support videos from V3 player ( #29830 )
2026-07-15 12:49:18 +02:00
github-actions
cd308ad930
chore: version v3.0.3
2026-07-14 21:10:19 +00:00
Mert
89b0d906e8
fix(server): set hvc1 tag when using hwa ( #29908 )
...
fix hvc1 check
2026-07-14 11:03:30 -04:00
Daniel Dietzler
2ed8b2bddd
fix: memory search date validation ( #29907 )
2026-07-14 16:34:38 +02:00
renovate[bot]
20e123c839
chore(deps): update base-image to v202607132058 ( #29895 )
2026-07-14 11:16:42 +02:00
Daniel Dietzler
35fcca6254
fix: locked visibility in search random endpoint ( #29887 )
2026-07-13 20:03:20 +00:00
shenlong
99883096d6
fix: still part of live photo hidden on bg upload ( #29884 )
...
* fix: still part of live photo hidden on bg upload
* add foreground tests
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-13 14:50:06 -05:00
Daniel Dietzler
84dff19ca9
fix: unauthorized album owner update ( #29883 )
2026-07-13 11:46:18 -05:00
github-actions
443b856ac3
chore: version v3.0.2
2026-07-09 17:33:21 +00:00
Daniel Dietzler
fea0db02f3
fix: emit album update event when uploading assets through shared link ( #29757 )
2026-07-09 15:21:16 +02:00
Ben Beckford
c5222c7579
chore(server): use bounded numbers in workflows ( #29009 )
...
* chore(server): use bounded numbers in workflows
* chore: increase precision for lat/lon filtering
* chore: re-add integer to a json schema type
2026-07-08 17:15:48 -07:00
Daniel Dietzler
66e30d5fa1
fix: missing files integrity checks ( #29737 )
2026-07-08 14:53:46 -05:00
Daniel Dietzler
053a52aec8
fix: iso date parsing for three digit years ( #29739 )
2026-07-08 14:53:16 -05:00