Commit graph

3061 commits

Author SHA1 Message Date
Min Idzelis
2a95eccf6a
fix: vscode vitest ext - missing jsdom dev dependency (#17799) 2025-04-22 23:01:22 -04:00
renovate[bot]
a8eec92da7
chore(deps): update dependency @types/node to ^22.14.1 (#17770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-04-22 10:18:44 +00:00
Bonne Eggleston
fe8c5e8107
feat: add album start and end dates for storage template (#17188) 2025-04-21 19:54:33 -04:00
Jason Rasmussen
56a4aa9ffe
refactor: email repository (#17746) 2025-04-21 12:53:37 -04:00
Jason Rasmussen
488dc4efbd
refactor: notification-admin controller (#17748) 2025-04-21 10:49:26 -04:00
Daniel Dietzler
dd1fcd5be5
chore: remove asset entity (#17703) 2025-04-18 21:39:56 +00:00
Daniel Dietzler
52ae06c119
refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
Daniel Dietzler
854ea13d6a
chore: simplify asset getByIds (#17699) 2025-04-18 16:52:41 -04:00
Jason Rasmussen
160bb492a2
fix: skip initial kysely migration for existing installs (#17690)
* fix: skip initial kysely migration for existing installs

* Update docs/src/pages/errors.md

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-18 11:19:11 -05:00
Jason Rasmussen
6474a78b8b
feat: initial kysely migration file (#17678) 2025-04-17 17:38:47 -04:00
Jason Rasmussen
e275f2d8b3
feat: add foreign key indexes (#17672) 2025-04-17 14:41:06 -04:00
Mert
242a559e0f
refactor: query for fetching faces and people of assets (#17661)
* use json instead of jsonb

* missing condition
2025-04-16 19:00:55 -04:00
Jonathan Jogenfors
ed2b54527c
chore(server): don't check null dates (#17664) 2025-04-16 18:40:08 -04:00
Daniel Dietzler
8b38f8a58d
fix: do not select album in time bucket query (#17662) 2025-04-16 17:52:22 -04:00
yparitcher
29b30570bf
fix: use IMMICH_HOST in microservices (#17659) 2025-04-16 23:05:12 +02:00
Daniel Dietzler
586a7a173b
refactor: handle detect faces job query (#17660) 2025-04-16 22:52:54 +02:00
Daniel Dietzler
1bbfacfc09
refactor: more job query stuff (#17658) 2025-04-16 22:10:20 +02:00
Daniel Dietzler
85c2d36d99
refactor: dedicated get album thumbnail files query (#17657) 2025-04-16 21:10:27 +02:00
Jason Rasmussen
8cefa0b84b
refactor: migrate some e2e to medium (#17640) 2025-04-16 14:59:08 -04:00
Daniel Dietzler
f50e5d006c
refactor: dedicated queries for asset jobs (#17652) 2025-04-16 14:08:49 -04:00
Nils Uliczka
be2f670d35
fix: skip places that no longer exist in geo import (#17637) 2025-04-15 21:27:47 +00:00
Jason Rasmussen
8da5f21fcf
refactor: medium tests (#17634) 2025-04-15 15:54:23 -04:00
Jonathan Jogenfors
76db8cf604
refactor(server): remove asset placeholder (#17621)
chore: remove AssetEntityPlaceholder

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-04-15 15:53:49 -04:00
Daniel Dietzler
21becbf1b0
refactor: dedicated query for asset migration job (#17631) 2025-04-15 15:49:15 -04:00
Daniel Dietzler
5bceefce75
refactor: stream assets for thumbnail job (#17623) 2025-04-15 19:53:28 +02:00
Jason Rasmussen
b710ad36f3
feat: upgrade kysely (#17630)
* feat: upgrade kysely

* chore: pr feedback
2025-04-15 13:26:56 -04:00
Daniel Dietzler
270d178a2e
fix: unsafe cast (#17590) 2025-04-15 11:35:00 -05:00
Daniel Dietzler
309528c807
chore: upgrade package locks (#17626) 2025-04-15 11:34:21 -05:00
renovate[bot]
b3371e16f2
fix(deps): update typescript-projects (#17611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 15:55:03 +00:00
Jason Rasmussen
17e720440d
refactor: new asset-job repository (#17622)
* refactor: new asset-job repository

* fix: broken medium tests on main
2025-04-15 10:24:51 -04:00
Jason Rasmussen
f189c7b101
refactor: medium tests (#17599) 2025-04-15 08:53:14 -04:00
renovate[bot]
f73fce1046
chore(deps): update base-image to v202504081114 (major) (#17613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 12:47:10 +01:00
Mert
c3d10c5be2
refactor(server): non-nullable file metadata (#17598) 2025-04-15 12:03:31 +01:00
Jason Rasmussen
b2753103c6
chore: remove unused logger (#17593) 2025-04-14 15:01:49 -04:00
Daniel Dietzler
0b69d1c147
refactor: selected columns in queries (#17589) 2025-04-14 13:34:06 -05:00
Daniel Dietzler
184e142d87
refactor: migrate asset job status entity (#17560) 2025-04-14 12:21:56 +02:00
Andreas Tollkötter
8b00578c7b
fix: read longitude and latitude when reverse geocoding is off (#17558) 2025-04-14 10:43:46 +01:00
Erik Nygren
7562088fac
feat(server): parse EXIF creation time for some insta360 images (#17564)
It seems insta360 stores metadata in XMP GPano tags, with their own
non-standard and undocumented addition `SourceImageCreateTime`. For some
pictures this is the only EXIF tag containing a creation time.
2025-04-13 23:44:18 -04:00
Daniel Dietzler
a373034629
refactor: migrate stacks (#17559)
chore: migrate stacks
2025-04-12 08:33:35 -04:00
renovate[bot]
5dac315af7
fix(deps): update dependency @nestjs/common to v11.0.16 [security] (#17557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-12 12:31:18 +02:00
Daniel Dietzler
5548eb0dad
fix: live photo hiding (#17548) 2025-04-11 17:09:58 -05:00
Mert
25f2b9602f
refactor(server): remove face, person and face search entities (#17535)
* remove face, person and face search entities

update tests and mappers

check if face relation exists

update sql

unused imports

* pr feedback

generate sql, remove unused imports
2025-04-11 14:44:45 -04:00
Etienne
d7a782da34
feat: sync pictureFile with oidc if it isn't set already (#17397)
* feat: sync pictureFile with oidc if it isn't set already

fix: move picture writer to get userId

fix: move await promise to the top of the setPicure function before checking its value and automatically create the user folder

chore: code cleanup

* fix: extension double dot

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-04-11 13:00:39 -05:00
Jason Rasmussen
584e5894bf
refactor: user factories instead of stubs (#17540) 2025-04-11 11:53:37 -04:00
Jason Rasmussen
75c83cb704
refactor: metadata stub (#17532) 2025-04-10 21:58:55 +02:00
Jason Rasmussen
0b22d3348e
refactor: count all return type (#17529) 2025-04-10 14:38:49 -04:00
Jason Rasmussen
eaa0e07329
refactor: asset files entity (#17527) 2025-04-10 13:26:27 -04:00
Snowknight26
7fcab4b251
feat(server): read additional lens exif tags (#17125)
* fix(server): read additional lens exif tags

* Update order of read tags

* Fix e2e test

* Fix e2e test

* Fix e2e test

* Fix e2e test

* Update test

* Filter unknown lens exif data

* Formatting fixes
2025-04-10 12:02:41 -05:00
Jason Rasmussen
4412680679
refactor: remove unused shared users list (#17526) 2025-04-10 11:44:47 -05:00
Brandon Wees
7df2c9c905
fix: patch-package install in docker build and better postgres patch (#17523)
* always patch package when running npm i, install immich CLI outside of directory so post install doesnt run

* handles case where query is an object and defined but origin is not.

* move patch-package from a dev dependency to a normal dependency. Also copy the patches folder for the docker build to use and patch with

* fix Dockerfile

* use query.reject instead of throw for queryError

* package-lock to reflect the dev dependency change

* dont throw the error, just provide an empty string for query.origin if it does not exist

* remove npm link and demote patch-package back to a dev dependency

* modify patch to add defensive check to catch queries that will fail to parse and reject
2025-04-10 12:43:35 -04:00
Daniel Dietzler
7a1e8ce6d8
chore: remove exif entity (#17499) 2025-04-10 12:36:29 -04:00
Jason Rasmussen
8aea07b750
refactor: album user entity (#17524) 2025-04-10 11:53:21 -04:00
Zack Pollard
94dba29298
refactor: remove user entity (#17498) 2025-04-10 10:53:21 -04:00
Zack Pollard
d03647904b
refactor: remove move entity (#17489) 2025-04-09 11:54:20 -04:00
Jason Rasmussen
206545356d
refactor: metadata entity (#17492) 2025-04-09 11:45:30 -04:00
renovate[bot]
3e372500b0
fix(deps): update typescript-projects (#17456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-04-09 14:47:29 +00:00
Jason Rasmussen
8943ec23ba
refactor: more database types (#17490) 2025-04-09 10:24:38 -04:00
Jason Rasmussen
cf2c0260a6
refactor: activity item (#17470)
* refactor: activity item

* fix query

* qualified columns

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-04-09 08:35:20 -04:00
Alex
ae8af84101
fix: no thumbnail generated for motion assets (#17472) 2025-04-08 16:07:10 -05:00
Jason Rasmussen
4794eeca88
refactor: database types (#17468) 2025-04-08 12:40:03 -04:00
Alex
e5ca79dd44
refactor: remove session entity (#17466)
* refactor: remove session entity

* fix: test

* update sql

* remote export
2025-04-08 16:04:07 +00:00
Jason Rasmussen
49be6d7fd8
refactor: more database enums (#17465) 2025-04-08 12:02:05 -04:00
Daniel Dietzler
15c6506aee
fix: broken start/end dates on album update (#17467) 2025-04-08 15:47:44 +00:00
Jason Rasmussen
2c31a11e41
chore: replace generated enums with actual types (#17463) 2025-04-08 11:13:46 -04:00
Jason Rasmussen
b6c5a03533
refactor: remove tag entity (#17462) 2025-04-08 10:52:54 -04:00
Jason Rasmussen
fdbe6d649f
refactor: remove smart search entity (#17447)
refactor: smart search entity
2025-04-08 09:56:45 -04:00
renovate[bot]
ffd18c5459
chore(deps): update dependency @types/node to ^22.14.0 (#17459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 12:14:30 +02:00
PyKen
8242ff9bab
fix(server): Exclude album assets in shared link payload (#17207)
* fix(server): Exclude album assets in shared link payload

* Fix e2e test
2025-04-08 00:19:06 -04:00
Jason Rasmussen
8203b6c450
refactor: stop using geodata entity type (#17444) 2025-04-08 00:15:43 -04:00
Jason Rasmussen
b352cf3336
refactor: remove natural earth countries enity (#17445) 2025-04-08 00:15:16 -04:00
Jason Rasmussen
e7a5b96ed0
feat: extension, triggers, functions, comments, parameters management in sql-tools (#17269)
feat: sql-tools extension, triggers, functions, comments, parameters
2025-04-07 15:12:12 -04:00
Ruben Hensen
99cddf1fd6
feat: allow accounts with a quota of 0 GiB (#17413)
* Allow 0GiB quotas in user create/edit form, remove unused translations

* Make requireQuota check for null or 0

* Add unlimited quota change to the docs

* Fix user dto formatting

* Fix formating edit-user-form

* Regenerate open-api files

* Revert unnecessary i18n file changes

* Re-add newline en.json

* Resolve linting issues

* Fix formatting edit-user-form

* Re-add manifest
2025-04-07 09:22:56 -05:00
Zack Pollard
2248a38567
fix: missing index and geodata import process uses normal table (#17343)
* chore: add geodata indexes to table definitions

* chore: rename incorrectly name geodata index

* fix: import into geodata places with correct index names
2025-04-03 21:32:33 +01:00
Zack Pollard
40cff2893c
fix: metadata service init failure should halt server startup (#17356) 2025-04-03 12:35:39 +01:00
Abhinav Valecha
b621281351
feat(server): Avoid face match with people born after file creation #4743 (#16918)
* feat(server): Avoid face matching with people born after file creation date (#4743)

* lint

* add medium tests for facial recognition

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-02 10:37:26 -05:00
github-actions
00d3b8d83a chore: version v1.131.3 2025-04-01 22:27:52 +00:00
Mert
d911b76c08
fix(server): use stat instead of exifinfo for file date metadata (#17311)
* use stat instead of filecreatedate

* update tests

* unused import
2025-04-01 17:24:07 -05:00
shenlong
502854cee1
fix(server): remove stacks on stack.deleteAll (#17288)
* fix(server): delete all stacks on deleteAll

* remove unnecessary assets update

* generate sql

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-04-01 17:20:43 -05:00
Mert
59e5c82569
fix(server): full-size images not migrated or deleted correctly (#17308)
* fix file path logic

* update tests

* add empty array fallback just in case for now
2025-04-01 18:11:46 -04:00
bo0tzz
3e03c47fbf
fix: strip extra metadata when transcoding (#17297) 2025-04-01 08:58:59 -05:00
github-actions
9aa3850769 chore: version v1.131.2 2025-04-01 11:41:56 +00:00
renovate[bot]
628dcdeebf
fix(deps): update typescript-projects (#17294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 10:58:55 +00:00
renovate[bot]
69b1ac47ea
fix(deps): update typescript-projects (#17287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 12:32:09 +02:00
renovate[bot]
4f81265694
chore(deps): update dependency @types/node to ^22.13.14 (#17283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 12:30:41 +02:00
github-actions
7729fe80fa chore: version v1.131.1 2025-03-31 20:36:48 +00:00
martin
68e24ad168
fix: posix compliant command (#17264) 2025-03-31 16:35:02 -04:00
Jason Rasmussen
186c573565
fix: missing migration folder broke non-root setups (#17266) 2025-03-31 20:18:13 +00:00
github-actions
5b63b9fc8b chore: version v1.131.0 2025-03-31 18:41:13 +00:00
Eli Gao
5c80e8734b
feat: original-sized previews for non-web-friendly images (#14446)
* feat(server): extract full-size previews from RAW images

* feat(web): load fullsize preview for RAW images when zoomed in

* refactor: tweaks for code review

* refactor: rename "converted" preview/assets to "fullsize"

* feat(web/server): fullsize preview for non-web-friendly images

* feat: tweaks for code review

* feat(server): require ASSET_DOWNLOAD premission for fullsize previews

* test: fix types and interfaces

* chore: gen open-api

* feat(server): keep only essential exif in fullsize preview

* chore: regen openapi

* test: revert unnecessary timeout

* feat: move full-size preview config to standalone entry

* feat(i18n): update en texts

* fix: don't return fullsizePath when disabled

* test: full-size previews

* test(web): full-size previews

* chore: make open-api

* feat(server): redirect to preview/original URL when fullsize thumbnail not available

* fix(server): delete fullsize preview image on thumbnail regen after fullsize preview turned off

* refactor(server): AssetRepository.deleteFiles with Kysely

* fix(server): type of MediaRepository.writeExif

* minor simplification

* minor styling changes and condensed wording

* simplify

* chore: reuild open-api

* test(server): fix media.service tests

* test(web): fix photo-viewer test

* fix(server):  use fullsize image when requested

* fix file path extension

* formatting

* use fullsize when zooming back out or when "display original photos" is enabled

* simplify condition

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-03-31 13:24:28 -04:00
Mert
6789c2ac19
feat(ml): better multilingual search with nllb models (#13567) 2025-03-31 11:06:57 -04:00
Brandon Wees
d71c5602c3
fix(server): Postgres error pretty printing (#17204)
* add patch-package to dev dependencies

this allows us to patch upstream packages without waiting for PRs to be merged (or not!). Patch-package does a pretty good job of notifying if upstream does a change to invalidate the patch (its a git patch under the hood).

* Patch implementation of https://github.com/porsager/postgres/pull/944

This PR has not been merged by upstream and helps produce verbose error messages when postgres fails to connect (usually incorrect credentials). This is in contrast to error messages such as

`TypeError: Cannot read properties of undefined (reading 'replace'), stack: TypeError: Cannot read properties of undefined (reading 'replace')`

* have postinstall only run when not installing a global package (such as immich-cli in the Docker build)
2025-03-31 09:34:43 -05:00
Mert
8c50e3e80e
feat(server): consider JpgFromRaw2 tag for embedded previews (#17123)
* add jpgfromraw2

* unused catch
2025-03-31 09:17:57 -05:00
Jonathan Jogenfors
efcb1129ce
fix(server): don't sync null date assets (#17247) 2025-03-31 09:16:53 -05:00
Jonathan Jogenfors
faabda4446
fix(server): multiple exclusion patterns (#17221) 2025-03-31 09:16:30 -05:00
Alex
b8b2898c87
fix(server): double extension when filename has uppercase extension (#17226)
* fix(server): double extension when filename has uppercase extension

* Proper tests
2025-03-31 09:16:04 -05:00
Zack Pollard
d613f15606
test: fix flaky user handle delete check medium test (#17253)
we can't run specifically the handleUserDeleteCheck tests concurrently due to one of the tests modifying the config in the shared database
if run concurrently you can get race conditions where the other tests pick up the change, even with resetting the config in the beforeEach
therefore the test that checks a delete actually happens, fails
there are many ways to solve this, disabling concurrency for the suite, forcing sequential tests for just handleUserDeleteCheck, increasing the delete test deletedAt to more than the custom duration tests deleteDelay
I applied all three of these. You could also force all the user tests to run in their own databases, but that feels overkill
2025-03-31 13:19:57 +01:00
hwang
a831876fdc
fix: MAX_PARAMETERS_EXCEEDED error during person cleanup job (#17222)
* add batch size in sql delete,fix person cleanup error: ERROR [Microservices:{}] Unable to run job handler (backgroundTask/person-cleanup): Error: MAX_PARAMETERS_EXCEEDED: Max number of parameters (65534) exceeded

* add chunked decorator to delete

* chore: prettier formatting fixes

---------

Co-authored-by: hwang3419 <“hwang.iit@gmail.com”>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-31 11:30:56 +00:00
PathToLife
09f4476f97
feat: improve performance for GET /api/album & /api/album/:id (#17124)
* fix(server) optimize number of sql calls for GET /api/albums

remove unnecessary join for getMetadataForIds
remove separate call to getLastUpdatedAssetForAlbumId

* fix(server) remove unnecessary getLastUpdatedAssetForAlbumId call for GET /api/album/:id

also remove getLastUpdatedAssetForAlbumId query as it is no longer referenced

* fix(server): correct lastModifiedAssetTimestamp return type + formatting and typing

* chore(server): address type issue with tests found via npm:check

tests & lint still pass before this commit.
2025-03-31 11:28:41 +00:00
Daniel Dietzler
238c151ac3
chore: finish migrating eslint config files; bump unicorn (#17200) 2025-03-31 12:18:25 +01:00
bo0tzz
e4f83680d9
feat: use my.immich.app for externalDomain fallback (#17209)
* feat: use my.immich.app for externalDomain fallback

This is probably more useful than localhost.

* chore: remove port param

* fix: update expected value in tests

* fix: update expected value in e2e
2025-03-31 12:08:41 +01:00
Jason Rasmussen
55a3c30664
feat: kysely migrations (#17198) 2025-03-29 09:26:24 -04:00
renovate[bot]
6fa0cb534a
fix(deps): update dependency @opentelemetry/context-async-hooks to v2 (#17031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-28 20:51:01 +01:00
Jason Rasmussen
4b4bcd23f4
feat: schema diff sql tools (#17116) 2025-03-28 10:40:09 -04:00
renovate[bot]
e163808348
fix(deps): update typescript-projects (#17080)
* fix(deps): update typescript-projects

* fix: otel

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-03-27 22:33:58 +00:00
github-actions
43f8f473e9 chore: version v1.130.3 2025-03-27 15:54:30 +00:00
Alex
fecf3809a6
fix(server): album count does not account for assets without exif (#17150)
* fix(server): album count doesn't accounted for assets without exif

* sql
2025-03-26 21:24:22 -05:00
github-actions
2f8725c66f chore: version v1.130.2 2025-03-26 15:34:54 +00:00
Jonathan Jogenfors
9fbd6369b9
fix(server): check asset against multiple import paths (#17128)
* fix sql logic

* refactor: map import paths into not or sql statements

---------

Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-26 10:10:53 -05:00
Mert
75df8fc10e
refactor(server): bulk update exif (#17109)
* bulk update exif

* update sql

* update tests

* check job queeuing in test
2025-03-25 21:24:24 +00:00
github-actions
4cf7c55680 chore: version v1.130.1 2025-03-25 20:25:01 +00:00
renovate[bot]
aa4d6405f4
chore(deps): update base-image to v202503251114 (major) (#17085)
* chore(deps): update base-image to v202503251114

* fix: geocoding changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-03-25 20:15:02 +00:00
github-actions
42b1efb679 chore: version v1.130.0 2025-03-25 13:48:45 +00:00
Alex
21954939cf
chore: remove limit in memory generation (#16920)
* chore: remove limit in memory generation

* generate sql

* chore: assets limit
2025-03-20 13:31:51 -05:00
renovate[bot]
1a0a9ef36c
chore(deps): update base-image to v202503182202 (major) (#16968)
chore(deps): update base-image to v202503182202

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-19 00:28:32 -04:00
renovate[bot]
db8155f738
fix(deps): update typescript-projects (#16945)
* fix(deps): update typescript-projects

* fix: very weird variables

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-03-18 20:29:21 +00:00
Dmitry Vakhnenko
d7a6e78bf0
fix(server): /api/stacks does not handles primaryAssetId query param (#16868)
fix(server): add missing validation decorator
2025-03-18 11:54:50 -05:00
Mert
9f46ba8eb4
fix(server): set pixel format when scaling and not tonemapping (#16932)
set pixel format when scaling and not tonemapping
2025-03-18 11:42:09 -05:00
Andreas
fe19f9ba84
fix(web): asset selection on memories page is broken (#16759)
* 16712: Proper intialisation of the memory store to avoid loading up duplicate object refs of the same asset.

* 16712: Add auth to memory mapping so isFavorite is actually return correctly from the server.

* 16712: Move logic that belongs in the store into the store.

* 16712: Cleanup.

* 16712: Fix init behaviour.

* 16712: Add comment.

* 16712: Make method private.

* 16712: Fix import.

* 16712: Fix format.

* 16712: Cleaner if/else and fix typo.

* fix: icon size mismatch

* 16712: Fixed up state machine managing memory playback:
* Updated to `Tween` (`tweened` was deprecated)
* Removed `resetPromise`. Setting progressController to 0 had the same effect, so not really sure why it was there?
* Removed the many duplicate places the `handleAction` method was called. Now we just called it on `afterNavigate` as well as when `galleryInView` or `$isViewing` state changes.

* 16712: Add aria tag.

* 16712: Fix memory player duplicate invocation bugs. Now we should only call 'reset' and 'play' once, after navigate/page load. This should hopefully fix all the various bugs around playback.

* 16712: Cleanup

* 16712: Cleanup

* 16712: Cleanup

* 16712: Cleanup

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-18 11:34:09 -05:00
renovate[bot]
b609f35841
chore(deps): update base-image to v20250318 (major) (#16950)
* chore(deps): update base-image to v20250318

* chore

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-03-18 11:07:11 -05:00
renovate[bot]
6c2985df26
chore(deps): update dependency @types/node to ^22.13.10 (#16944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 12:15:07 +01:00
Jason Rasmussen
6a40aa83b7
refactor: better types for getList and getDeletedAfter (#16926) 2025-03-17 15:32:12 -04:00
Abhinav Valecha
d0e283f687
feat(server): version command for immich-admin #9611 (#16924)
* feat(server): Add version command for immich-admin #9611

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-03-17 17:57:59 +00:00
Yoni Yang
14c3b99c0f
feat(ml): ML on Rockchip NPUs (#15241) 2025-03-17 12:04:08 -04:00
Jason Rasmussen
16fd19994b
refactor: use factory and kysely types for partner repository (#16812) 2025-03-11 16:29:56 -04:00
Jonathan Jogenfors
6bb0aa217c
fix(server): set unit test timezone to UTC (#16805) 2025-03-11 10:19:33 -04:00
renovate[bot]
ba9e3715f0
chore(deps): update base-image to v20250311 (major) (#16803)
chore(deps): update base-image to v20250311

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-11 12:24:31 +00:00
Lorenzo Montanari
d7e0f0e70e
feat(web): exposed a job to manually trigger database backup procedures (#16622)
* feat(web): exposed a new job to create a manual database backup

* chore(server): added a new test case

* chore(server): moved job to backup db into the create job popup

* remove irrelevant change

* openapi

* chore: formatting

* docs: trigger backup documentation

---------

Co-authored-by: Lorenzo Montanari <13736036+l0ll098@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Zack Pollard <zack@futo.org>
2025-03-11 11:30:43 +00:00
renovate[bot]
8cd5aec4c5
chore(deps): update dependency @types/node to ^22.13.9 (#16792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 22:43:16 -04:00
Jason Rasmussen
1382b27349
refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
Jason Rasmussen
1b35400043
chore: remove unused package (#16777) 2025-03-10 14:50:32 -04:00
Jason Rasmussen
a96bba4b26
feat: sync assets, partner assets, exif, and partner exif (#16658)
* feat: sync assets, partner assets, exif, and partner exif

Co-authored-by: Zack Pollard <zack@futo.org>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>

* refactor: remove duplicate where clause and orderBy statements in sync queries

* fix: asset deletes not filtering by ownerId

---------

Co-authored-by: Zack Pollard <zack@futo.org>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-10 12:05:39 -04:00
Jason Rasmussen
e97df503f2
refactor: api key spec to use factories (#16776) 2025-03-10 12:04:35 -04:00
Snowknight26
2f8e89c7ec
feat(server): read Android and Sony video camera make/model (#16678)
* feat(server): read Android and Sony video camera exif data

* Remove a logger line
2025-03-09 22:20:11 -05:00
David Bourgault
9870ad9687
fix(server): adjust type of person.birthDate (#16628)
The API currently does not respect the documentation when returning a
person's birthDate. The doc/swagger says it will be of "YYYY-MM-DD"
format but the string is a full ISO8601-with-tz string. This causes
issue #16216 because the <input> tag is strict about supported value
formats.

I believe this was introduced by #15242 which switched some queries from
TypeORM to Kysely for the person repository. TypeORM does not parse
date, but our Kysely configuration does (explicitely).

This commits updates the types to represent both possibilities and ensure
the API always returns the correct format.
2025-03-09 21:32:05 -05:00
Daniel Dietzler
573d9a7733
fix: 🍪 packages confusion (#16735)
fix: cookie packages confusion
2025-03-09 21:03:10 -05:00
Jason Rasmussen
1e127ae3a1
refactor: migrate library spec to factories (#16711) 2025-03-08 13:44:36 -05:00
Jason Rasmussen
fd46d43726
chore: remove unused file (#16707) 2025-03-07 22:47:27 -06:00
Jason Rasmussen
3f06a494a9
refactor: queue asset deletes via stream (#16706) 2025-03-07 22:22:57 +00:00
renovate[bot]
086d8a448a
fix(deps): update typescript-projects (#16597)
* fix(deps): update typescript-projects

* chore: update server lock file

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-03-07 21:20:45 +00:00
bo0tzz
8ace44fb95
feat: log before running migrations (#16703)
* feat: log before running migrations

* fix: it's called log not info

It should be called info...

* chore: fix formatting

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-07 21:15:06 +00:00
Jason Rasmussen
ce74f765b1
refactor: memory stub (#16704) 2025-03-07 16:03:34 -05:00
Jason Rasmussen
2d106755f6
refactor: convert activity stub to a factory (#16702) 2025-03-07 15:20:04 -05:00
Jason Rasmussen
f82786a297
feat: use stream for template migrations (#16700) 2025-03-07 14:30:01 -05:00
Jonathan Jogenfors
9959755dda
refactor(server): use constant for external library batch size (#16685) 2025-03-07 11:29:06 +00:00
Jason Rasmussen
d45fa491ce
refactor: stream asset ids for library queue jobs (#16666) 2025-03-06 20:22:17 -05:00
Matthew Momjian
5c82c485d7
feat(server): normalize extensions in storage template (#16667)
* normalize and lowercase extensions

* un const

* do not change ext before stripping off old one

* braces
2025-03-06 18:02:28 -05:00
Jason Rasmussen
2cdbb0a37c
refactor: database repository (#16593)
* refactor: database repository

* fix error reindex check

* chore: remove WIP code

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-03-06 13:33:24 -05:00
Mert
deb399ea15
refactor(server): use exiftool for file date metadata (#16453)
* use exiftool for file date metadata

* handle tag not existing in exifinfo (?)

* update medium tests

* fix typo

* set file size too

* set file size only if undefined
2025-03-06 16:47:12 +00:00
Jonathan Jogenfors
3af26ee94a
feat(server): library refresh go brrr (#14456)
* feat: brr

---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-03-06 16:00:18 +01:00
Mert
bc61497461
refactor(server): group async calls in metadata extraction (#16450)
* group async calls

use debugFn

no need to change mock

* check call count in tests
2025-03-06 08:56:35 -06:00
rrrockey
d84009648e
refactor(server): replace switch statement in sendFile with Record lookup (#16630)
* refactor cache control handling in server/utils/file.ts

* add ability to null CacheControl.NONE

* Cache control handling comment

* Added comment to file.ts

This comment provides a better understanding of what the cacheControlHeader is doing.

* Update file.ts

Added comments

* Update server/src/utils/file.ts

* fix comments in file.ts

* run prettier with --write to fix formatting

---------

Co-authored-by: pnleguizamo <pnleguizamo@gmail.com>
Co-authored-by: drew-kearns <dkearns@iastate.edu>
Co-authored-by: Sierra (Izumi) Brown <119357873+SierraIBrown@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-03-06 12:46:37 +01:00
github-actions
31dd15ce8a chore: version v1.129.0 2025-03-05 19:47:50 +00:00
Zack Pollard
9922c8de59
fix: storage template failure after re-upload and previous fail (#16611)
fix: storage template breaks when files are re-uploaded after a move failure
2025-03-05 15:00:37 +00:00
Jason Rasmussen
2da9e3152b
refactor: download service (#16600) 2025-03-05 08:38:23 -05:00
Jonathan Jogenfors
22d348beca
feat(server): e2e for missing jobs (#15910)
* feat: test face detection

* Add duplicate and smart search fixes and tests

* do e2e instead

* Remove ML e2e jobs
2025-03-04 20:44:31 -05:00
Jason Rasmussen
63c01b78e2
refactor: test utils (#16588) 2025-03-04 16:15:41 +00:00
renovate[bot]
1423cfd53c
chore(deps): update ghcr.io/immich-app/base-server-dev docker tag to v20250304 (#16580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 15:39:34 +00:00
renovate[bot]
75c9f63757
chore(deps): update typescript-projects (#16573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 12:53:28 +00:00
Jason Rasmussen
1356468c38
fix: reset/regenerate memories (#16548)
fix: reset memories
2025-03-03 23:48:05 -05:00
renovate[bot]
0dcfc43461
chore(deps): update node (#16538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 14:31:34 -05:00
Jason Rasmussen
d1fd0076cc
refactor: migration tag repository to kysely (#16398) 2025-03-03 18:41:19 +00:00
renovate[bot]
8b24c31d20
fix(deps): update typescript-projects (#16540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 09:38:24 -06:00
Mert
5698f446f7
refactor(server): link live photos as part of metadata extraction instead of queueing job (#16390)
* link live photos helper instead of job

* update test

* queue storage template migration

* queue in onDone

* remove link live photos job
2025-03-03 09:19:36 -05:00
renovate[bot]
eb74fafb00
chore(deps): update dependency globals to v16 (#16534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 14:11:44 +00:00
renovate[bot]
a99bd94717
fix(deps): update dependency ua-parser-js to v2 (#14301)
* fix(deps): update dependency ua-parser-js to v2

* fix: breaking changes from ua-parsed-js major update

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-03 12:01:40 +00:00
Alex
a2aab1f373
fix: don't use public keyword in migration query (#16514)
Co-authored-by: Zack Pollard <zack@futo.org>
2025-03-03 11:40:14 +00:00
Zack Pollard
fe702ba6d7
feat: partner sync (#16424)
feat: partner CUD sync
2025-03-03 11:05:30 +00:00
Jonathan Jogenfors
869839f642
feat(server): library cleanup from ui (#16226)
* feat(server,web): scan all libraries from frontend

* feat(server,web): scan all libraries from frontend

* Add button text
2025-03-02 21:29:02 -06:00
Matthew Momjian
efcf773ea0
feat(server): Shortened asset ID in storage template (#16433)
* Update storage-template.service.ts

* Update supported-variables-panel.svelte

* docs example

* Update storage-template-settings.svelte
2025-02-28 16:04:34 -05:00
github-actions
dc143046e3 chore: version v1.128.0 2025-02-28 18:54:08 +00:00
Jason Rasmussen
e684062569
fix: memories off by one (#16434) 2025-02-28 12:51:28 -06:00
Desmond Cox
5c0538e52c
fix(server): stringify error log parameter to ensure correct overload (#16422)
* fix(server): stringify error log parameter to ensure correct overload

The intended error(message, stack, context) overload is only selected if context is a string.

* formatter
2025-02-28 11:50:00 -06:00
Jason Rasmussen
84cf0d1670
fix: duplicate memories (#16432) 2025-02-28 17:49:29 +00:00
Mert
b3b15e9b61
fix(server): include deleted assets if searching offline assets (#16417)
include deleted assets if searching for offline assets
2025-02-28 09:23:18 -06:00
Zack Pollard
819e56d9ca
fix: user delete sync query sort by id (#16420) 2025-02-28 09:22:36 -06:00
Alex
a185e06399
fix(server): follow logs level setting (#16415) 2025-02-28 00:35:48 -05:00
Alex
5c879acd5b
fix(server): don't show assets that no longer associate with a face (#16404) 2025-02-27 17:02:00 -06:00
Jason Rasmussen
fbd85a89e0
refactor: logger (#16393) 2025-02-27 14:59:50 -05:00
Jonathan Jogenfors
d20e2e268a
fix(server): don't reimport files more than once (#16375)
* fix(server) don't reimport files more than once

* fix: test

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-27 16:45:16 +00:00
Mert
a708649504
fix(server): skip stacked assets in duplicate detection (#16380)
* skip stacked assets in duplicate detection

* update sql

* handle stacking after duplicate detection runs
2025-02-27 10:16:13 -06:00
Tom Graham
a808b8610e
fix(server): Fix delay with multiple ml servers (#16284)
* Prospective fix for ensuring that known active ML servers are used to reduce search delay.

* Added some logging and renamed backoff const.

* Fix lint issues.

* Update to use env vars for timeouts and updated documentation and strings.

* Fix docs.

* Make counter logic clearer.

* Minor readability improvements.

* Extract  skipUrl logic per feedback, and change log to verbose.

* Make code harder to read.
2025-02-27 10:14:09 -06:00
Mert
6050485ad8
feat(server): set exiftool process count (#16388)
exiftool concurrency control
2025-02-27 09:24:40 -05:00
Zack Pollard
fb907d707d
refactor: use new updateId column for user CUD sync (#16384) 2025-02-27 09:22:02 -05:00
Mert
7d6cfd09e6
fix(server): don't expose source types in face creation api (#16381)
* don't expose source types in face creation api

* update open-api

* remove source type reference from web
2025-02-27 17:17:07 +03:00
Zack Pollard
967c69317b
feat: updateId uuidv7 column for all entities with updatedAt (#16353) 2025-02-27 12:55:22 +00:00
David Bourgault
4b55888d16
fix: ensure manually tagged faces have proper source type (#16364)
immich-app/immich#16062 added manual face tagging and deletion, but did
not add a new 'SourceType'. The create faces would default to
'machine-learning' which is incorrect, and has the annoying downside
that they will be wiped when the 'Refresh Faces' job is run.

Handling of non-machine-learning faces was previously added in
immich-app/immich#6455. This PR simply extends it to the new manually
tagged faces.
2025-02-26 20:53:21 -06:00
github-actions
5f7f88ff17 chore: version v1.127.0 2025-02-26 15:18:50 +00:00
Zack Pollard
5053130e35
fix: sync set ack validation (#16320) 2025-02-26 09:35:51 -05:00
Alex
4ef7eb56a3
fix(server): memory assets order (#16325) 2025-02-25 19:10:52 -06:00
Jason Rasmussen
7c851893b4
feat: medium tests for user and sync service (#16304)
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-02-25 16:31:07 +00:00
Jason Rasmussen
e4b6efc1f5
fix: cross site scripting issue on /share pages (#16255) 2025-02-22 11:32:53 +00:00
Jason Rasmussen
d350022dec
feat: persistent memories (#15953)
feat: memories

refactor

chore: use heart as favorite icon

fix: linting
2025-02-21 12:31:37 -06:00
Alex
007eaaceb9
feat(web): manual face tagging and deletion (#16062) 2025-02-21 09:58:25 -06:00
Mert
616905211d
fix(server): assets in multiple albums duplicated in map view (#16245) 2025-02-21 15:32:08 +03:00
Zack Pollard
ac36effb45
feat: sync implementation for the user entity (#16234)
* ci: print out typeorm generation changes

* feat: sync implementation for the user entity

wip

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-02-20 23:37:57 -05:00
Jason Antwi-Appah
34b88bb47a
feat(web): support searching by EXIF rating (#16208)
* Add rating to search DTO

* Add search by EXIF rating in search query builder

* Generate OpenAPI spec

* Add rating filter on web

* Add rating filter to search docs

* Format / lint

* Hide rating filter if ratings are disabled

* chore: component order in form

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-20 16:17:06 +00:00
Jonathan Jogenfors
f6ba071569
feat(server): add path to metadata logging (#16212)
feat(server): Prefer original path instead of id when logging
2025-02-20 09:46:18 -06:00
Jonathan Jogenfors
b0102f8025
fix(server): set modifydate (#16225) 2025-02-20 09:28:30 -06:00
renovate[bot]
376282e538
chore(deps): update dependency @types/node to ^22.13.4 (#16206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-19 14:54:12 -06:00
Jonathan Jogenfors
31dc83f3f2
fix(server): don't warn about missing timezone (#16211)
fix(server): don't warn about timezone
2025-02-19 13:21:13 -06:00
Krassimir Valev
8634c59850
feat(server): search by partial asset path (#16173)
Similarly to how one can search by partial filename, change the
path search to work with partial matches instead of looking for a
full match.

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-19 08:32:52 -06:00
renovate[bot]
d8cda6ee40
chore(deps): update base-image to v20250218 (major) (#16204)
chore(deps): update base-image to v20250218

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 16:02:33 -05:00
renovate[bot]
a31bc94460
fix(deps): update typescript-projects (#16203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 21:35:50 +01:00
renovate[bot]
516709ffe1
chore(deps): update dependency @types/node to ^22.13.2 (#16200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 15:10:44 -05:00
renovate[bot]
425cf62482
fix(deps): update typescript-projects (#16178)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-02-18 20:40:09 +01:00
Jonathan Jogenfors
115ee0d6cc
fix(server): remove unused readme (#16175)
fix(server): remove readme
2025-02-17 19:03:43 -05:00
Jason Rasmussen
7c26663013
chore: removed unused endpoint (#16167) 2025-02-17 13:07:50 -06:00
Nick Overacker
50b072803d
fix: limit width of logo in emails to 100% (#16164)
Limit width of logo in emails to 100%

The current live version breaks Yahoo Mail (at least in Firefox). It appears far too large and makes the email unreadable by pushing the text outside of the reading pane.
2025-02-17 17:46:14 +00:00
Mangat Singh Toor | ਮੰਗਤ ਸਿੰਘ ਤੂਰ
1689cecaf7
fix: include live images in person view count (#16116)
* fix: include live images in person view count

Fixed an issue where the total image count in the person view excluded live images.
The query now correctly accounts for all relevant assets by removing the condition
that filtered out assets with a livePhotoVideoId.

Issue:
- Image count under a person’s name was inaccurate, showing only static images.

Fix:
- Removed `.on('assets.livePhotoVideoId', 'is', null)` from the LEFT JOIN condition.

Tested on:
- Web

Ran PR checklist

* chore: run make sql.

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-17 15:49:30 +00:00
renovate[bot]
c524fcf084
chore(deps): update node.js to v22.14.0 (#16132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 21:29:33 -06:00
Jonathan Jogenfors
5407a28533
feat(server): Nullable asset dates (#15669)
* nullable dates

* wip

* don't search for null dates

* Add placeholder type

* cleanup
2025-02-13 15:30:12 -06:00
Jason Rasmussen
2d7c333c8c
refactor(server): narrow auth types (#16066) 2025-02-12 15:23:08 -05:00
Jason Rasmussen
fa5aeaf539
refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
Jason Rasmussen
5f3a42a132
refactor: repositories (#16038) 2025-02-11 15:12:31 -05:00
Jason Rasmussen
9d85272c2b
refactor: repositories (#16036) 2025-02-11 14:08:13 -05:00
renovate[bot]
d2575d8f00
fix(deps): update typescript-projects (#16023)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-02-11 18:50:18 +00:00
renovate[bot]
17a63e37b2
chore(deps): update base-image to v20250211 (major) (#16025)
chore(deps): update base-image to v20250211

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-11 11:21:25 -06:00
renovate[bot]
2271984dbd
chore(deps): update dependency @types/node to ^22.13.1 (#16013)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-11 00:19:02 +00:00
Jason Rasmussen
735f8d661e
refactor: test mocks (#16008) 2025-02-11 00:47:42 +01:00
github-actions
8794c84e9d chore: version v1.126.1 2025-02-10 17:54:02 +00:00
github-actions
feba590de7 chore: version v1.126.0 2025-02-10 16:10:06 +00:00
Jason Rasmussen
758bcd1e97
fix(server): validate oauth profile has a sub (#15967) 2025-02-08 17:01:28 -05:00
Jason Rasmussen
758449e9f0
refactor: session repository (#15957) 2025-02-07 23:16:40 +00:00
Jason Rasmussen
d7d4d22fe0
refactor: process repository (#15956) 2025-02-07 18:04:04 -05:00
Jason Rasmussen
03948a69e2
refactor: system metadata repository (#15954) 2025-02-07 17:26:49 -05:00
Jason Rasmussen
61b8eb85b5
feat: view album shared links (#15943) 2025-02-07 16:38:20 -05:00
Jason Rasmussen
c5360e78c5
feat(web): shared link filters (#15948) 2025-02-07 13:05:15 -05:00
Jason Rasmussen
23014c263b
feat(api): set person color (#15937) 2025-02-07 10:06:58 -05:00
renovate[bot]
ef6c2bf547
chore(deps): update base-image to v20250204 (major) (#15931)
chore(deps): update base-image to v20250204

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 15:59:29 -05:00
Daniel Dietzler
45f7401513
chore: nestjs 11 (#15542) 2025-02-06 13:56:26 -05:00
renovate[bot]
76a70703a5
chore(deps): update base-image to v20250128 (major) (#15796)
chore(deps): update base-image to v20250128

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-06 13:51:52 -05:00
Jason Rasmussen
48d421e28c
fix(server): always get UTC dates from postgres (#15920) 2025-02-05 18:47:27 +00:00
bo0tzz
1d6a4e9318
fix: call hexOrBufferToBase64 for stripMetadata thumbhash (#15917)
Fixes #15916 (I think)
2025-02-05 09:20:46 -06:00
Alex
fe42e7410b
chore(server): follow up on #15899 (#15907) 2025-02-04 16:57:11 -06:00
Jason Rasmussen
58bf58b393
refactor: get map markers database query (#15899) 2025-02-04 09:07:41 -06:00
Lukas
0bb1219b5f
fix(server): for individual shares not showing thumbnails (#15895)
* Fix for individual shares not showing thumbnails

* synced sql

* chore: add e2e test

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2025-02-04 09:07:50 +00:00
Jonathan Jogenfors
b730aa60ed
fix(server): queue missing metadata (#15864)
fix: queue missing metadata
2025-02-04 04:00:39 -05:00
Arno
7ec3610753
feat: Mark people as favorite (#14866)
* feat: added ability to mark people as favorite, which get sorted to the front of the people list

* feat(server): added unit test for favorite people

* feat(server): refactored for better readability

* fixed person service unit tests

* fixed open-api and sql checks

* fixed bad codegen and removed unnecessary type assertion again

* chore: clean up

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2025-02-04 08:52:17 +00:00
Alex
06f077bac2
fix(server): memory lane assets order (#15882)
* fix(server): memory lane assets order

* fix: sql

* pr feedback

* sql
2025-02-03 16:29:41 -06:00
Alex
4efacfbb91
feat: search by description (#15818)
* feat: search by description

* wip: mobile

* wip: mobile ui

* wip: mobile search logic

* feat: using f_unaccent

* icon to fit with text search
2025-02-02 15:18:13 -06:00
David Wolff
9ac95d6845
feat: add searching by tags (#15395)
* feat: add searching by tags

* fix: fix merge

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-01-31 21:37:22 +00:00
David Wolff
1b141d5ca9
refactor(server): filter assets by people using a subquery instead of a cte (#15768) 2025-01-31 09:06:45 -06:00
Jonathan Jogenfors
ca79e25a6e
feat(server): synology exclusion patterns (#15773)
feat: add synology exclusion patterns
2025-01-29 13:42:21 -06:00
github-actions
4fd8c1b3c1 chore: version v1.125.7 2025-01-29 17:41:38 +00:00
Ben Cochran
b4a4abbf51
fix(docs): move a few API doc comments to descriptions (#15381)
Previously, the comments were being used as the summaries, and thus were
displayed as the “title” of these endpoints
2025-01-29 11:58:10 -05:00
Jason Rasmussen
a0aea021a1
fix(server): restore user (#15763) 2025-01-29 16:49:08 +00:00
ayykamp
cc0cbd705e
feat: add support for JPEG 2000 (#15710)
* chore(server): add support for .jp2

* docs: add support for .jp2

* chore: fix tests

* fix formatting

* unify sorting
2025-01-28 23:27:28 +00:00
Carsten Otto
da580d4685
fix: show local dates for range in album summary (#15654)
* fix(web): show local dates for range in album summary

* fix(server): show local dates for range in album summary
2025-01-28 14:33:38 -06:00
Christian Kündig
fe1e09e51f
fix(server): Allow negative rating (for rejected images) (#15699)
Allow negative rating (for rejected images)
2025-01-27 21:54:29 -06:00
github-actions
f44669447f chore: version v1.125.6 2025-01-28 02:58:27 +00:00
Mert
92412ca2f7
fix(server): person thumbnail generation always being queued (#15734)
* fix person thumbnail generation always being queued

* fix thumbhash comparison

* fix mock
2025-01-27 16:20:18 -06:00
github-actions
64d926581f chore: version v1.125.5 2025-01-27 20:04:50 +00:00
Alex
0fe62298e1
fix(server): duplicate detection (#15727) 2025-01-27 13:53:59 -06:00
github-actions
e5794e6cfc chore: version v1.125.4 2025-01-27 18:44:12 +00:00
Alex
f6cbc9db06
fix(server): cannot render album page when all assets of an album are in trash (#15690)
* fix(server): cannot render album page when all assets of an album are in trash

* inner join

* add e2e test

* check empty albums too

* render add to album button on empty album

* lint

* count 0 if undefined

* fix album card test

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-01-26 21:18:34 -06:00
github-actions
72a55c13b6 chore: version v1.125.3 2025-01-26 14:14:48 +00:00
sudbrack
206412267a
fix(server): /search/random API returns same assets every call (#15682)
* Fix for server searchRandom function not returning random results

* Fix lint
2025-01-26 14:06:18 +00:00
Mert
05a446c259
fix(server): avoid duplicate rows in album queries (#15670)
* avoid duplicate rows

* left join, handle null vs. undefined

* update sql
2025-01-25 22:37:19 -06:00
Carsten Otto
4f725b95e1
fix(server): do not count deleted assets for album summary (#15668)
fixes #15645
fixes #15646
2025-01-25 16:45:13 -06:00
Carsten Otto
64b92cb24c
fix(server): do not reset fileCreatedDate (#15650)
When marking an offline asset as online again, do not reset the
fileCreatedAt value. This value contains the "true" date, copied
from exif.dateTimeOriginal. If we overwrite this value, we'd need
to run the metadata extraction job again. Instead, we just leave
the old (and correct) value in place.

fixes #15640
2025-01-25 13:50:37 -06:00
Alex
d12b1c907d
fix(server): bulk update location (#15642) 2025-01-25 11:58:07 -06:00
Robert Schütz
947c053c15
chore(server): add DB_URL supports Unix sockets unit test (#15629)
* test(server): DB_URL supports Unix sockets

* chore: format

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-01-25 10:38:00 +00:00
jdicioccio
39697cd973
fix: increase upload timeout (#15588)
Fix upload timeout issue

Fix an issue where when uploading a large file, the upload would consistently abort after 30 minutes. I changed this timeout from 30 minutes to 1 day. Maybe that's excessive, or maybe the timeout isn't even needed, but the current 30 minute timeout definitely seems way too short.
2025-01-25 04:26:52 -06:00
Jonathan Jogenfors
10e518db42
chore(server): print stack in case of worker error (#15632)
feat: show error stack
2025-01-24 22:45:55 -05:00
Mert
72fa31f9e9
fix(server): changing vector dim size (#15630) 2025-01-24 20:01:24 -05:00
github-actions
9871a04d54 chore: version v1.125.2 2025-01-24 19:09:06 +00:00
Mert
ba01b40e7c
fix(server): sslmode not working (#15587)
* parse db url before passing it to the driver

* don't be lazy

* simplify

* simplify

* add tests

* update sql sync script

* update mock

* remove unused import

* remove unused imports
2025-01-24 13:01:55 -06:00
Alex
d4a9eed4a1
fix(server): migration mentions public schema (#15622) 2025-01-24 18:11:22 +00:00
Alex
9d8072b994
fix(server): failed to get albums with archived assets (#15611)
* fix(mobile): failed to get albums with archived assets

* sql
2025-01-24 17:54:53 +00:00
Mert
a6ace5151c
fix(server): no exif metadata in the deduplication utility (#15585)
add exif to `getDuplicates`
2025-01-24 11:42:39 -06:00
Alex
ec7ab209f3
fix(server): link live photos (#15612)
* fix(server): link live photos

* chore: sql

* formatting
2025-01-24 11:38:59 -06:00
Mert
ba105d9f19
fix(server): searchRandom response (#15580)
* fix searchRandom

* add e2e

* set outer limit
2025-01-24 00:41:54 -05:00
Lukas
065d885ca0
fix(server): Fix for sorting faces during merging (#15571)
* Fix for sorting faces

* Put uneccessary orderBy in if statement
2025-01-23 21:33:24 -05:00
Mert
a07ae9b5b2
fix(server): set updatedAt on updates (#15573)
* `updatedAt` triggers

* drop function at the end
2025-01-23 19:24:29 -05:00
Jason Rasmussen
1869b1b41a
refactor: repositories (#15561)
* refactor: version history repository

* refactor: oauth repository

* refactor: trash repository

* refactor: telemetry repository

* refactor: metadata repository

* refactor: cron repository

* refactor: map repository

* refactor: server-info repository

* refactor: album user repository

* refactor: notification repository
2025-01-23 18:10:17 -05:00
Mert
071b271484
fix(server): getTimeBuckets not handling boolean filters correctly (#15567)
fix boolean handling
2025-01-23 15:08:20 -06:00
github-actions
50a2f6193f chore: version v1.125.1 2025-01-23 16:52:23 +00:00
github-actions
49a16045bd chore: version v1.125.0 2025-01-23 16:23:47 +00:00
Alex
afc6e91c66
fix(web): No EXIF info on stack navigation (#15533)
* fix(web): No EXIF info on stack navigation

* fix(web): No EXIF info on stack navigation

* add exif info to get stack query

* e2e test
2025-01-23 15:22:27 +00:00
renovate[bot]
1311189fab
chore(deps): update base-image to v20250123 (major) (#15555)
chore(deps): update base-image to v20250123

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-23 08:32:32 -05:00
renovate[bot]
fa3b5a4c8f
chore(deps): update node (#15554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-23 08:32:14 -05:00
Jason Rasmussen
d3446f3092
refactor: logging repository (#15540) 2025-01-23 08:31:30 -05:00
renovate[bot]
b31414af8f
fix(deps): update dependency @nestjs/bullmq to v11 (#15534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 22:37:02 +00:00
renovate[bot]
cf99dcb279
fix(deps): update dependency @nestjs/event-emitter to v3 (#15535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 22:34:50 +00:00
renovate[bot]
dc56ed5d45
fix(deps): update dependency @nestjs/schedule to v5 (#15537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 22:32:35 +00:00
renovate[bot]
d1d26c60d6
fix(deps): update typescript-projects (#14892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-01-22 22:15:38 +00:00
Jason Rasmussen
66849d0d45
refactor: migrate media repository (#15536) 2025-01-22 22:11:07 +00:00
renovate[bot]
30b8864d2d
chore(deps): update base-image to v20250121 (major) (#15497)
chore(deps): update base-image to v20250121

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 16:45:25 -05:00
Jason Rasmussen
1f19a65d1a
refactor: migrate memory repository (#15532) 2025-01-22 21:39:13 +00:00
Jason Rasmussen
ca3619658b
fix: incorrect event configuration (#15530) 2025-01-22 20:43:06 +00:00
Daniel Dietzler
7b71c145c8
chore: upgrade to vite 6 (#15508)
chore: upgrade to vite 5
2025-01-22 15:18:04 -05:00
Mert
49a6961ec6
fix(server): query fixes (#15509) 2025-01-22 14:17:42 -06:00
Jason Rasmussen
8d6cbb51e2
fix: get asset by id for stacks (#15522) 2025-01-22 18:13:09 +00:00
renovate[bot]
c8abe9a2fd
chore(deps): update node.js to v22.13.1 (#15503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 16:16:46 -06:00
Jason Rasmussen
36058b9b59
chore: remove unused code (#15499) 2025-01-21 16:47:48 -05:00
Jason Rasmussen
ccf6d71c3c
refactor: view repository (#15496) 2025-01-21 18:26:13 +00:00
Jason Rasmussen
9a27a99cab
refactor: config repository (#15495)
* refactor: access repository

* refactor: config repository
2025-01-21 13:13:09 -05:00
Daniel Dietzler
332a865ce6
refactor: migrate person repository to kysely (#15242)
* refactor: migrate person repository to kysely

* `asVector` begone

* linting

* fix metadata faces

* update test

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-01-21 13:12:28 -05:00
Alex
c35fd6cbdb
refactor: migrate album repo to kysely (#15474) 2025-01-21 11:24:48 -06:00
renovate[bot]
58d5cc1e4b
chore(deps): update dependency @types/node to ^22.10.7 (#15479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 11:54:47 -05:00
Jason Rasmussen
9a1068c867
refactor: api key repository (#15491) 2025-01-21 10:45:59 -06:00
Jason Rasmussen
1745f48f3d
feat: better spec urls (#15487) 2025-01-21 10:26:52 -06:00
Jason Rasmussen
b0cdd8f475
refactor: access repository (#15490) 2025-01-21 10:09:24 -06:00
Alex
318dd32363
refactor: migrate stack repo to kysely (#15440)
* wip

* wip: add tags

* wip

* sql

* pr feedback

* pr feedback

* ergonomic

* pr feedback

* pr feedback
2025-01-21 09:36:28 -06:00
David Wolff
70809c1465
fix(server): searching for multiple people yields false positives (#15447) 2025-01-19 13:01:21 -05:00
Robert Schütz
97ec3b147c
fix(deps): use node-addon-api v8 (#15438) 2025-01-19 11:26:25 -05:00
renovate[bot]
8eac82c5a3
chore(deps): update dependency eslint-config-prettier to v10 (#15428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-18 14:04:46 -06:00
Daniel Dietzler
3d13da7f11
refactor: migrate shared-link repository to kysely (#15289)
* refactor: migrate shared-link repository to kysely

* fix duplicate individual shared link return in getAll when there are more than 1 asset in the shared link

* using correct order condition

* using eb.table

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-01-18 13:25:15 -06:00
Jason Rasmussen
097183b31d
refactor: migrate partner repo to kysely (#15366) 2025-01-17 18:49:21 -05:00
Alex
6993726d50
chore: generate sql for stack repo (#15413)
* chore: generate sql for stack repo

* update sql
2025-01-17 20:02:28 +00:00
Zack Pollard
c821458e6c
refactor: migrate map repository to kysely (#15348)
* chore: migrate map repository to kysely

* chore: add kysely codegen command, exclude from prettier and re-run it on latest migrations

* refactor: migrate map repository to kysely

* chore: dont log postgres notices
2025-01-17 09:14:42 -06:00
Alex
378bd3c993
refactor: migrate access repo to kysely (#15365) 2025-01-16 09:25:03 -06:00
Jason Rasmussen
6ce1533117
fix: activity types (#15368) 2025-01-15 23:31:26 -05:00
Daniel Dietzler
a2207f2eef
refactor: migrate library repository to kysely (#15271) 2025-01-15 15:01:28 -06:00
Alex
7d087371b5
chore: sql sync (#15370)
* chore: sql sync

* chore: sql sync
2025-01-15 19:55:29 +00:00
Jason Rasmussen
93e2545275
refactor: migrate memory to kysely (#15314) 2025-01-15 11:34:11 -05:00
renovate[bot]
43b3181f45
chore(deps): update base-image to v20250114 (major) (#15347)
chore(deps): update base-image to v20250114

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 19:58:02 -05:00
Mert
2903ad8156
refactor(server): migrate album-user repo to kysely (#15351) 2025-01-14 19:27:16 -05:00
renovate[bot]
3e11b90851
chore(deps): update node.js to v22.13.0 (#15337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 13:20:12 -05:00
Alex
a35af2b242
refactor: migrate move repository to kysely (#15327)
* refactor: migrate move repository to kysely

* fix: tests

* fix: tests
2025-01-13 23:22:03 -05:00
Yonathan Randolph
fc99c5f530
chore(server): avoid copying sources in dev (#12794)
* chore(server): avoid copying sources in dev

Add a dev target to the web and server Dockerfiles, and change docker-compose.dev.yml to use the dev target. The dev target avoids copying files so that the docker image is smaller.

* chore: respond to PR: don't add dev target

web/Dockerfile is only used by docker-compose.dev.yml so a dev target is redundant. Instead, just remove the copy

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-01-13 22:00:55 -05:00
Daniel Dietzler
28b08ed417
refactor: migrate audit repository to kysely (#15269) 2025-01-13 21:23:12 -05:00
Alex
79726acc72
refactor: migrate sessions repository to kysely (#15268)
* wip: search

* wip: getByToken

* wip: getByToken

* wip: getByUserId

* wip: create/update/delete

* remove unused code

* clean up and pr feedback

* fix: test

* fix: e2e test

* pr feedback
2025-01-13 20:45:52 -05:00
Jason Rasmussen
36eef9807b
fix: version history sql (#15321) 2025-01-14 01:38:11 +00:00
Alex
3da750117f
refactor: migrate user repository to kysely (#15296)
* refactor: migrate user repository to kysely

* refactor: migrate user repository to kysely

* refactor: migrate user repository to kysely

* refactor: migrate user repository to kysely

* fix: test

* clean up

* fix: metadata retrieval bug

* use correct typeing for upsert metadata

* pr feedback

* pr feedback

* fix: add deletedAt check

* fix: get non deleted user by default

* remove console.log

* fix: stop kysely after command finishes

* final clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-01-13 20:30:34 -05:00
Mert
fef36e6a37
chore(server)!: default max bitrate unit to kbps (#15264)
default unit to kbps
2025-01-11 22:09:19 -06:00
renovate[bot]
8b4390c247
chore(deps): update dependency @types/node to ^22.10.5 (#15246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-11 22:06:18 -06:00
renovate[bot]
2301affd7e
chore(deps): update node.js to v22.13.0 (#15249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-11 22:04:22 -06:00
renovate[bot]
0b8cfc6b82
chore(deps): update base-image to v20250107 (major) (#15251)
chore(deps): update base-image to v20250107

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-11 23:00:50 -05:00
bo0tzz
cab201270c
chore: migrate version-history repository to kysely (#15267)
* chore: generate sql for version-history repository

* chore: run kysely-codegen

* chore: migrate version-history repository to kysely

* fix: change `| null` to `| undefined`

* chore: clean up unneeded async
2025-01-11 20:12:34 +00:00
Jason Rasmussen
e51091b6e5
refactor: migrate trash to kysely (#15233) 2025-01-10 18:48:21 -05:00
Jason Rasmussen
cc6a8b0c74
refactor: migrate system metadata to kysely (#15231) 2025-01-10 14:20:15 -05:00
Jason Rasmussen
930f979960
feat: migration api keys to use kysely (#15206) 2025-01-10 14:02:12 -05:00
Daniel Dietzler
7d50d3032b
refactor: activity queries (#15207) 2025-01-09 18:14:36 -05:00
Daniel Dietzler
1fb2b3f899
refactor: migrate activity repo to kysely (#15203)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-01-09 14:31:46 -05:00
Mert
2e12c46980
refactor(server): use kysely (#12857) 2025-01-09 11:15:41 -05:00
github-actions
8d836ae04f chore: version v1.124.2 2025-01-08 23:16:35 +00:00
Jonathan Jogenfors
bab04378dc
fix(server): generate thumbnails for external assets (#15183)
fix: thumbnail generation of external assets
2025-01-08 17:12:39 -06:00
github-actions
cc10fc15c3 chore: version v1.124.1 2025-01-08 16:16:15 +00:00
Alex
36a9ae7c54
fix(server): email cannot render with pretty flag (#15157) 2025-01-08 08:53:08 -06:00
github-actions
840d99ed25 chore: version v1.124.0 2025-01-07 19:00:42 +00:00
Jonathan Jogenfors
23f3e737fd
fix(server): don't delete offline files from disk when trash empties (#14777)
fix: don't delete offline files from disk when emptying trash

Move logic to asset deletion check
2025-01-07 18:25:43 +00:00
Zack Pollard
776be7d205
fix: reverse geocoding data import don't use unlogged tables (#15136) 2025-01-07 15:36:07 +00:00
scottdesilva
1f0ffd634a
fix(server): unit test for creating tag with color (#15120)
* Pass color to tag repo on creation

* unit test for creating tag with optional color
2025-01-06 13:33:48 -06:00
scottdesilva
c78e9d6ad5
fix(server): save color when creating tag (#15106)
Pass color to tag repo on creation
2025-01-06 12:21:55 -05:00
Mert
fcd372238f
chore(server): add support for .m2t (#15064)
* add m2t

* ordering
2025-01-03 16:28:32 -06:00
Chuckame
3c35b467f4
feat(server): use the earliest date between file creation and modification timestamps when missing exif tags (#14874)
* feat(server): Use the earliest date between file creation and modification timestamps when missing exif tags

* PR fixes

* PR fixes

* Switch log to debug

* fix linter for min date

* apply prettier
2025-01-02 04:50:15 +00:00
renovate[bot]
b91f39d1af
chore(deps): update base-image to v20241224 (major) (#14905)
chore(deps): update base-image to v20241224

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-27 09:51:42 -06:00
Daniel Dietzler
139090715e
fix: trusted proxies (#14888) 2024-12-27 09:51:07 -06:00
renovate[bot]
6b08e82cf7
fix(deps): update dependency @nestjs/swagger to v8 (#13881)
* fix(deps): update dependency @nestjs/swagger to v8

* chore: generate open api

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-12-23 21:03:34 +00:00
Jonathan Jogenfors
c3be74c450
fix(server): support import paths with special chars (#14856) 2024-12-22 16:22:16 -06:00
Jonathan Jogenfors
4bc2aa5451
feat(server): Handle sidecars in external libraries (#14800)
* handle sidecars in external libraries

* don't add separate source
2024-12-21 20:50:07 -06:00
renovate[bot]
8e724c3c27
chore(deps): update base-image to v20241217 (major) (#14776)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-18 18:27:08 +00:00
Daniel Dietzler
6a855f6331
chore: update deps (#14755) 2024-12-18 14:19:48 +00:00
renovate[bot]
0d060ebb32
chore(deps): update node (#14736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-17 15:21:01 -05:00
github-actions
fd34a914a6 chore: version v1.123.0 2024-12-17 16:00:50 +00:00
000yesnt
f180ae70f9
feat(server): add Bash healthcheck script (#14704)
* feat(server): add Bash healthcheck script

* fix(server): add 2 second timeout for healthcheck.js parity

* chore(server): delete old healthcheck Node script

* fix(server): feedback

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-12-16 15:19:18 +00:00
Lukas
12e55f5bf0
feat(server): Merge Faces sorted by Similarity (#14635)
* Merge Faces sorted by Similarity

* Adds face sorting to the side panel face merger

* run make open-api

* Make it one query

* Only have the single order by when sorting by closest face
2024-12-16 08:47:11 -06:00
Tim Van Onckelen
525840b040
fix(server): fixed email footer image stretched #14617 (#14671) 2024-12-13 17:13:38 +00:00
renovate[bot]
39732f3371
chore(deps): update base-image to v20241210 (major) (#14670)
chore(deps): update base-image to v20241210

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 16:28:27 +00:00
renovate[bot]
59d6af54c7
chore(deps): update node.js to v22.12.0 (#14650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 10:12:44 -06:00
github-actions
c52f1bae81 chore: version v1.122.3 2024-12-11 21:15:03 +00:00
Alex
0c03753642
fix(server): fix getByDayOfYear query (#14655)
* fix(server): fix getByDayOfYear query

* generate sql
2024-12-11 20:51:56 +00:00
Mert
9eff1c4b34
refactor(server): move filters to getByDayOfYear query (#14628)
move filters to getByDayOfYear query
2024-12-10 16:22:47 -05:00
Mert
25ca3b1124
refactor(server): use includeNull in query for search suggestions (#14626)
* use `includeNull`

* push down `includeNull` into query, inner joins

* remove filter

* update sql

* fix tests

* maybe fix e2e

* more e2e tests

* handle no exif row

* whoops

* update sql
2024-12-10 16:22:37 -05:00
Mert
60c783bbe9
fix(server): partial fallback for hardware transcoding (#14611) 2024-12-10 12:11:19 -05:00
Lukas
1ba622adc9
feat: Add support for vob (#14590)
Add support for vob
2024-12-08 20:35:23 -06:00
github-actions
03eb5903fe chore: version v1.122.2 2024-12-08 23:41:22 +00:00
github-actions
97c1eb7289 chore: version v1.122.1 2024-12-06 13:49:14 +00:00
Mert
07096bdcee
fix(server): images with non-ascii names failing to load (#14512)
* utf-8 filename

* Update file.ts

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2024-12-06 07:43:58 -06:00
github-actions
37220a342a chore: version v1.122.0 2024-12-05 16:29:46 +00:00
Tim Van Onckelen
292182fa7f
feat: Notification Email Templates (#13940) 2024-12-04 20:26:02 +00:00
Mert
4bf1b84cc2
feat(ml): support multiple urls (#14347)
* support multiple url

* update api

* styling

unnecessary `?.`

* update docs, make new url field go first

add load balancing section

* update tests

doc formatting

wording

wording

linting

* small styling

* `url` -> `urls`

* fix tests

* update docs

* make docusaurus happy

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-12-04 20:17:47 +00:00
Mert
ba9b9353bc
fix(server): show people without thumbnails (#14460)
* show people without thumbnails

* redundant clause

* updated sql
2024-12-03 15:04:42 -05:00
Mert
52247c3650
fix(server): always set transcoding device, prefer renderD* (#14455)
always set device, prefer renderD*
2024-12-02 20:28:50 -05:00
Eli Gao
4eb7758f56
feat(server): specify names for thumbnail files (#14425) 2024-12-01 13:21:08 -06:00
Sam Holton
5417e34fb6
feat(server): Add publicUsers toggle for user search (#14330)
* feat(server): Add publicUsers toggle for user search

* tests

* docs: add check:typescript for web PR checklist

* return auth.user when publicUsers is false - app testing

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-11-26 15:51:01 +00:00
San
1c82804f63
fix(server): use hw decoding for rkmpp w/o OpenCL if possible (#13848)
* Set hardware decoding options for rkmpp when hardware decoding is enabled with no OpenCL on non-HDR file

* Use hw decoding, sw tone-mapping on HDR files using RKMPP w/o OpenCL

* fallback to software decoding if is hdr video

* if hw decoding failed with hw dec config enabled, try sw dec+hw enc first, then full sw dec+enc

* fix unit test

* fix format, adjust log message

* formatting

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-11-22 08:08:49 +00:00
renovate[bot]
45ba0cc3ac
fix(deps): update typescript-projects (#13939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2024-11-21 14:07:06 +00:00
Alex
9a9d40c193
feat(server): clean up interrupted upload files (#14265)
* feat(server): clean up interrupted upload files

* pr feedback

* remove console.log

* handle all errors

* remove return in callback function

* programming in bed is a bad idea
2024-11-20 17:17:12 -06:00
Jason Rasmussen
9e1e9b1fbf
refactor: rename searchMetadata to searchAssets (#14151) 2024-11-20 14:47:25 -05:00
Jason Rasmussen
876893c823
refactor(server): filter on-event handlers by worker (#14085) 2024-11-20 14:08:42 -05:00
renovate[bot]
c6e1dbec5c
chore(deps): update base-image to v20241119 (major) (#14253)
chore(deps): update base-image to v20241119

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 14:05:39 -05:00
renovate[bot]
f40269bc3e
chore(deps): update node.js to b64ced2 (#14218)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 14:05:06 -05:00
Lukas
b6937c5e03
fix(server): Remove log that accidently was commited in #14134 (#14261)
Remove log that accidently was commited
2024-11-20 17:20:54 +00:00
github-actions
98c9ae1f7d chore: version v1.121.0 2024-11-20 16:15:53 +00:00
Mert
ad510dd6fd
feat(server): faster geodata import (#14241)
* faster geodata import

* revert logging change

* unlogged tables

* leave spare connection

* use expression index instead of generated column

* do btree indexing with others
2024-11-20 08:57:14 -06:00
Daniel Dietzler
a3712e40bd
fix: parse quota claim as number (#14178) 2024-11-19 15:40:56 -06:00
Mert
34fae31fd4
fix(server): remove unnecessary guc settings for vector search (#14237)
remove unnecessary guc settings
2024-11-19 15:37:39 -06:00
Alex
f8bbc6eabe
fix: mobile album sync always triggered when opening the app (#14233)
* fix: mobile album sync always triggered when opening the app

* send lastModifiedAssetTimestamp when get individual album
2024-11-19 21:36:55 +00:00
Michel Heusschen
32f908baf1
fix: show tags when viewing stacked assets (#14199)
fix: refresh tags when viewing stacked assets
2024-11-18 07:50:04 -05:00
weathondev
f5c4af73aa
feat: adding photo & video storage space to server stats (#14125)
* expose detailed user storage stats + display them in the storage per user table

* chore: openapi & sql

* fix: fix test stubs

* fix: formatting errors, e2e test and server test

* fix: upper lower case typo in spec file

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-11-15 16:38:57 -06:00
Lukas
9203a61709
fix(server): Some MTS videos fail to generate thumbnail (#14134)
* Stop skipping of all frames in MTS video

* Only skip flag for mts videos

* Fix lint checks

* Adds test

* Add comment for why flag is removed
2024-11-14 07:07:04 +00:00
Pablo Molina
333ca8827e
feat: use dateTimeOriginal to calculate album date (#14119) 2024-11-13 11:17:14 -06:00
github-actions
31a1e64b58 chore: version v1.120.2 2024-11-12 17:30:29 +00:00
Zack Pollard
e17bd8efc6
fix(server): backup version checks not handling database versions correctly (#14102) 2024-11-12 10:57:05 -06:00
Alex
2f9019c0e1
fix(server): correct rotation for common files (#14092)
* fix(server): correct rotation for common files

* fix: test:

* pr feedback
2024-11-12 15:07:56 +00:00
Zack Pollard
dfa8a8a6e1
feat(server): use pg_dumpall version that matches the database version (#14083) 2024-11-12 14:58:29 +00:00
renovate[bot]
b9a0c3c79f
chore(deps): update base-image to v20241112 (major) (#14088)
chore(deps): update base-image to v20241112

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 12:49:31 +00:00
renovate[bot]
bda97c4e0e
chore(deps): update node (#14090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 07:32:52 -05:00
Zack Pollard
d4ca7d0075
fix: config updates not applying for job and storage template service (#14074) 2024-11-11 12:50:09 +00:00
Zack Pollard
5097c92494
fix(server): attempt to delete failed backups immediately after failure (#13995) 2024-11-11 12:08:52 +00:00
Terry Zhao
c8b46802d6
fix(server): thumbnail rotation when using embedded previews (#13948) 2024-11-08 06:30:59 +00:00
Jason Rasmussen
7534098596
fix(server): support non-default postgres port when taking a backup (#13992) 2024-11-07 20:06:16 +00:00
Jason Rasmussen
e84ad084d5
refactor(server): cron validation (#13990) 2024-11-07 17:27:52 +00:00
Jason Rasmussen
dc2de47204
refactor(server): cron repository (#13988) 2024-11-07 12:15:54 -05:00
Jason Rasmussen
64831e2328
refactor: remove smart info table (#13985) 2024-11-07 11:25:10 -05:00
github-actions
599b489f81 chore: version v1.120.1 2024-11-07 15:31:19 +00:00
Sefa Eyeoglu
564449a555
fix(server): database backups compatible with deduplication (#13965)
gzip --rsyncable has a slightly worse compression ratio, but allows for
efficient deduplication and, as the name implies, faster rsync
operations.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-11-07 12:36:17 +00:00
Robert Schütz
f4741c70f3
fix(server): allow starting backup through API and fix pg_dumpall args when using database URLs (#13970)
* fix(server): allow starting backup through API

* fix(server): fix pg_dumpall args when using database URLs

The database has to be specified using `-d`, unlike for pg_dump.
2024-11-07 11:57:36 +00:00
Alex
ebf06dc12e
fix(server): cannot render email template (#13957) 2024-11-06 22:14:11 +01:00
github-actions
f1b8a9374f chore: version v1.120.0 2024-11-06 16:17:29 +00:00
renovate[bot]
7134d26a19
chore(deps): update base-image to v20241105 (major) (#13826) 2024-11-05 21:24:36 +00:00
renovate[bot]
42ee7f1290
chore(deps): update typescript-projects (#13922)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-11-05 20:04:39 +00:00
renovate[bot]
5d7a04367c
chore(deps): update dependency @types/node to ^22.8.6 (#13937)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 14:28:13 -05:00
Zack Pollard
d456d35510
refactor: config init event for first config load (#13930) 2024-11-05 16:30:56 +00:00
Zack Pollard
c383e115af
chore: better observability for geodata import (#13931) 2024-11-05 16:20:56 +00:00
Jason Rasmussen
5edbb93a4d
refactor(server): get worker (#13927) 2024-11-05 13:07:51 +00:00
renovate[bot]
1d55b5bfc0
chore(deps): update dependency @types/node to ^22.8.5 (#13923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 06:48:01 -05:00
renovate[bot]
60afd7b400
chore(deps): update node (#13918)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 19:52:23 -05:00
Pranay Pandey
380fc06979
fix: remove duplicateIds on unique assets (#13752) 2024-11-04 10:03:03 -05:00
renovate[bot]
d34d92dca3
fix(deps): update dependency exiftool-vendored to v28.7.0 (#13790)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 12:49:21 +00:00
Daniel Dietzler
3551407d95
fix: healthcheck if custom host is set (#13887) 2024-11-02 22:46:16 -04:00
Jason Rasmussen
fed882a28a
refactor(server): immich worker (#13871)
refactor(server): immich work
2024-11-01 17:19:36 -04:00
Carsten Otto
cdabd08139
fix(server): wrong image dimensions for RAW files (RAF, CR2) (also fixes face preview) (#13377) 2024-11-01 10:34:34 -04:00
Mert
b9096f3e99
feat(server): use tonemapx for software tone-mapping (#13785) 2024-10-31 20:48:23 -04:00
Jason Rasmussen
5b2cd704d3
refactor(server): job discovery (#13838)
refactor(server): job discorvery
2024-10-31 13:42:58 -04:00
renovate[bot]
a28b92b3cc
chore(deps): update dependency node to v22 (#13855)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-31 14:21:45 +00:00
renovate[bot]
066682f48d
chore(deps): update dependency @types/node to ^22.8.1 (#13854)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-31 14:20:26 +00:00
Zack Pollard
7d933ec97a
feat: built-in automatic database backups (#13773) 2024-10-31 11:29:42 +00:00
renovate[bot]
9d75c5b999
chore(deps): update typescript-projects (#13789)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 15:03:32 -04:00
Jason Rasmussen
40fbef50cf
refactor(server): remove unused on method (#13830) 2024-10-30 14:09:52 -04:00
renovate[bot]
92ad03615c
chore(deps): update node to v22 (major) (#13792)
* chore(deps): update node to v22

* fix: deprecated constructor

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-10-30 16:05:02 +00:00
renovate[bot]
0d62ff11f1
chore(deps): update base-image to v20241029 (major) (#13821)
chore(deps): update base-image to v20241029

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 06:02:45 -04:00
Jason Rasmussen
0f668fd5c6
refactor(server): env validation (#13817) 2024-10-30 05:00:41 -04:00
Jason Rasmussen
19eb3ed8b9
refactor(server): cls (#13814) 2024-10-29 20:41:47 +00:00
Jason Rasmussen
2efba6326d
chore(server): telemetry env clean up (#13813) 2024-10-29 19:20:32 +00:00
Jason Rasmussen
37e437a568
fix(server): keep system config transformations (#13796) 2024-10-29 15:59:35 +00:00
Jason Rasmussen
4b9e460db5
refactor(server): worker cleanup (#13805) 2024-10-29 11:47:33 -04:00
Zack Pollard
68a4cc25dc
refactor: better postgres connection param typing (#13800) 2024-10-29 15:11:34 +00:00
Zack Pollard
e74ddca6c0
fix: shutdown api process when another worker exits unexpectedly (#13802) 2024-10-29 14:46:04 +00:00
Zack Pollard
02819dc079
feat: mount checks on a folder level (#13801) 2024-10-29 14:43:27 +00:00
Jason Rasmussen
e029190a5d
fix(server): handle N/A duration response from ffprobe (#13803) 2024-10-29 14:21:30 +00:00
github-actions
00dd9419a5 chore: version v1.119.1 2024-10-29 13:33:36 +00:00
renovate[bot]
490fcc5591
chore(deps): update dependency @types/node to ^20.17.0 (#13787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 21:55:44 -04:00
github-actions
8449e78c8f chore: version v1.119.0 2024-10-28 14:41:08 +00:00
Darrel
a70ed7c7f6
fix: X years ago ordering (#13742)
* fix: order by fileCreatedAt to account for tz

* run make sql
2024-10-26 15:28:33 -04:00
renovate[bot]
88d85eff0a
chore(deps): update base-image to v20241025 (major) (#13736)
chore(deps): update base-image to v20241025

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-26 09:09:01 -04:00
Zack Pollard
d95b474e58
fix: duplicated library scan jobs and api server library watch (#13734) 2024-10-25 14:48:42 +01:00
Jason Rasmussen
43d18ccc36
refactor(server): user create logic (#13728) 2024-10-24 17:24:37 -04:00
Jason Rasmussen
fb995816a1
refactor(server): database config (#13730) 2024-10-24 17:12:25 -04:00
Daniel Dietzler
151ba9f1d9
refactor(server): telemetry env variables (#13705)
refactor(server)!: telemetry env variables

Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
2024-10-24 21:07:32 +00:00
Jason Rasmussen
bc06863d28
feat: track when assets are added to an album (#13725) 2024-10-24 15:45:00 -05:00
renovate[bot]
5d9b4b4532
chore(deps): update base-image to v20241024 (major) (#13719)
chore(deps): update base-image to v20241024

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-24 09:56:41 -04:00
Mert
a76c39812f
fix(server): nan transcoding estimate (#13693)
fix nan transcoding estimate
2024-10-23 07:49:20 -05:00
renovate[bot]
c124cf9ace
chore(deps): update typescript-projects (#13676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 19:28:58 -04:00
Mert
a93fda8e0d
fix(server): add ld_library_path in start.sh (#13686)
add ld_library_path in start.sh
2024-10-22 18:41:59 -04:00
renovate[bot]
d455a547cc
chore(deps): update base-image to v20241022 (major) (#13673)
chore(deps): update base-image to v20241022

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 18:41:10 -04:00
Pranay Pandey
d40cbe4c5f
feat: Use video thumbnail for GIF types (#13677) 2024-10-22 13:04:44 -04:00
Ben
e98acc976e
chore: move weblate translations to root directory (#13604)
* chore: move translations to root directory

* chore: update build processes to work with new i18n location
2024-10-22 15:39:28 +00:00
renovate[bot]
0cb9c0d20d
chore(deps): update dependency @types/node to ^20.16.12 (#13660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 11:58:43 +01:00
renovate[bot]
c6227b49ff
fix(deps): update typescript-projects (#13662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 11:58:27 +01:00
Jason Rasmussen
e6a666f1d3
refactor(server): telemetry (#13588)
refactor: telemetry
2024-10-21 23:52:30 +00:00
Mert
21d7cf6de6
chore(server): make date-time logs verbose (#13659)
make date-time logs verbose
2024-10-21 16:35:56 -05:00
Jonathan Jogenfors
b411e30796
fix(server): only allow absolute import paths (#13642)
fix: only allow absolute paths
2024-10-21 09:12:12 -05:00
Mert
62e55f3db9
fix(server): Revert "fix(server): copy video projection metadata for 360 videos (#12376)" (#13611)
Revert "fix(server): copy video projection metadata for 360 videos (#12376)"

This reverts commit aa0097bde2.
2024-10-20 10:15:50 -05:00
Alex
39b571a95c
fix(server): encodes iPhone 16 Pro video with unknown audio codec (#13593)
* fix(server): encodes iPhone 16 Pro video with unknown audio codec

* remove white space

* pr feedback + unit test

* remove public method keyword

* test the service

* correcting unit test
2024-10-19 00:50:08 -05:00
Hayden
4a2a7b7735
feat(server): wait five minutes before sending email on new album item (#12223)
Album update jobs will now wait five minutes to send. If a new image is added while that job is pending, the old job will be cancelled, and a new one will be enqueued for a minute.

This is to prevent a flood of notifications by dragging in images directly to the album, which adds them to the album one at a time.

Album updates now include a list of users to email, which is generally everybody except the updater. If somebody else updates the album within that minute, both people will get an album update email in a minute, as they both added images and the other should be notified.
2024-10-18 14:51:34 -05:00
Jason Rasmussen
3fb5adb31c
refactor(server): rename metrics to telemetry (#13584) 2024-10-18 14:50:32 -04:00
pyorot
b1149881bd
feat(server): add pcm_s16le accepted audio codec (#13418) 2024-10-18 08:26:16 -04:00
Jason Rasmussen
12628b80bc
refactor(server): telemetry env (#13564) 2024-10-17 18:04:25 -04:00
Mert
23646f0d55
feat(server): vaapi hardware decoding (#13561)
* add hw decoding for vaapi

* add tests

* update docs
2024-10-17 18:02:41 -04:00
Jason Rasmussen
c8f672f494
refactor(server): telemetry ports env (#13560) 2024-10-17 21:00:22 +00:00
renovate[bot]
0eabb3ef80
fix(deps): update dependency sirv to v3 (#13511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-17 15:54:40 -04:00
Jason Rasmussen
e3fc4d7b0a
refactor(server): auth enums (#13552) 2024-10-17 13:17:32 -04:00
Jason Rasmussen
3d971f69dc
refactor(server): storage template options (#13553) 2024-10-17 13:11:51 -04:00
jedi04
bb694aeeeb
fix(server): Allow passwordless users when oauth enabled (#13517)
* fix(server): Allow passwordless users when oauth enabled

* fix(web): Use features flags for checking oauth
2024-10-17 12:24:50 -04:00
Jason Rasmussen
3f663106e8
refactor(server): redis config (#13538)
* refactor(server): redis config

* refactor: cache parsed env data

* chore: add database and redis tests
2024-10-17 10:50:54 -04:00
Jason Rasmussen
01a9cda15d
fix(server): never try to parse Duration from exif data (#13497) 2024-10-16 18:20:44 -04:00
Jason Rasmussen
8ac40a933a
refactor(server): external domain fallback (#13506) 2024-10-16 18:13:12 -04:00
Jason Rasmussen
51d4899cd1
refactor(server): move host env to config repo (#13507)
* refactor(server): access host through repository

* refactor(server): access host through repository
2024-10-16 18:12:13 -04:00
github-actions
e8015dc7d7 chore: version v1.118.2 2024-10-16 18:44:39 +00:00
lyyn
782ba48470
fix(server): ffmpeg matrices (#13461)
* Fix ffmpeg matrices

* override `getColors`

* formatting

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-10-16 14:29:59 -04:00
Mert
c266465317
chore(deps): update base-image to v20241016 (major) (#13512)
chore(deps): update base-image to v20241016
2024-10-16 11:58:51 -04:00
renovate[bot]
263d2ba161
fix(deps): update dependency exiftool-vendored to v28.6.0 (#13454)
* fix(deps): update dependency exiftool-vendored to v28.6.0

* fix: incorrect day light savings date time

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-10-16 05:45:09 -04:00
renovate[bot]
ece4553321
chore(deps): update base-image to v20241015 (major) (#13437)
chore(deps): update base-image to v20241015

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-16 05:01:15 -04:00
renovate[bot]
7d3ed6bd55
chore(deps): update typescript-projects (#13453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-16 04:57:57 -04:00
github-actions
edd7dfb5d8 chore: version v1.118.1 2024-10-15 20:44:10 +00:00
Jason Rasmussen
4c55597478
fix(server): mobile oauth login (#13474) 2024-10-15 16:41:19 -04:00
Kevin Cox
e57bd94f04
chore(server): explicitly use svt-av1 encoder (#13389) 2024-10-15 18:53:18 +00:00
renovate[bot]
f2b799cd6f
chore(deps): update node (#13449) 2024-10-15 14:39:55 -04:00
github-actions
8f69d9d0ec chore: version v1.118.0 2024-10-15 10:48:53 +00:00
Daniel Dietzler
ee50d0b42a
chore: stack service unit tests (#13441) 2024-10-14 19:18:41 -04:00
Alex
346a0847ef
fix(server): REVERT incorrect out_color_matrix value when generating thumbnails (#13409) (#13424)
Revert "fix(server): incorrect out_color_matrix value when generating thumbnails (#13409)"

This reverts commit 9bdfb41e9c.
2024-10-14 00:40:46 -04:00
lyyn
9bdfb41e9c
fix(server): incorrect out_color_matrix value when generating thumbnails (#13409) 2024-10-13 13:19:40 -04:00
Alex
5a3e352950
fix(server): typeorm (੭ °ཀ°)੭ (#13411) 2024-10-13 17:10:52 +00:00
bo0tzz
e183ff6feb
feat: log SOURCE_REF immediately in container startup (#13405)
This change makes sure the ref should be in pretty much any log we might get sent, making it easier to catch people running the wrong version.
2024-10-13 09:08:40 -04:00
Daniel Dietzler
20b4d281bb
chore: media service unit tests (#13382) 2024-10-11 21:33:10 -04:00
Daniel Dietzler
3b7bf76db9
chore: library unit tests (#13357) 2024-10-11 14:40:29 -04:00
Jason Rasmussen
930df46f74
chore(server): remove unused code (#13367) 2024-10-11 00:44:38 -04:00
Jason Rasmussen
8daa8073ae
refactor(server): add base methods for access checks (#13349) 2024-10-10 11:53:53 -04:00
Daniel Dietzler
97edf90889
fix: library deletion (#13350) 2024-10-10 11:51:54 -04:00
Daniel Dietzler
79ae4e211b
chore: database service unit tests (#13345) 2024-10-10 13:07:37 +00:00
Daniel Dietzler
bd779ff437
chore: cli unit tests (#13343) 2024-10-10 09:04:44 -04:00
Jason Rasmussen
465f4639da
feat: align compose ports (#13185) 2024-10-09 16:01:52 -04:00
Jason Rasmussen
f7ad6efc4a
feat(server): medium tests (#13289) 2024-10-09 10:00:40 -04:00
renovate[bot]
27c04f9d26
chore(deps): update typescript-projects (#13293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 11:32:18 +01:00
itoktsnhc
4780bb4fcd
fix(server): fix server ping URL path mismatch in healthcheck.ts (#13297)
fix server ping URL path mismatch in healthcheck.ts
2024-10-09 04:21:31 +00:00
Mert
08d428cbce
fix(server): duplicate faces, face insert query failing (#13294)
fix duplicate faces, query failing
2024-10-08 21:37:41 +00:00
Daniel Dietzler
9d0f03808c
chore: finishing unit tests for a couple of services (#13292) 2024-10-08 17:08:49 -04:00
renovate[bot]
d2800a647c
chore(deps): update base-image to v20241008 (major) (#13284)
chore(deps): update base-image to v20241008

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 15:22:04 -04:00
Jason Rasmussen
d47def41d3
fix(server): timezones (#13262) 2024-10-08 16:10:52 +00:00
renovate[bot]
34305b2eae
chore(deps): update dependency @types/lodash to v4.17.10 (#13280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 12:37:55 +02:00
renovate[bot]
60e0698110
chore(deps): update typescript-projects (#13272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-07 22:44:28 -04:00
renovate[bot]
48c6c1ad2f
chore(deps): update dependency node to v20.18.0 (#13271)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-07 22:42:33 -04:00
renovate[bot]
680bf34042
chore(deps): update dependency @types/node to ^20.16.10 (#13269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 02:05:31 +00:00
Mert
063969ca05
fix(server): searching with both personIds and withPeople (#13254)
* use cte

* linting
2024-10-07 15:44:04 -04:00
Jonathan Jogenfors
5b00bc499f
fix(server): Allow commas and braces in import paths (#13259)
fix commas and braces in paths
2024-10-07 15:43:21 -04:00
Zack Pollard
94d213bbb9
fix(server): external libraries queueing two transcode jobs (#13251) 2024-10-07 14:34:48 +01:00
Daniel Dietzler
a5e9adb593
chore: migrate oauth to repo (#13211) 2024-10-05 16:37:33 -04:00
Daniel Dietzler
9d9bf1c88d
chore: auth unit tests (#13207) 2024-10-05 12:16:23 -04:00
Jason Rasmussen
6bbaba7866
refactor(server): resource paths (#13194) 2024-10-04 21:09:02 +00:00
Jason Rasmussen
5d0a4bb1a5
refactor(server): app module (#13193) 2024-10-04 16:57:34 -04:00
Jason Rasmussen
7ee0221c8e
chore: remove deprecated endpoint (#13190) 2024-10-04 15:10:13 -04:00
Jason Rasmussen
08db817d14
chore: remove deprecated controller (#13189) 2024-10-04 15:10:03 -04:00
Daniel Dietzler
dc18731bab
chore: audit service unit tests (#13183) 2024-10-04 14:04:37 -04:00
Daniel Dietzler
4adedea128
chore: asset service unit tests (#13179) 2024-10-04 13:37:18 -04:00
Carsten Otto
bb3b4c8086
fix(server): update exiftool-vendored to v28.3.1 (#13176)
fixes #13141
2024-10-04 09:30:49 +01:00
Mert
2c87683fd4
feat(server): refresh face detection (#12335)
* refresh faces

handle non-ml faces

* fix metadata face handling

* updated tests

* added todo comment
2024-10-03 21:58:28 -04:00
Jason Rasmussen
9edc9d6151
refactor(server): immich app env (#13169) 2024-10-03 21:49:03 +00:00
Jason Rasmussen
3ac00b0ffa
refactor(server): db env (#13167) 2024-10-03 17:48:40 -04:00
Jason Rasmussen
e2bf6808ca
refactor(server): no color env (#13166) 2024-10-03 16:58:15 -04:00
Jason Rasmussen
0eb77147ef
refactor(server): build support env (#13163) 2024-10-03 16:33:43 -04:00
Jason Rasmussen
3ddb5b8733
refactor(server): license key env (#13162) 2024-10-03 19:45:37 +00:00
Daniel Dietzler
2c8c3651de
chore: some more unit tests :) (#13159) 2024-10-03 15:36:54 -04:00
Jason Rasmussen
db1623f43f
refactor(server): worker env (#13160) 2024-10-03 15:28:36 -04:00
Jason Rasmussen
892a35acb5
refactor(server): port env (#13158) 2024-10-03 17:29:40 +00:00
github-actions
6b8462402b chore: version v1.117.0 2024-10-03 01:59:28 +00:00
Mert
8ee825964d
fix(server): thumbnail colorspace handling (#13130)
fix colorspace handling
2024-10-02 20:53:17 +00:00
Jason Rasmussen
4ea281f854
refactor: service dependencies (#13108)
refactor(server): simplify service dependency management
2024-10-02 10:54:35 -04:00
Jason Rasmussen
6c7d51da34
refactor: more process.env references (#13106) 2024-10-02 08:37:26 -04:00
renovate[bot]
b0bcc6c03e
chore(deps): update typescript-projects (#13099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 19:29:48 -04:00
Jason Rasmussen
63437529e1
refactor(server): config file env (#13100) 2024-10-01 16:03:55 -04:00
Jason Rasmussen
4d20b11f25
feat: track upgrade history (#13097) 2024-10-01 13:33:58 -04:00
Jason Rasmussen
305fc77ebe
feat(server): better mount checks (#13092) 2024-10-01 13:04:37 -04:00
Zack Pollard
d46e50213a
fix(server): offline assets don't restore when coming back online (#13087) 2024-10-01 14:03:19 +01:00
renovate[bot]
49486f2d26
chore(deps): update base-image to v20241001 (major) (#13089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 12:26:00 +00:00
Zack Pollard
3b968707a7
fix: deletedAt not set for offline assets during 1.116.0 migration (#13086) 2024-10-01 13:09:08 +01:00
Carsten Otto
67aa124de9
feat(server): parse offset from "Image_UTC_Data" (Samsung) (#13080)
* fix(deps): update dependency exiftool-vendored to v28.3.0

* feat(server): parse offset from "Image_UTC_Data" (Samsung)

A Samsung phone might provide the local time (e.g. 09:00) without any timezone or
offset information. If the file also includes the non-standard trailer tag
"TimeStamp" in "Image_UTC_Data", we can use the unix timestamp contained within to
deduce the offset.

As an example, if the local date/time is "2024-09-15T09:00" and the unix timestamp is
1726408800 (which is 2024-09-15T16:00 UTC), we know that the offset is -07:00.

The actual computation/fix is done in exiftool-vendored.

Also see
0f63a78090/lib/Image/ExifTool/Samsung.pm (L996-L1001)
https://github.com/photostructure/exiftool-vendored.js/issues/209

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 12:08:06 +00:00
renovate[bot]
67ddba0b13
chore(deps): update typescript-projects (#13073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 11:16:34 +01:00
Zack Pollard
3eccff4306
feat: support and feedback modal with third party support (#13056) 2024-10-01 11:15:31 +01:00
martin
06048b6db9
feat: preload fonts (#13068) 2024-10-01 09:08:25 +07:00
renovate[bot]
14e6d23eeb
chore(deps): update dependency @types/node to ^20.16.9 (#13069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 01:26:39 +00:00
Jason Rasmussen
a019fb670e
refactor(server): config service (#13066)
* refactor(server): config service

* fix: function renaming

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-09-30 17:31:21 -04:00
Jason Rasmussen
f63d251490
refactor(server): user core (#13063) 2024-09-30 16:04:24 -04:00
Jason Rasmussen
dfc2d5002b
refactor(server): client events (#13062) 2024-09-30 15:50:34 -04:00
Jason Rasmussen
a2d457b01d
refactor(server): events (#13003)
* refactor(server): events

* chore: better type

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-09-30 10:35:11 -04:00
Mert
7adb35e59e
fix(server): /search/random failing with certain options (#13040)
* fix relation handling, remove pagination

* update api, sql

* update mock
2024-09-30 00:29:35 -04:00
Mert
2f13db51df
fix(server): "all" button for facial recognition deleting faces instead of unassigning them (#13042)
* unassign faces instead of deleting them

* formatting
2024-09-30 00:29:14 -04:00
Mert
2bcd27e166
feat(server): generate all thumbnails for an asset in one job (#13012)
* wip

cleanup

add success logs, rename method

do thumbhash too

fixes

fix tests

handle `notify`

wip refactor

refactor

* update tests

* update sql

* pr feedback

* remove unused code

* formatting
2024-09-28 17:47:24 +00:00
Mert
995f0fda47
feat(server): separate quality for thumbnail and preview images (#13006)
* allow different thumbnail and preview quality, better config structure

* update web and api

* wording

* remove empty line?
2024-09-28 06:01:04 +00:00
Mert
4248594ac5
feat(server): better transcoding logs (#13000)
* better transcoding logs

* pr feedback
2024-09-27 18:10:39 -04:00
github-actions
8bbcd5c31e chore: version v1.116.2 2024-09-27 18:17:49 +00:00
Zack Pollard
789937d4a2
fix: library pagination to 10k to avoid too many postgres query params (#12993) 2024-09-27 18:15:44 +01:00
github-actions
7c15e11efc chore: version v1.116.1 2024-09-27 15:32:16 +00:00
Jason Rasmussen
36ee72cd87
refactor(server): access env via repository (#12987) 2024-09-27 10:28:56 -04:00
Jason Rasmussen
12da250028
refactor: enums (#12988) 2024-09-27 10:28:42 -04:00
Jason Rasmussen
b6f871786c
fix(server): handle numeric hierarchical subject values (#12949) 2024-09-26 14:32:10 -04:00
github-actions
60679a6369 chore: version v1.116.0 2024-09-26 14:51:27 +00:00
Jonathan Jogenfors
b2f2be3485
refactor(server): library syncing (#12220)
* refactor: library scanning

fix tests

remove offline files step

cleanup library service

improve tests

cleanup tests

add db migration

fix e2e

cleanup openapi

fix tests

fix tests

update docs

update docs

update mobile code

fix formatting

don't remove assets from library with invalid import path

use trash for offline files

add migration

simplify scan endpoint

cleanup library panel

fix library tests

e2e lint

fix e2e

trash e2e

fix lint

add asset trash tests

add more tests

ensure thumbs are generated

cleanup svelte

cleanup queue names

fix tests

fix lint

add warning due to trash

fix trash tests

fix lint

fix tests

Admin message for offline asset

fix comments

Update web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte

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

add permission to library scan endpoint

revert asset interface sort

add trash reason to shared link stub

improve path view in offline

update docs

improve trash performance

fix comments

remove stray comment

* refactor: add back isOffline and remove trashReason from asset, change sync job flow

* chore(server): drop coverage to 80% for functions

* chore: rebase and generated files

---------

Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2024-09-25 18:26:19 +01:00
Jason Rasmussen
005528ab5e
fix(server): http error parsing on endpoints without a default response (#12927) 2024-09-25 12:05:03 -04:00
renovate[bot]
46fe60693e
chore(deps): update dependency @types/react to v18.3.8 (#12918)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 09:56:02 -04:00
Jason Rasmussen
05d8c4c132
fix: do not use trashed assets as album covers (#12905) 2024-09-24 17:53:57 -04:00
renovate[bot]
b85d8943e7
chore(deps): update base-image to v20240924 (major) (#12893)
chore(deps): update base-image to v20240924

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 10:36:25 -04:00
renovate[bot]
56f680ce04
chore(deps): update typescript-projects (#12882)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 22:05:04 -04:00
Daniel Dietzler
ec32a9e610
fix: set min values for face detection to reasonable values (#12877)
fix: set min values for face detection to >0
2024-09-23 22:03:59 -04:00
Zack Pollard
bcd416477b
feat: serve map tile styles from tiles.immich.cloud (#12858)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-09-23 20:30:23 +00:00
Jason Rasmussen
e748945b4f
fix(server): gracefully handle unknown jobs (#12870) 2024-09-23 17:22:36 +00:00
jschwalbe
9f8a7e0bea
feat(server): sort assets randomly from the API 'api/search/metadata' endpoint by including 'order': 'rand' in the API call. (#12741)
feat(server): search metadata random sort order

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-23 12:09:26 -04:00
Daniel Dietzler
a7719a94fc
fix: normalize external domain (#12831)
chore: normalize external domain
2024-09-23 15:40:25 +00:00
Jason Rasmussen
0cce7ebf25
fix: web e2e (#12869) 2024-09-23 15:16:25 +00:00
Nuno Antunes
b1cdf73a24
feat(server): validate rating (#12855)
* feat(server): validate exif rating tag

* fix(server): change allowed range for rating

* refactor: better readibility

* docs: comments

* remove log line
2024-09-23 07:50:18 +00:00
Zack Pollard
5a1a841365
fix: rework file handling so we always explicitly create, overwrite or both (#12812) 2024-09-20 23:16:53 +00:00
Daniel Dietzler
96516ae4b9
fix: creating tags with leading/traling slashes (#12778) 2024-09-18 19:25:13 +00:00
Jason Rasmussen
6740c67ed8
fix: empty and restore over 1,000 items (#12751) 2024-09-18 09:57:52 -04:00
Jason Rasmussen
4f25cec6df
refactor(server): metadata repository (#12759) 2024-09-18 08:44:22 -04:00
renovate[bot]
ab5dd4d66a
chore(deps): update typescript-projects (#12536)
* chore(deps): update typescript-projects

* chore: import

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-17 22:31:12 +00:00
Jason Rasmussen
efe45fd0aa
chore: remove unused album repository methods (#12758) 2024-09-17 21:02:11 +00:00
Jason Rasmussen
1e6ef5c9e4
refactor(server): view repository (#12755) 2024-09-17 16:32:09 -04:00
renovate[bot]
f53e4721cf
chore(deps): update base-image to v20240917 (major) (#12750)
chore(deps): update base-image to v20240917

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-17 10:06:56 -04:00
Min Idzelis
7a755a089b
fix(server): debug port (#12745)
Fix debug port
2024-09-17 03:13:38 +00:00
martin
c468da589a
fix: update the profile picture in the navigation-bar (#12723)
* fix: update the profile picture in the navigation-bar

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-17 01:48:15 +00:00
Jason Rasmussen
b74b20824a
feat: tag cleanup job (#12654) 2024-09-16 16:49:12 -04:00
Alex
e73dc3dc72
fix(server): fix modify date extraction (#12658)
* fix(server): fix modify date extraction

* add unit test
2024-09-14 03:30:06 +00:00
Jason Rasmussen
c717fd2131
fix(server): increase person search limit (#12619) 2024-09-13 12:33:16 -04:00
Jason Rasmussen
ba57646f9f
refactor(server): client emit events (#12606)
* refactor(server): client emit events

* chore: test coverage
2024-09-12 14:12:39 -04:00
Jason Rasmussen
7b737786b3
fix(server): include partner assets in random endpoint (#12599) 2024-09-12 13:56:38 -04:00
github-actions
230eff4e1a chore: version v1.115.0 2024-09-12 15:37:59 +00:00
Jason Rasmussen
c3ff1b54af
fix(server): missing case break (#12595)
* fix(server): missing break statement

* fix(server): missing break statement
2024-09-12 13:45:38 +00:00
renovate[bot]
95987c9777
chore(deps): update node (#12528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 21:30:05 -04:00
renovate[bot]
d489813a88
chore(deps): update base-image to v20240910 (major) (#12546)
chore(deps): update base-image to v20240910

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 21:28:27 -04:00
Jason Rasmussen
01c7adc24d
feat(web): unlink live photos (#12574)
feat(web): unlink live photo
2024-09-11 16:26:29 -04:00
Jonathan Jogenfors
233372303b
feat(server): default exclusion patterns (#12566)
* Add default exclusion patterns

* simplify

* fix tests
2024-09-11 09:40:52 -05:00
Jason Rasmussen
d634ef2d2b
fix(server): person repo methods (#12524) 2024-09-10 08:48:29 -05:00
Jason Rasmussen
27050af57b
feat(web): manually link live photos (#12514)
feat(web,server): manually link live photos
2024-09-10 08:51:11 -04:00
Jason Rasmussen
3127636c42
fix(server): handle invalid directory item (#12534) 2024-09-09 23:54:24 -04:00
Jason Rasmussen
d39917a4db
fix(web): show trash indicator (#12521) 2024-09-09 16:03:17 -04:00
Jason Rasmussen
b3ef5fe6e7
fix(server): handle multiple hierarchical subjects (#12509) 2024-09-09 14:28:14 -04:00
pbustamantes
a287a766d9
fix typo on asset-media.service.ts (#12486) 2024-09-09 09:11:24 +00:00
Jason Rasmussen
184a662fda
fix(server): remove hidden assets from albums (#12449)
* fix(server): remove hidden assets from albums

* fix: linting

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-09-09 00:40:20 -04:00
Jason Rasmussen
a9caa407ec
refactor: metadata extraction (#12359) 2024-09-07 13:39:10 -04:00
Jason Rasmussen
1e3052bd0b
feat(server): start up folder checks (#12401) 2024-09-07 13:21:25 -04:00
Jason Rasmussen
2554cc96b0
feat(web): logout of all tabs (#12407) 2024-09-07 13:21:05 -04:00
github-actions
068904f746 chore: version v1.114.0 2024-09-06 13:49:08 +00:00
Mert
aa0097bde2
fix(server): copy video projection metadata for 360 videos (#12376) 2024-09-06 00:30:34 -04:00
Mert
eb7777639d
fix(server): clean face tables after delete (#12375)
clean face tables after delete
2024-09-05 23:09:19 +00:00
Mark
649897f737
docs: Add conditional album storage template information (#12218) 2024-09-05 23:57:12 +02:00
Lukas
27e283e724
fix(server): search suggestions include partner assets (#12269)
search suggestions now include partner assets

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-09-05 09:12:46 -05:00
Jason Rasmussen
ce2349d496
fix(server): asset no longer has tags (#12350) 2024-09-05 08:24:10 -05:00
BugFest
77e6a6d78b
feat(server): Import face regions from metadata (#6455)
* feat: faces-from-metadata - Import face regions from metadata

Implements immich-app#1692.
- OpenAPI spec changes to accomodate metadata face import configs. New settings to enable the feature.
- Updates admin UI compoments
- ML faces detection/recognition & Exif/Metadata faces compatibility

Signed-off-by: BugFest <bugfest.dev@pm.me>

* chore(web): remove unused file confirm-enable-import-faces

* chore(web): format metadata-settings

* fix(server): faces-from-metadata tests and format

* fix(server): code refinements, nullable face asset sourceType

* fix(server): Add RegionInfo to ImmichTags interface

* fix(server): deleteAllFaces sourceType param can be undefined

* fix(server): exiftool-vendored 27.0.0 moves readArgs into ExifToolOptions

* fix(server): rename isImportFacesFromMetadataEnabled to isFaceImportEnabled

* fix(server): simplify sourceType conditional

* fix(server): small fixes

* fix(server): handling sourceType

* fix(server): sourceType enum

* fix(server): refactor metadata applyTaggedFaces

* fix(server): create/update signature changes

* fix(server): reduce computational cost of Person.getManyByName

* fix(server): use faceList instead of faceSet

* fix(server): Skip regions without Name defined

* fix(mobile): Update open-api (face assets feature changes)

* fix(server): Face-Person reconciliation with map/index

* fix(server): tags.RegionInfo.AppliedToDimensions must be defined to process face-region

* fix(server): fix shared-link.service.ts format

* fix(mobile): Update open-api after branch update

* simplify

* fix(server): minor fixes

* fix(server): person create/update methods type enforcement

* fix(server): style fixes

* fix(server): remove unused metadata code

* fix(server): metadata faces unit tests

* fix(server): top level config metadata category

* fix(server): rename upsertFaces to replaceFaces

* fix(server): remove sourceType when unnecessary

* fix(server): sourceType as ENUM

* fix(server): format fixes

* fix(server): fix tests after sourceType ENUM change

* fix(server): remove unnecessary JobItem cast

* fix(server): fix asset enum imports

* fix(open-api): add metadata config

* fix(mobile): update open-api after metadata open-api spec changes

* fix(web): update web/api metadata config

* fix(server): remove duplicated sourceType def

* fix(server): update generated sql queries

* fix(e2e): tests for metadata face import feature

* fix(web): Fix check:typescript

* fix(e2e): update subproject ref

* fix(server): revert format changes to pass format checks after ci

* fix(mobile): update open-api

* fix(server,movile,open-api,mobile): sourceType as DB data type

* fix(e2e): upload face asset after enabling metadata face import

* fix(web): simplify metadata admin settings and i18n keys

* Update person.repository.ts

Co-authored-by: Jason Rasmussen <jason@rasm.me>

* fix(server): asset_faces.sourceType column not nullable

* fix(server): simplified syntax

* fix(e2e): use SDK for everything except the endpoint being tested

* fix(e2e): fix test format

* chore: clean up

* chore: clean up

* chore: update e2e/test-assets

---------

Signed-off-by: BugFest <bugfest.dev@pm.me>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-04 18:23:58 -04:00
Jason Rasmussen
12b65e3c24
fix(server): auto-reconnect to database (#12320) 2024-09-04 13:32:43 -04:00
Carsten Otto
cbb0a7f8d4
fix(server): parse time zone with explicit zero offset (#12307)
* fix(server): fix test: use data as returned by exiftool-vendored

* fix(server): retain +00:00 timezone if set explicitly
2024-09-04 09:27:04 -05:00
Jason Rasmussen
c3a8ddaaf2
fix(server): missing asset files relation (#12295) 2024-09-03 21:23:34 -04:00
Jason Rasmussen
526cf23a9e
fix(server): public references in migrations (#12298) 2024-09-04 01:20:21 +00:00
renovate[bot]
e1ed7fa6ed
fix(deps): update typescript-projects (#12274)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 19:58:03 -04:00
Jason Rasmussen
7ca53ba507
feat(server): support lightroom tags (#12288) 2024-09-03 18:25:09 -04:00
Alex
a96f41aa11
fix: remove public. reference in migration sql (#12285) 2024-09-03 16:42:55 -05:00
Jason Rasmussen
ddd73b9911
feat(server): prefer tagslist (#12286) 2024-09-03 17:36:27 -04:00
Alex
6f37ab6a9e
fix(server): empty trash for archived assets (#12281)
* fix(server): empty trash for archived assets

* use withArchived

* add e2e test
2024-09-03 16:04:35 -05:00
github-actions
48da4c9317 chore: version v1.113.1 2024-09-03 14:12:24 +00:00
renovate[bot]
058b5ea5ca
chore(deps): update base-image to v20240903 (major) (#12261)
chore(deps): update base-image to v20240903

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 13:58:11 +01:00
renovate[bot]
03ceca8552
chore(deps): update typescript-projects (#12251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 08:59:17 +01:00
renovate[bot]
53609d45fe
chore(deps): update dependency @types/node to ^20.16.2 (#12250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 08:53:35 +01:00
PyKen
4af8433aad
fix(server): remove thumbnailAt in asset_job_status for missing thumbnails (#12254)
* Remove thumbnailAt in asset_job_status for missing thumbnails

* fix linter error
2024-09-03 00:19:15 -04:00
PyKen
438344fc8f
fix(server): get assetFiles when retrieving assets WithoutProperty.THUMBNAIL (#12225) 2024-09-02 09:31:02 -04:00
Jonathan Jogenfors
39141d3f1c
fix(server): remove offline assets from trash (#12199)
* use port not taken by immich-dev for e2e

* remove offline files from trash
2024-09-02 01:06:35 +02:00
Jason Rasmussen
d18bc7007a
fix: keyword parsing (#12164) 2024-08-30 21:33:42 +00:00
Jason Rasmussen
5e6ac87eaf
chore: object shorthand linting rule (#12152)
chore: object shorthand
2024-08-30 14:38:53 -04:00
github-actions
cc88cbb456 chore: version v1.113.0 2024-08-30 17:16:21 +00:00
Jason Rasmussen
9b1a985d29
fix(server): tag upsert (#12141) 2024-08-30 12:44:24 -04:00
Alex
b3b599e071
chore(server): deprecate resized property (#12143)
* chore: add dummy resized value for release

* openapi

* add deprecation life cycle info

* use correct default value
2024-08-30 11:01:50 -05:00
Jonathan Jogenfors
eb4a291c81
chore(server): log path when generating external thumbnail (#12107)
* feat: log path when generating external thumbnail

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-29 22:16:12 +00:00
Jason Rasmussen
c63f63cc15
fix: user specific fields in asset search (#12125) 2024-08-29 18:07:45 -04:00
Alex
ebecb60f39
feat: user's features preferences (#12099)
* feat: metadata in UserPreference

* feat: web metadata settings

* feat: web metadata settings

* fix: typo

* patch openapi

* fix: missing translation key

* new organization of preference strucutre

* feature settings on web

* localization

* added and used feature settings

* add default value to response dto

* patch openapi

* format en.json file

* implement helper method

* use tags preference logic

* Fix logic bug and add tests

* fix preference can be null in detail panel
2024-08-29 14:29:04 -05:00
Michel Heusschen
74f18a4523
fix(server): skip smtp validation if unchanged (#12111)
* fix(server): skip smtp validation if unchanged

* update comparison + convert config to plain object
2024-08-29 14:10:09 -04:00
Jason Rasmussen
d08a20bd57
feat: tags (#11980)
* feat: tags

* fix: folder tree icons

* navigate to tag from detail panel

* delete tag

* Tag position and add tag button

* Tag asset in detail panel

* refactor form

* feat: navigate to tag page from clicking on a tag

* feat: delete tags from the tag page

* refactor: moving tag section in detail panel and add + tag button

* feat: tag asset action in detail panel

* refactor add tag form

* fdisable add tag button when there is no selection

* feat: tag bulk endpoint

* feat: tag colors

* chore: clean up

* chore: unit tests

* feat: write tags to sidecar

* Remove tag and auto focus on tag creation form opened

* chore: regenerate migration

* chore: linting

* add color picker to tag edit form

* fix: force render tags timeline on navigating back from asset viewer

* feat: read tags from keywords

* chore: clean up

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-29 12:14:03 -04:00
Jonathan Jogenfors
bab5ad7ebd
fix(server): ensure new exclusion patterns work (#12102)
* add test for bug

* find excluded paths when checking offline

* fix filename

* fix unit tests

* bump picomatch

* fix e2e paths

* improve e2e

* add unit tests

* cleanup e2e

* set correct asset count

* fix e2e test

* fix lint
2024-08-28 19:51:25 -04:00
Geoffrey Frogeye
562fec6e2b
feat(server): sort images in duplicate groups by date (#12094)
* feat(server): sort images in duplicate groups by date

* Update server/src/dtos/duplicate.dto.ts

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

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2024-08-28 19:59:09 +00:00
Jonathan Jogenfors
363c558db7
fix(server): don't crash when refreshing large libraries (#7934)
* add job to check for offline files

* fix lint

* only check for offline when using checkForOffline

* improve tests

* remove old test

* wip

* remove trie

* refactor batches

* also check offline status

* fix spelling

* don't do offline scan

* rename scan to check

* fix job statuses

* fix lint

* cleanup

* add test

* open-api

* fix test

* fix spinner

* reset text

* don't double batch

* fix comments from mert

* remove tries

* fix tests

* fix e2e

* fix test

* fix test

* add tests

* fix lint

* fix e2e

* interweave scans

* fix errors

* fix messages

* fix test

* add mock

* fix sql

* fix e2e

* use library batch size

* save -> update

* add file extensions

* update specs

* test for import paths

* check import paths when testing offline

* fix lint

* normalize import path

* remove console logs

* decrease batch size to 1000

* add test for import path

* add test for already-online assets

* fix merge

* fix lint

* add library job back

* add offline job to correct queue

* library spec compiles now

* move one test to new e2e

* fix comments

* fix comments

* fix lint

* refactor path validation

* fix loop bug

* remove logging

* expect responses

* fix asset mock

* take the straightforward approach

* use generator correctly

* fix vitest on file edit

* bump vitest to 1.6.0

* test for offline check

* add e2e tests for offlining assets depending on import path

* cleanup e2e test after finish

* cleanup library service

* paginate the walk generator

* fix tests

* fix typo

* refactoring handleOfflineCheck

* better testing of handleOfflineCheck

* fix lint

* handle large library deletions

* dont check if library is deleted

* fix mock

* add a 100k page size to library

* fix loading animation

* better log messages

* Better logging for offline asset removal

* fix sql and tests

* fix number format

* Remove submodule

* fix format

* chore: cleanup

* chore: fix tests

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-28 13:05:48 -04:00
Kenneth Bingham
2297d86569
fix(mobile): use a valid OAuth callback URL (#10832)
* add root resource path '/' to mobile oauth scheme

* chore: add oauth-callback path

* add root resource path '/' to mobile oauth scheme

* chore: add oauth-callback path

* fix: make sure there are three forward slash in callback URL

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-08-28 11:30:06 -05:00