Daniel Dietzler
5d7283e44d
fix: album update event emitting ( #30120 )
2026-07-21 19:43:27 +00:00
Lorenzo Rota and Daniel Dietzler
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] and Daniel Dietzler
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
renovate[bot] and Daniel Dietzler
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
cevdet
f73c53c563
chore(seo): remove redundant twitter metadata tags ( #29801 )
2026-07-16 12:29:38 +02:00
Andreas Heinz
e7f773197f
fix(server/workflow): add trigger for external libraries AssetCreate ( #29597 )
2026-07-15 19:30:33 +02: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
35fcca6254
fix: locked visibility in search random endpoint ( #29887 )
2026-07-13 20:03:20 +00:00
Daniel Dietzler
84dff19ca9
fix: unauthorized album owner update ( #29883 )
2026-07-13 11:46:18 -05:00
Daniel Dietzler
fea0db02f3
fix: emit album update event when uploading assets through shared link ( #29757 )
2026-07-09 15:21:16 +02:00
Daniel Dietzler
66e30d5fa1
fix: missing files integrity checks ( #29737 )
2026-07-08 14:53:46 -05:00
Daniel Dietzler
655cd01d57
fix: search metadata for album shared links ( #29742 )
2026-07-08 20:32:20 +02:00
Daniel Dietzler
7a9b9e01be
feat: user agnostic database restore ( #29512 )
2026-07-07 21:16:48 +02:00
Daniel Dietzler
704b287bba
fix: integrity checks checksum pagination ( #29516 )
2026-07-07 18:42:14 +02:00
Daniel Dietzler
f8e78792b8
fix: oauth account linking ( #29624 )
2026-07-07 11:21:27 -05:00
Mert
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
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
Daniel Dietzler
deeb042a9e
feat: honor album access permissions in search endpoints ( #29352 )
2026-06-29 22:27:22 +02:00
Daniel Dietzler
b4cc406a3f
fix!: search endpoints visibility can be omitted ( #29385 )
2026-06-29 22:00:02 +02:00
Padhai_Kaneer
df383c1ead
fix(server): face region coordinates parsing ( #29333 )
2026-06-29 17:05:20 +02:00
Ben Beckford and Daniel Dietzler
953ef5c047
feat: webhook workflow action ( #29258 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-06-26 16:08:45 +02:00
renovate[bot] and Daniel Dietzler
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
Anthony Clerici
c0bf5a4c56
fix(server): use VBR for QSV so the max bitrate is respected ( #29240 )
...
* fix(server): use VBR for QSV so the max bitrate is respected
* update test
2026-06-22 09:56:20 -04:00
Mert
7ef2de6b53
feat(server): add hls playlist hint ( #29150 )
...
* add playlist hint
* update api
* unused import
* update crf in tests
2026-06-17 19:02:10 -04:00
Jeevan Mohan Pawar and Daniel Dietzler
a364b56b1c
fix(server): skip existing users when sharing albums ( #28884 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-06-17 15:54:20 +02:00
Mees Frensel
430a2bbfd3
chore(server): add switch case exhaustiveness lint ( #29029 )
2026-06-17 12:04:41 +02:00
Daniel Dietzler
e70a1163f3
fix: too strict cron expression validation ( #29138 )
2026-06-16 13:20:40 +00:00
Timon and Daniel Dietzler
cc8d3b4107
fix(server): do not merge metadata when multiple duplicates are kept ( #29035 )
...
* fix(server): do not merge metadata when multiple duplicates are kept
* Update server/src/services/duplicate.service.spec.ts
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-06-15 16:05:04 -04:00
Timon
b633cc4f04
fix(server): hide partner archived asset locations from map ( #29028 )
2026-06-15 16:30:52 +02:00
Daniel Dietzler
43b2d04e2c
fix: version tests ( #29032 )
2026-06-12 15:54:42 +00:00
Mert
aa126e377c
fix(server): add hint header for segment after init.mp4 ( #28867 )
...
* add hint header for segment after init.mp4
* use zod
* actually validate
* update openapi
* linting
2026-06-10 19:18:36 -04:00
Paul Makles and Daniel Dietzler
74878628c8
feat: integrity check jobs (missing files, untracked files, checksums) ( #24205 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
Signed-off-by: izzy <me@insrt.uk >
2026-06-10 21:02:27 +02:00
Mees Frensel
4ead3e697d
chore(server): update asset not ready error messages ( #28968 )
2026-06-10 20:23:17 +02:00
bo0tzz
d3680871ef
feat: warn if microservices worker is missing ( #28869 )
...
* feat: warn if microservices worker is missing
* fix: ci
2026-06-10 09:31:32 -04:00
Timon
d10153bbc7
fix(server): hide isFavorite from album asset sync stream ( #28923 )
...
* fix(server): hide isFavorite from album asset sync stream
* some tests
* Revert "some tests"
This reverts commit 3242e6961cc41a82d05ba6cd1bcfd2087e5d02ca.
* alter existing test to clear test's intent
* Reapply "some tests"
This reverts commit f1d4c47f5f6cc38d80a8afa153878692f7b252b3.
* drop one
* sql
2026-06-09 00:03:03 -04:00
joojoooo and Jason Rasmussen
164cda87a3
fix(web): use irot/imir tags for HEIF Orientation ( #27820 )
...
* fix(web): use irot/imir tags for HEIF Orientation
* ignore Exif Orientation for HEIF images per MIAF standard compliance
* add Rotation and Mirroring to exiftool numericTags
* add isHeifBasedImage function to detect HEIF-based image extensions
* add getHeifBasedOrientation method to map irot/imir tags to ExifOrientation
* removed mirroring, simplified code
* Removed "Based" in "heifBased"
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-06-08 09:33:28 -04:00
Timon
474efd39f8
refactor(server): prevent sharing album with owner by filtering out user from albumUsers ( #28891 )
...
fix(server): prevent sharing album with owner by filtering out user from albumUsers
2026-06-07 17:46:26 -04:00
Yaros
733373c0ca
feat(mobile): ocr support ( #26523 )
2026-06-05 04:29:03 +05:30
b3d49045de
feat: user upload heatmap ( #28593 )
...
* Feat - Heatmap
* Implemented Comments to prettify and code cleanup
* fixing code to pass cases.
* fixing errors for OpenAPI Clients
* Improving the code.
* Fix code
* Rerun generated client check
* Rerun generated client
* feat: command for user pages (#28554 )
* fix(web): timeline stuttering with many assets in 1 day (#28509 )
* fix(web): timeline stuttering with many assets in 1 day
* cache isInOrNearViewport per day
* skip inOrNearViewport check on first run
* chore(ml): allow insightface 1.x (#28595 )
* chore(ml): allow insightface 1.x
The new insightface 1.0 release appears to have no breaking code changes nor relevant license changes ([before](https://github.com/deepinsight/insightface/blob/2a78baec428354883e0cda39c54b555a5ed8358a/README.md ), [after](https://github.com/deepinsight/insightface/blob/70f3269ea628d0658c5723976944c9de414e96f8/README.md ), c.f. https://github.com/immich-app/immich/blob/fd7ddfef54cdf2b6256c4fc08bc5ff3f86176775/machine-learning/README.md ), and it works on my machine.
* Update uv.lock
* please excuse my incompetence
* Triggering the actions.
* bad merge
* Fix code
* Code clear
* Resolve conflict
* Resolve conflict
* Resolve conflict
* Resolve errors
* Resolve errors
* Resolve errors more
* chore: clean up
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: Ben Beckford <ben@benjaminbeckford.com >
Co-authored-by: Aaron Liu <aaronliu0130@gmail.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-06-04 15:36:09 -04:00
99281de6ab
refactor!: disallow star rating < 1 ( #27896 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
Co-authored-by: timonrieger <mail@timonrieger.de >
2026-06-04 17:06:28 +00:00
Timon and Jason Rasmussen
e2de8c7c53
refactor(server)!: remove changeExpiryTime ( #28816 )
...
* fix(mobile): clear shared link password
* fix(mobile): clear shared link description
* fix(mobile): clear shared link expiry
* refactor(server)!: remove changeExpiryTime
* fix(mobile): clear shared link expiry
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-06-04 08:35:45 +00:00
Timon
e94e22f3f8
fix(server): respect timezone in iso date string encoding ( #28810 )
2026-06-03 19:00:10 -04:00
shenlong and shenlong-tanwen
9287fa08c6
fix!: unauthorized face creation ( #28561 )
...
* fix: unauthorized face creation
* review changes
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-02 22:44:11 +05:30
Tim Jones
368cb7a4ad
feat: minimum face count per user ( #27452 )
...
* add user metadata table and use to filter persons in person.getAllForUser query
* update PersonRepository.getAllForUser query
* remove minFaces from PersonSearchOptions interface
* fix person.getAllForUser query
* update types and openapi specs
* add minFaces field to user settings page
* remove old arg from tests
* add e2e test to verify minimumFace user preference
* add i18n label and description for english
* update default min faces
* fetch minFaces ML default and use as per-user default in frontend
* update e2e tests
* fix bugs in people getAllForUser query
* update person getNumberOfPeople query to reflect correct number of people according to minFaces threshold
* updated mobile openapi specs?
* use subquery in coalesce instead of join
* remove out of scope query update
2026-06-02 18:05:55 +02:00
Mert
138e2d9158
feat(web): hls player ( #28312 )
...
* update e2e
* hls player
* fix transcoding restart on explicit quality selection
* move level filtering to manager
* move init to manager declaration
* refactor commit on release
* these lints...
* fix seek sometimes being ignored
* fix panic downswitch
2026-06-01 15:49:57 -04:00
Mert
7eabac6702
feat(server): hls with real-time transcoding ( #28230 )
...
* hls implementation
* fix stale state after ffmpeg exit
2026-06-01 18:52:29 +00:00