bo0tzz and GitHub
3606144190
chore: clarify MediaRepository extract logging ( #30249 )
2026-07-26 13:02:57 -04:00
bo0tzz and GitHub
4a5f13d0e5
fix: don't skip person thumbnail generation if ML is disabled ( #30194 )
2026-07-24 10:06:32 -04:00
Jason Rasmussen and GitHub
acc7e6b299
fix: min faces user preference ( #30177 )
2026-07-23 17:06:09 -04:00
Timon and GitHub
f24a128319
feat(server): new search schemas and query builders ( #28686 )
2026-07-22 22:33:23 +00:00
Jason Rasmussen and GitHub
b9f6c4aaf2
feat: password invalidate sessions ( #30125 )
2026-07-22 12:09:05 -04:00
Aditya Raj Singh and GitHub
a0c7b81142
fix(server): dissolve stack when its non-primary assets are deleted ( #29354 )
2026-07-22 13:00:52 +02:00
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 and GitHub
5d7283e44d
fix: album update event emitting ( #30120 )
2026-07-21 19:43:27 +00:00
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 and GitHub
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
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
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
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 and GitHub
77091b0107
fix: search statistics locked folder permissions ( #30063 )
...
fix; search statistics locked folder permissions
2026-07-20 20:08:42 -04:00
Daniel Dietzler and GitHub
4c754f2999
fix: timebuckets locked permissions ( #30066 )
2026-07-20 20:07:56 -04:00
Ben Beckford and GitHub
f2c00c107d
fix(server): return workflow steps in ascending order ( #29999 )
2026-07-17 11:30:40 +02:00
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 and GitHub
80cdfebbc7
fix: zero byte image uploads ( #29426 )
2026-07-16 13:00:07 +02:00
cevdet and GitHub
f73c53c563
chore(seo): remove redundant twitter metadata tags ( #29801 )
2026-07-16 12:29:38 +02:00
Mert and GitHub
d2744f52b1
fix(server): disable heif security limit ( #29954 )
...
disable security limit
2026-07-16 04:40:33 -05:00
Timon and GitHub
4c2d2284aa
refactor(server): album user route params ( #29503 )
2026-07-15 18:15:41 +00:00
Andreas Heinz and GitHub
e7f773197f
fix(server/workflow): add trigger for external libraries AssetCreate ( #29597 )
2026-07-15 19:30:33 +02:00
Mert and GitHub
89b0d906e8
fix(server): set hvc1 tag when using hwa ( #29908 )
...
fix hvc1 check
2026-07-14 11:03:30 -04:00
Daniel Dietzler and GitHub
2ed8b2bddd
fix: memory search date validation ( #29907 )
2026-07-14 16:34:38 +02:00
Daniel Dietzler and GitHub
35fcca6254
fix: locked visibility in search random endpoint ( #29887 )
2026-07-13 20:03:20 +00:00
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 and GitHub
84dff19ca9
fix: unauthorized album owner update ( #29883 )
2026-07-13 11:46:18 -05:00
Daniel Dietzler and GitHub
fea0db02f3
fix: emit album update event when uploading assets through shared link ( #29757 )
2026-07-09 15:21:16 +02:00
Ben Beckford and GitHub
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 and GitHub
66e30d5fa1
fix: missing files integrity checks ( #29737 )
2026-07-08 14:53:46 -05:00
Daniel Dietzler and GitHub
053a52aec8
fix: iso date parsing for three digit years ( #29739 )
2026-07-08 14:53:16 -05:00
Daniel Dietzler and GitHub
655cd01d57
fix: search metadata for album shared links ( #29742 )
2026-07-08 20:32:20 +02:00
Mert and GitHub
cfd95f0196
fix(server): stream ffprobe packets ( #29723 )
2026-07-08 12:51:22 -04:00
Daniel Dietzler and GitHub
7a9b9e01be
feat: user agnostic database restore ( #29512 )
2026-07-07 21:16:48 +02:00
Daniel Dietzler and GitHub
0cbe07c4d4
fix: integrity checks dto validation ( #29621 )
2026-07-07 20:49:26 +02:00
Daniel Dietzler and GitHub
704b287bba
fix: integrity checks checksum pagination ( #29516 )
2026-07-07 18:42:14 +02:00
Daniel Dietzler and GitHub
f8e78792b8
fix: oauth account linking ( #29624 )
2026-07-07 11:21:27 -05:00
Mert and GitHub
69d568f289
feat(server): hls variant configuration ( #29613 )
...
* configure variants
* openapi
* dynamic level
* unnecessary width/height fields
* add web config
* allow 1440p and 2160p
* more helpful descriptions
* simplify level picker
* formatting
* integer instead of number
2026-07-06 14:57:48 -04:00
Lukas Schaefer and GitHub
5645149e09
fix: downmix audio to stereo to fix broken channel layout ( #29485 )
...
* fix: downmix audio to stereo to fix broken channel layout
Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz >
* add todo
Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz >
---------
Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz >
2026-07-03 10:55:12 -04:00
Ben Beckford and GitHub
237734bb26
feat(web): recently added link in sidebar ( #29039 )
...
* feat(web): recently added link in sidebar
* chore(mobile): update openapi patches
2026-07-01 23:12:50 +00:00
Daniel Dietzler and GitHub
deeb042a9e
feat: honor album access permissions in search endpoints ( #29352 )
2026-06-29 22:27:22 +02:00
Daniel Dietzler and GitHub
b4cc406a3f
fix!: search endpoints visibility can be omitted ( #29385 )
2026-06-29 22:00:02 +02:00
Padhai_Kaneer and GitHub
df383c1ead
fix(server): face region coordinates parsing ( #29333 )
2026-06-29 17:05:20 +02:00
953ef5c047
feat: webhook workflow action ( #29258 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-06-26 16:08:45 +02:00
a876d4a9f1
fix: small typo in openapi-spec ( #29308 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-06-26 10:28:52 +00:00
Daniel Dietzler and GitHub
9751530af8
feat: plugin wrapper type safety ( #29300 )
2026-06-24 15:22:35 -04:00
Ben Beckford and GitHub
99f94a363d
chore(web): workflow property ordering ( #29261 )
...
* chore(web): workflow property ordering
* chore(web): extract schema property sorting to method
2026-06-23 13:03:33 +00:00
0656e7e231
chore(deps): update dependency typescript to v6 ( #28772 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-06-23 14:01:09 +02:00
Timon and GitHub
f22836e1bf
refactor(server): describe check upload id as string ( #29274 )
2026-06-23 12:42:42 +02:00
Jason Rasmussen and GitHub
ec7c0f9ec8
fix: sync backfill ( #29267 )
2026-06-22 16:19:01 -04:00