mgabor
2943f93098
feat: readonly album sharing ( #8720 )
...
* rename albums_shared_users_users to album_permissions and add readonly column
* disable synchronize on the original join table
* remove unnecessary FK names
* set readonly=true as default for new album shares
* separate and implement album READ and WRITE permission
* expose albumPermissions on the API, deprecate sharedUsers
* generate openapi
* create readonly view on frontend
* ??? move slideshow button out from ellipsis menu so that non-owners can have access too
* correct sharedUsers joins
* add album permission repository
* remove a log
* fix assetCount getting reset when adding users
* fix lint
* add set permission endpoint and UI
* sort users
* remove log
* Revert "??? move slideshow button out from ellipsis menu so that non-owners can have access too"
This reverts commit 1343bfa311
.
* rename stuff
* fix db schema annotations
* sql generate
* change readonly default to follow migration
* fix deprecation notice
* change readonly boolean to role enum
* fix joincolumn as primary key
* rename albumUserRepository in album service
* clean up userId and albumId
* add write access to shared link
* fix existing tests
* switch to vitest
* format and fix tests on web
* add new test
* fix one e2e test
* rename new API field to albumUsers
* capitalize serverside enum
* remove unused ReadWrite type
* missed rename from previous commit
* rename to albumUsers in album entity as well
* remove outdated Equals calls
* unnecessary relation
* rename to updateUser in album service
* minor renamery
* move sorting to backend
* rename and separate ALBUM_WRITE as ADD_ASSET and REMOVE_ASSET
* fix tests
* fix "should migrate single moving picture" test failing on European system timezone
* generated changes after merge
* lint fix
* fix correct page to open after removing user from album
* fix e2e tests and some bugs
* rename updateAlbumUser rest endpoint
* add new e2e tests for updateAlbumUser endpoint
* small optimizations
* refactor album e2e test, add new album shared with viewer
* add new test to check if viewer can see the album
* add new e2e tests for readonly share
* failing test: User delete doesn't cascade to UserAlbum entity
* fix: handle deleted users
* use lodash for sort
* add role to addUsersToAlbum endpoint
* add UI for adding editors
* lint fixes
* change role back to editor as DB default
* fix server tests
* redesign user selection modal editor selector
* style tweaks
* fix type error
* Revert "style tweaks"
This reverts commit ab604f4c8f
.
* Revert "redesign user selection modal editor selector"
This reverts commit e6f344856c
.
* chore: cleanup and improve add user modal
* chore: open api
* small styling
---------
Co-authored-by: mgabor <>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-04-25 04:19:49 +00:00
Mert
466451abc9
feat(server): env variable to skip migrations on startup ( #9069 )
...
* env variable to skip migrations
* update docs
* update env doc
2024-04-24 22:52:38 -04:00
renovate[bot]
f0f9053115
chore(deps): update base-image to v20240423 (major) ( #9064 )
...
chore(deps): update base-image to v20240423
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 17:31:29 -04:00
renovate[bot]
0466da03ae
fix(deps): update typescript-projects ( #9028 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 16:50:18 -04:00
Adam Jackson
661540c886
refactor(server, web, mobile): Change wording of memory titles ( #9025 )
...
Change wording of memory titles
2024-04-23 15:08:02 +00:00
Daniel Dietzler
7f1651df71
chore(server): enable swagger to take class validator rules into account ( #9022 )
...
* enable swagger to take class validator rules into account
* chore: open api
2024-04-22 18:13:44 -04:00
Mert
c30cd3b378
chore: test more formats in e2e ( #9001 )
2024-04-22 01:35:27 -04:00
Jason Rasmussen
a93534fc3c
refactor(server): session interface types ( #8977 )
2024-04-20 23:45:55 -04:00
Alex The Bot
a2180a467d
Version v1.102.3
2024-04-20 20:17:39 +00:00
Jason Rasmussen
1e3dceea4d
fix(server): session refresh ( #8974 )
2024-04-20 15:15:25 -05:00
Mert
fd4514711f
feat(server): enable AV1 encoding for NVENC ( #8959 )
...
allow av1 for nvenc
2024-04-20 14:52:50 -04:00
Alex The Bot
25549b87c9
Version v1.102.2
2024-04-20 15:55:32 +00:00
Jaryl Chng
caf76f0713
feat(server): enable AV1 encoding for QSV ( #8942 )
2024-04-20 10:36:00 -04:00
Alex The Bot
6eb1b82541
Version v1.102.1
2024-04-20 13:43:46 +00:00
Jason Rasmussen
171b6bb0a6
refactor: system metadata ( #8923 )
...
refactor(server): system metadata
2024-04-19 20:36:15 -04:00
Daniel Dietzler
78c7ff855d
refactor(server): move file file report endpoints to their own controller ( #8925 )
...
* move file report to its own controller
* chore: open api
2024-04-19 20:35:54 -04:00
Alex The Bot
886e07604e
Version v1.102.0
2024-04-19 20:08:02 +00:00
Mert
431ffebddd
feat(server): use embedded preview from raw images ( #8773 )
...
* extract embedded
* update api
* add tests
* move temp file logic outside of media repo
* formatting
* revert `toSorted`
* disable by default
* clarify setting description
* wording
* wording
* update docs
* check extracted image dimensions
* test that it unlinks
* formatting
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-04-19 10:50:13 -05:00
Jason Rasmussen
74c921148b
refactor(server): cookies ( #8920 )
2024-04-19 11:19:23 -04:00
Jason Rasmussen
4478e524f8
refactor(server): sessions ( #8915 )
...
* refactor: auth device => sessions
* chore: open api
2024-04-19 06:47:29 -04:00
Mert
596c35dc00
fix(server): skip invisible assets for thumbnail generation and ml ( #8891 )
...
* skip invisible assets for thumbnail generation and ml
* no need to update job status
* fix thumbhash check order
* linting
2024-04-19 01:37:55 +00:00
Mert
8573c84605
fix(server): include archived images in face detection ( #8892 )
2024-04-17 23:47:24 -04:00
Jason Rasmussen
3a9df6dae8
refactor(server): immich-admin list-users ( #8862 )
2024-04-17 12:27:04 +00:00
renovate[bot]
b21566c2fc
chore(deps): update node.js to d328c7b ( #8829 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 07:52:29 -04:00
Kevin Huang
17dc12cf7d
fix(server): storage usage calculation for motion photos ( #8722 )
...
* ignore non external assets in external libraries during syncUsage
* only update storage usage if asset is from internal libraries
* update storage usage on motion photo video asset creation
* updated metadata service tests
* added a test
* simplified syncUsage condition
* check for library type upload instead of not external
* fixed broken sql
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-04-17 03:04:59 +00:00
renovate[bot]
6d4d0f86cf
chore(deps): update base-image to v20240416 (major) ( #8660 )
...
* chore(deps): update base-image to v20240416
* fix e2e
* rename variable
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-04-16 22:55:05 -04:00
Jason Rasmussen
14b1425e98
feat(server): logging interceptor ( #8859 )
2024-04-16 19:21:57 -04:00
renovate[bot]
18fa6018c0
fix(deps): update typescript-projects ( #8834 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 17:45:14 -04:00
Jason Rasmussen
47fb9bd213
fix(server): correlationId ( #8858 )
2024-04-16 17:31:49 -04:00
AmAn Sharma
6e6deec40c
feat: use ILoggerRepository ( #8855 )
...
* Migrate ImmichLogger over to injected ILoggerRepository
* chore: cleanup and tests
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-04-16 17:30:31 -04:00
Jason Rasmussen
877207a2e6
chore(server): delete swap file ( #8856 )
2024-04-16 22:13:03 +02:00
Jason Rasmussen
50c9bc0336
chore: migrate to vitest ( #7156 )
...
* chore: jest => vitest
* chore: replace jest-when
2024-04-16 10:44:45 -04:00
Fynn Petersen-Frey
103cb60a57
feat(server): efficient full app sync ( #8755 )
...
* feat(server): efficient full app sync
* add SQL, fix test compile issues
* fix linter warning
* new sync controller+service, add tests
* enable new sync controller+service
* Update server/src/services/sync.service.ts
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2024-04-16 07:26:37 +02:00
Jason Rasmussen
dba365634a
chore(server): cleanup library watching ( #8835 )
...
chore: clean up library watching
2024-04-15 23:05:08 -04:00
Jason Rasmussen
2db76034b1
feat(server): correlation id via injected logger ( #8823 )
...
* feat(server): correlation id via injected logger
* feat: cid response header
2024-04-15 23:39:06 +00:00
renovate[bot]
3deaaf14c0
fix(deps): update dependency reflect-metadata to ^0.2.0 ( #8784 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 16:02:49 -07:00
yparitcher
ed74213c63
feat(server): server host binding ( #8800 )
...
* Allow setting the host address for the server & microservices
Default to listen on all interfaces as per the current behavior.
* (Docs) format: fix lint
2024-04-15 14:24:13 -04:00
Kevin Huang
85df3f1e99
fix(server): external library motion photo video asset handling ( #8721 )
...
* added "isExternal" to the getLibraryAssetPaths query
* handleQueueAssetRefresh skip "non external" video asset, closes #8562
* correctly implements live photo deletion for external library
* use "external asset" for external library tests
* minor: external library asset checksum is "path hash" not file hash
* renamed to getExternalLibraryAssetPaths and added isExternal where clause
* generated sql
* reverted leftover change
2024-04-14 19:55:44 -04:00
Jason Rasmussen
14b798fcc4
refactor: library e2e ( #8693 )
...
* refactor: library e2e
* migrate and refactor library e2e
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-04-12 21:15:41 +02:00
Kevin Huang
58346465aa
fix(server): link motion photo with existing video asset ( #8724 )
...
* added motion photo linking
* added tests
2024-04-11 09:49:21 -04:00
Kevin Huang
ec76e5ef23
fix(server): prevent cross-library motion photo linking, made getByChecksum library specific ( #8719 )
...
prevent cross linking
2024-04-11 09:41:30 -04:00
N00MKRAD
f1ca1794a1
Add AV1 transcoding support ( #8491 )
...
* Add AV1 transcoding support
- AV1 encoding on CPU via SVT-AV1 (libsvtav1 in ffmpeg)
- Supports CRF and optionally capped CRF (max bitrate)
- Tested playback successfully in Chrome Win+Android, Firefox Win+Linux, Android app
* AV1: Add support for encoding threads option
* Revert previous commit; specifying params multiple times is bad
We need to specify all svtav1-params at once, so putting the thread option into getThreadOptions is not possible.
* AV1: Override VAAPI getSupportedCodecs as it does not yet support AV1 unlike nvenc, qsv, amf
* Change BaseHWConfig supported codecs to only H264/HEVC
Configs that support VP9 and/or AV1 need to override getSupportedCodecs()
* Set SVT-AV1 threads with svtav1-params, remove duplicate block in NVENCConfig
* AV1Config: Fix empty svtav1-params array being added to options
* add tests
* update api
* allow crf-based two-pass mode
* formatting
* suggest 35
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-04-11 05:26:27 +00:00
Daniel Dietzler
ad5d115abe
fix(server): require asset permission when creating an album with them ( #8686 )
...
require asset permission when creating an album with them
2024-04-10 13:41:22 -04:00
renovate[bot]
321868963d
fix(deps): update typescript-projects ( #8651 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 21:08:37 +02:00
Alex
327b9bd59c
Revert "fix(deps): update typescript-projects ( #8647 )" ( #8650 )
...
This reverts commit 301c217303
.
2024-04-09 06:53:48 +02:00
renovate[bot]
301c217303
fix(deps): update typescript-projects ( #8647 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 23:44:48 -04:00
renovate[bot]
6631e6eedc
chore(deps): update node.js to 3fb85a6 ( #8643 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 22:33:50 -04:00
Jason Rasmussen
369bd17c8b
chore(server): remove unused method ( #8639 )
2024-04-08 17:23:45 -04:00
Daniel Dietzler
7b1562c050
fix(server): remove isWatched from DTO ( #8598 )
...
* fix: remove isWatched
* chore: open api
2024-04-08 16:00:08 -04:00
Kevin Huang
7a16233584
fix(server): delete thumbnail for readonly asset ( #8593 )
...
* delete thumbnail and other generated files even for readonly asset
* updated test
* don't delete sidecar file for readonly file
* fixed test
* improved external detection
2024-04-08 12:54:10 -04:00
renovate[bot]
fff12e3d78
chore(deps): update dependency eslint-plugin-unicorn to v52 ( #8629 )
...
* chore(deps): update dependency eslint-plugin-unicorn to v52
* chore: linting
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-04-08 12:45:46 -04:00
Jelle Dekker
29e47dd7c1
fix: npm i
on Windows … ( #8619 )
2024-04-08 10:53:27 -04:00
Mert
105a74caca
feat(server,web): configure image format ( #8581 )
2024-04-07 12:44:34 -04:00
Mert
55b9acca78
fix(server): hevc tag being set when copying a non-hevc stream ( #8582 )
2024-04-07 12:44:09 -04:00
Mert
0d130b8957
fix(server): x264/x265 params not being set correctly ( #8587 )
2024-04-07 12:43:50 -04:00
Mert
335c03d0b8
chore(server): better typing for system config key ( #8580 )
...
* config type safety
* typeorm fix
* typing fixes
* don't use enum in db
* add todo
2024-04-07 01:47:33 +00:00
Mert
4681ff88d0
fix(server): image config not being updated ( #8579 )
...
update system config key
2024-04-06 21:06:26 -04:00
Alex The Bot
3b0fff3b3d
Version v1.101.0
2024-04-05 02:39:51 +00:00
renovate[bot]
15a2e6feeb
fix(deps): update typescript-projects ( #8471 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 10:17:17 -04:00
Ben McCann
62d307321a
docs: add some details for getting started as a developer ( #8468 )
2024-04-02 11:56:33 -05:00
renovate[bot]
97c340b8a4
chore(deps): update node.js to fa5d3cf ( #8450 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 14:26:55 +00:00
renovate[bot]
7b1d4a6787
fix(deps): update typescript-projects to v10.3.7 ( #8461 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 14:26:47 +00:00
Jason Rasmussen
cd0e537e3e
feat: persistent memories ( #8330 )
...
* feat: persistent memories
* refactor: use new add/remove asset utility
2024-04-02 10:23:17 -04:00
renovate[bot]
0849dbd1af
fix(deps): update typescript-projects ( #8451 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 02:20:52 -04:00
Mert
8edc2fb46f
refactor(server): decouple generated images from image formats ( #8246 )
...
* rename
thumbnail config
update target paths, fix tests
rename to image settings
replace legacy enum
better typing
update sql
update api
remove config option
fix
* update docs
* update other thumbnail configs in migration
* keep legacy enum for now
* fix jumbled job names
* fix jumbled job names in tests
* rename thumbhash job
* rename dto
* fix tests
* preserve order
* remove unused import
* keep old fields in dto, marked deprecated
* update sql
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-04-02 04:56:56 +00:00
ZlabiDev
ee4d9fff16
fixes issue #8352 ( #8432 )
...
fixed issue #8352
2024-04-01 16:06:25 +00:00
Mert
5bc9158724
fix(server): penalize null geodata fields when searching places ( #8408 )
2024-03-31 10:59:11 -04:00
Pablo Diz
6a4bc777a2
Fix external library path validation #8319 ( #8366 )
...
* Fix isImmichPath
* prettier write
* Fis isImmichPath code comment
* Refactor isImmichPath function based on team suggestions
* Test isImmichPath
* fix: clean comments
* Refactor isImmichPath test based on team suggestions
* Clean code with lintern suggestions
2024-03-31 10:47:03 -04:00
mmomjian
b6af7788e1
feat(server): extensions for MPEG and 3GP ( #8400 )
...
* Update mime-types.spec.ts
* Update mime-types.ts
2024-03-30 21:48:01 -05:00
Jason Rasmussen
4b39d37cae
fix: sql generation issues ( #8361 )
...
chore: fix sql gen issues
2024-03-30 00:16:06 -04:00
Daniel Dietzler
6f677b4fae
refactor(server): extract add/remove assets logic to utility function ( #8329 )
...
extract add/remove assets logic to utility function
fix tests
chore: generate sql
foo
2024-03-29 07:56:16 -04:00
Daniel Dietzler
b8c5363a15
refactor(server): move timeline operations to their own controller/service ( #8325 )
...
* move timeline operations to their own controller/service
* chore: open api
* move e2e tests
2024-03-28 23:20:40 -04:00
Daniel Dietzler
b8b3c487d4
fix(server): map style not being available for shared assets ( #8341 )
...
* fix map style not being available for shared assets
* add e2e test
2024-03-28 23:19:05 -04:00
Jonathan Jogenfors
ec48fccb30
fix(server): add missing file extensions to library files ( #8342 )
...
* fix file extensions
* fix tests
* fix formatting
* fixed bug
* fix merts comments
2024-03-28 22:51:07 -04:00
Alex The Bot
16513b4a6e
Version v1.100.0
2024-03-28 18:36:38 +00:00
Alex
9b705e4450
chore(server): open-api memory lane number generation ( #8314 )
...
chore(server): openaapi memory lane number generation
2024-03-27 22:27:26 -05:00
Jason Rasmussen
9fe80c25eb
fix: memory lane assets in ascending order ( #8309 )
...
* fix: memory lane asset order
* chore: deprecate title
* chore: open-api
* chore: rename years => yearsAgo
2024-03-27 16:14:29 -04:00
renovate[bot]
916603d2d4
fix(deps): update typescript-projects ( #8287 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 12:07:49 -04:00
renovate[bot]
6295edcdb7
chore(deps): update base-image to v20240326 (major) ( #8291 )
...
chore(deps): update base-image to v20240326
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 09:17:48 -04:00
renovate[bot]
1ad893ded4
fix(deps): update typescript-projects ( #8281 )
...
* fix(deps): update typescript-projects
* chore: regenerate sql
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-03-26 02:39:57 +00:00
Mert
c45e28ab53
refactor(server): metric repo ( #8278 )
...
* refactor
* redundant `implements`
* simplify
* remove `enabled`
2024-03-25 23:15:11 +00:00
Daniel Dietzler
c56c04a82b
refactor(server): rename filesystem provider -> storage repo ( #8277 )
...
rename filesystem provider -> storage repo
2024-03-25 20:45:21 +00:00
Daniel Dietzler
1694dd146e
feat(server): add immich cli to container ( #8239 )
...
add immich cli to server container
2024-03-25 08:18:33 -04:00
Mert
4a6a0aa142
fix(server): places page not working with partner sharing ( #8257 )
2024-03-25 01:59:11 -04:00
Mert
c58a70ac8f
feat(server): job metrics ( #8255 )
...
* metric repo
* add metric repo
* remove unused import
* formatting
* fix
* try disabling job metrics for e2e
* import otel in test module
2024-03-24 23:02:04 -04:00
Jason Rasmussen
a771c563ba
chore(server): remove pre-installed cli ( #8224 )
2024-03-23 16:07:39 -04:00
Mert
b07a565e34
chore(server): change upsert signature for search repo ( #8210 )
...
* upsert embedding
* remove unused imports
2024-03-23 14:37:06 -04:00
Jason Rasmussen
787eebcf1e
refactor(server): new password repo method ( #8208 )
2024-03-23 14:33:25 -04:00
Mert
604b8ff17c
chore(server): remove getByDate from asset repo ( #8211 )
...
* remove getByDate
* remove unused import
2024-03-22 23:20:16 -05:00
Jason Rasmussen
6e93ddf2f1
refactor: server events ( #8204 )
...
* refactor: server events
* fix typo
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2024-03-22 18:24:02 -04:00
Jason Rasmussen
b6e4be72f0
chore(server): consolidate dto files ( #8201 )
...
chore: conoslidate dto files
2024-03-22 16:36:20 -04:00
Daniel Dietzler
d6823b128c
fix(server): validation events actually throwing an error ( #8172 )
...
* fix validation events
* add e2e test
2024-03-21 17:59:21 -05:00
Jason Rasmussen
dc3c329431
chore: remove unused type ( #8157 )
2024-03-21 14:36:10 +00:00
Jason Rasmussen
2a9f2b4515
refactor: app modules, main.ts ( #8156 )
2024-03-21 10:08:29 -04:00
Jason Rasmussen
382b63954c
refactor: asset v1, app.utils ( #8152 )
2024-03-21 09:07:47 -04:00
Daniel Dietzler
b588a87d4a
chore(server): rename domain repositories
-> interfaces
( #8147 )
...
rename domain repositories
2024-03-21 06:59:49 -05:00
Jason Rasmussen
16d0df796c
refactor: infra folder ( #8138 )
2024-03-20 23:15:09 -04:00
Daniel Dietzler
ef4a492cb1
chore(server): move services ( #8133 )
...
move services
2024-03-20 18:07:30 -05:00
Daniel Dietzler
6d9e7694b1
chore(server): move dtos ( #8131 )
...
move dtos
2024-03-20 23:53:07 +01:00
Jason Rasmussen
0c13c63bb6
refactor: infra/domain module ( #8130 )
2024-03-20 16:46:59 -05:00