Commit Graph

564 Commits (166452640d6d421d4ff1281134e5cf0a39971895)

Author SHA1 Message Date
renovate[bot] f92aee204e
chore(deps): update dependency @types/picomatch to v3 (#11096)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:29:25 +07:00
Jonathan Jogenfors 0a6e5e0ec1
fix(server): make vitest pick up edited files (#11385)
fix vitest on file edit
2024-07-26 16:26:38 +07:00
Jonathan Jogenfors 65a4f86154
chore: bump vitest to 1.6.0 (#11386)
bump vitest to 1.6.0
2024-07-26 16:26:17 +07:00
Nicolò ee6f1a010c
chore(server): clean mail-templates and add tailwind style (#11296)
With this commit I wanted to complete the react-mail
 structure by properly define the templates styles by
 including tailwind css framework.

The framework is extended by both react-mail and
 tailwindcss-preset-email. Those packages help the rendering
 for various email clients.

If in future there is the necessity to target specific mail
 clients the package `tailwindcss-email-variants` and
 `tailwindcss-mso` can help too. The latter has some
 workarounds for the Ms Outlook that is still lacking
 a lot of the CSS3 funcitonality.
 to target

Signed-off-by: hitech95 <nicveronese@gmail.com>
2024-07-26 15:41:11 +07:00
Alex The Bot 04340b3a62 Version v1.110.0 2024-07-26 15:38:20 +07:00
Jason Rasmussen 9f6ef92f0b
fix(deps): exiftool-vendored (#11338) 2024-07-24 17:38:22 +07:00
renovate[bot] 9e60c107ca
chore(deps): update node (#11322)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-24 16:13:24 +07:00
renovate[bot] b259095899
chore(deps): update node (#11300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-23 08:22:15 +07:00
Alex The Bot b9fc59ca9f Version v1.109.2 2024-07-18 19:33:29 +07:00
Alex The Bot 01ba859567 Version v1.109.1 2024-07-18 17:55:58 +07:00
Alex The Bot c77702279c Version v1.109.0 2024-07-18 16:03:42 +07:00
Zack Pollard fb8d9d8c40
fix: downgrade exiftool-vendored to fix motion photo extraction (#11145)
* Revert "chore(server): update exiftool and migrate off deprecated method signatures (#10367)"

This reverts commit 1b67ea2d

* fix: downgrade exiftool-vendored to 26.0.0

* chore: change motionphoto filenames to be kebab-case

* test: add pixel 6 pro motionphoto e2e test case

* test: add pixel 8a motion photo

* chore: update test-assets submodule pointer
2024-07-16 19:55:51 +07:00
renovate[bot] fbe29bf4cd
chore(deps): update dependency rimraf to v6 (#11079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-13 21:45:45 +07:00
Alex The Bot c7432834d0 Version v1.108.0 2024-07-10 16:14:02 +07:00
renovate[bot] 27b13b82f5
chore(deps): update node (#10996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-10 10:44:25 +07:00
renovate[bot] 79c8412660
chore(deps): update typescript-projects (#10975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-10 11:40:03 +07:00
renovate[bot] c1036d6f88
chore(deps): update dependency node to v20.15.1 (#10969)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-09 06:56:25 +07:00
renovate[bot] af94f0f979
chore(deps): update typescript-projects (#10962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-08 22:03:15 +07:00
renovate[bot] 04d0f575b7
chore(deps): update dependency prettier-plugin-organize-imports to v4 (#10930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-07 22:17:06 +07:00
Tom Vincent 4a481acca6
fix(server): Postgres -> Redis websocket (#10801) 2024-07-03 16:27:29 +07:00
Alex The Bot 96f29cefeb Version v1.107.2 2024-07-03 03:18:19 +07:00
Alex The Bot aa29f5d69c Version v1.107.1 2024-07-02 19:04:29 +07:00
Alex The Bot b47ec2f88f Version v1.107.0 2024-07-02 14:13:10 +07:00
renovate[bot] 2934676594
chore(deps): update node (#10741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-02 11:09:15 +07:00
renovate[bot] 15c1cd6449
chore(deps): update dependency @types/node to ^20.14.7 (#10635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-25 21:48:48 +07:00
renovate[bot] 905d6c1508
chore(deps): update dependency @types/node to ^20.14.6 (#10627)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-25 11:00:49 +07:00
renovate[bot] d7a33c8ec2
fix(deps): update typescript-projects (#10611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 23:00:09 +07:00
renovate[bot] 7ea0278b32
chore(deps): update dependency eslint-plugin-unicorn to v54 (#10486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-19 12:56:35 +07:00
Stephen Smith 1b67ea2d91
chore(server): update exiftool and migrate off deprecated method signatures (#10367)
* chore(server): update exiftool and migrate off deprecated method signatures

* chore(server): update exiftool-vendored to 27.0.0

* chore(server): switch away from deprecated exiftool method signatures
- options now includes read/writeArgs making the deprecated signatures with
  args array redundant
- switch read call from file,args,options to file,options
- switch write call from file,tags,args to file,tags,options

* chore(server): move largefilesupport flags into exiftool constructor
- options now includes read/writeArgs making it available to be set globally in
  constructor
- switches back to instantiating an instance of exiftool

* chore(server): consolidate exiftool config into constructor along with writeArgs

* chore(server): move exiftool instantiation into MetadataRepository constructor
2024-06-17 10:11:11 +07:00
renovate[bot] b4b654b53f
fix(deps): update dependency exiftool-vendored to v26.2.0 (#10102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-14 13:27:12 +07:00
renovate[bot] ee186a40c2
fix(deps): update typescript-projects (#10105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-13 20:46:26 +07:00
Alex The Bot 8c2195c820 Version v1.106.4 2024-06-13 15:12:51 +07:00
Alex The Bot a8a7d29891 Version v1.106.3 2024-06-12 18:26:10 +07:00
Alex The Bot 81790ab166 Version v1.106.2 2024-06-11 19:09:13 +07:00
Alex The Bot b5991c908e Version v1.106.1 2024-06-11 09:39:23 +07:00
Alex The Bot f32c02bd25 Version v1.106.0 2024-06-10 17:50:00 +07:00
Zack Pollard 19e35d8d3f
chore(server): remove unused imagemin type dependency (#10084) 2024-06-10 17:08:25 +07:00
renovate[bot] 69bce6680f
fix(deps): update typescript-projects (#9971)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 10:35:24 +07:00
renovate[bot] bcff21f72b
fix(deps): update dependency exiftool-vendored to v26.1.0 (#9972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 21:38:03 +07:00
renovate[bot] ce524256da
fix(deps): update typescript-projects (#9813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-28 10:09:45 +07:00
Jason Rasmussen e7aa50425c
test: sync open api spec (#9687)
test: sync spec file
2024-05-23 07:40:57 +07:00
CodaBool 6a4c2e97c0
feat: add docker healthchecks to server and ml (#9583)
* add healthcheck

* format, import, IMMICH_PORT, and eslint change

* chore: clean up nodejs healthcheck

* fix ruff formating

* add healthcheck

* format, import, IMMICH_PORT, and eslint change

* chore: clean up nodejs healthcheck

* fix ruff formating

* add healthcheck to dockerfile

* poetry run ruff check --fix

* removed 2 of 3 console calls

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-05-22 16:54:29 +07:00
Alex 4f838eabbe
fix(server): semver in development (#9620) 2024-05-20 23:03:28 +07:00
Jason Rasmussen 1df7be8436
refactor(server): version logic (#9615)
* refactor(server): version

* test: better version and log checks
2024-05-20 20:31:36 +07:00
renovate[bot] 7f0f016f2e
chore(deps): update dependency eslint-plugin-unicorn to v53 (#9502)
* chore(deps): update dependency eslint-plugin-unicorn to v53

* use structured clone to match new eslint rules

* use raw string instead of escaping slash

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-05-15 18:06:25 +07:00
Alex The Bot 88d4338348 Version v1.105.1 2024-05-14 21:31:24 +07:00
Alex The Bot 596ab39293 Version v1.105.0 2024-05-14 17:07:25 +07:00
renovate[bot] bf036f2f58
fix(deps): update typescript-projects (#9454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 21:42:48 +07:00
Alex The Bot a6f557c24c Version v1.104.0 2024-05-13 18:31:57 +07:00
renovate[bot] d121903b38
fix(deps): update dependency nestjs-otel to v6 (#9415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 08:23:12 +07:00
Jason Rasmussen 8e9895df27
chore(server): remove unused deps (#9334) 2024-05-08 16:39:35 +07:00
renovate[bot] f13100e261
fix(deps): update dependency exiftool-vendored to v26 (#9294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-07 15:14:49 +07:00
renovate[bot] ad404d79d4
fix(deps): update typescript-projects (#9293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-07 11:07:50 +07:00
Nicolò 9bce3417e9
feat(server): email notifications (#8447)
* feat(server): add `react-mail` as mail template engine and `nodemailer`

* feat(server): add `smtp` related configs to `SystemConfig`

* feat(web): add page for SMTP settings

* feat(server): add `react-email.adapter`

This adapter render the React-Email into HTML and plain/text email.
The output is set as the body of the email.

* feat(server): add `MailRepository` and `MailService`

Allow to use the NestJS-modules-mailer module to send SMTP emails.
This is the base transport for the `NotificationRepository`

* feat(server): register the job dispatcher and Job for async email

This allows to queue email sending jobs for the `EmailService`.

* feat(server): add `NotificationRepository` and `NotificationService`

This act as a middleware to properly route the notification to the right transport.
As POC I've only implemented a simple SMTP transport.

* feat(server): add `welcome` email template

* feat(server): add the first notification on `createUser` in `UserService`

This trigger an event for the `NotificationRepository` that once processes
by using the global config and per-user config will carry the payload to the right notification transport.

* chore: clean up

* chore: clean up web

* fix: type errors"

* fix package lock

* fix mail sending, option to ignore certs

* chore: open api

* chore: clean up

* remove unused import

* feat: email feature flag

* chore: remove unused interface

* small styling

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-05-02 15:43:18 +07:00
renovate[bot] ef09fc4157 fix(deps): update typescript-projects (#9187)
* fix(deps): update typescript-projects

* chore: missing dependency

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-05-02 01:33:17 +07:00
renovate[bot] 9e79a23bbe
fix(deps): update typescript-projects (#9169)
* fix(deps): update typescript-projects

* fix: type error

* fix: more imports

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-04-30 09:49:14 +07:00
Alex The Bot ba18776fc2 Version v1.103.1 2024-04-29 17:53:49 +07:00
Alex The Bot 4291b38769 Version v1.103.0 2024-04-29 14:42:49 +07:00
Jason Rasmussen 59caf1fce4
chore: lifecycle metadata (#9103)
feat(server): track endpoint lifecycle
2024-04-29 13:48:28 +07:00
Alex The Bot a2180a467d Version v1.102.3 2024-04-20 20:17:39 +07:00
Alex The Bot 25549b87c9 Version v1.102.2 2024-04-20 15:55:32 +07:00
Alex The Bot 6eb1b82541 Version v1.102.1 2024-04-20 13:43:46 +07:00
Alex The Bot 886e07604e Version v1.102.0 2024-04-19 20:08:02 +07:00
renovate[bot] 18fa6018c0
fix(deps): update typescript-projects (#8834)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 17:45:14 +07:00
Jason Rasmussen 50c9bc0336
chore: migrate to vitest (#7156)
* chore: jest => vitest

* chore: replace jest-when
2024-04-16 10:44:45 +07:00
Jason Rasmussen dba365634a
chore(server): cleanup library watching (#8835)
chore: clean up library watching
2024-04-15 23:05:08 +07:00
Jason Rasmussen 2db76034b1
feat(server): correlation id via injected logger (#8823)
* feat(server): correlation id via injected logger

* feat: cid response header
2024-04-15 23:39:06 +07:00
renovate[bot] 3deaaf14c0
fix(deps): update dependency reflect-metadata to ^0.2.0 (#8784)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 16:02:49 +07:00
renovate[bot] 321868963d
fix(deps): update typescript-projects (#8651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 21:08:37 +07:00
Alex 327b9bd59c
Revert "fix(deps): update typescript-projects (#8647)" (#8650)
This reverts commit 301c217303.
2024-04-09 06:53:48 +07:00
renovate[bot] 301c217303
fix(deps): update typescript-projects (#8647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 23:44:48 +07:00
renovate[bot] fff12e3d78
chore(deps): update dependency eslint-plugin-unicorn to v52 (#8629)
* chore(deps): update dependency eslint-plugin-unicorn to v52

* chore: linting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-04-08 12:45:46 +07:00
Jelle Dekker 29e47dd7c1
fix: `npm i` on Windows … (#8619) 2024-04-08 10:53:27 +07:00
Alex The Bot 3b0fff3b3d Version v1.101.0 2024-04-05 02:39:51 +07:00
renovate[bot] 0849dbd1af
fix(deps): update typescript-projects (#8451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 02:20:52 +07:00
Alex The Bot 16513b4a6e Version v1.100.0 2024-03-28 18:36:38 +07:00
Jason Rasmussen a771c563ba
chore(server): remove pre-installed cli (#8224) 2024-03-23 16:07:39 +07:00
Jason Rasmussen dc3c329431
chore: remove unused type (#8157) 2024-03-21 14:36:10 +07:00
Jason Rasmussen 382b63954c
refactor: asset v1, app.utils (#8152) 2024-03-21 09:07:47 +07:00
Jason Rasmussen 16d0df796c
refactor: infra folder (#8138) 2024-03-20 23:15:09 +07:00
Jason Rasmussen c1402eee8e
chore: migrate database files (#8126) 2024-03-20 21:02:51 +07:00
renovate[bot] 3f0d54c752
fix(deps): update server (#8067)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 15:34:12 +07:00
Daniel Dietzler 30f499cf2e
chore(server): use absolute import paths (#8080)
update server to use absolute import paths
2024-03-20 14:32:04 +07:00
Alex The Bot 5b314ffd46 Version v1.99.0 2024-03-20 14:50:57 +07:00
Jason Rasmussen 40262c30cb
refactor(server): library service (#8050)
* refactor: library service

* chore: open api

* fix: checks
2024-03-18 16:59:53 +07:00
Daniel Dietzler 148428a564
feat(server): use nestjs events to validate config (#7986)
* use events for config validation

* chore: better types

* add unit tests

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-03-17 20:16:02 +07:00
renovate[bot] 8c24a994e1
fix(deps): update exiftool (#7879)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 15:40:32 +07:00
Jason Rasmussen 0b8edb7671
chore: remove unused dep (#7957) 2024-03-14 16:18:55 +07:00
Mert d67cc00e4e
feat(server): lower library scan memory usage (#7939)
* use trie

* update tests

* formatting

* pr feedback

* linting
2024-03-14 01:52:30 +07:00
renovate[bot] d67a6b7293
fix(deps): update server (#7898)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 12:54:46 +07:00
bo0tzz 72f9295490
feat(server): YAML config file support (#7894)
* test(server): Load config from yaml

* docs: YAML config support

* feat(server): YAML config file support

* fix format

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-03-12 16:29:49 +07:00
Mert a097e903c9
feat(server): OpenTelemetry integration (#7356)
* wip

* span class decorator

fix typing

* improvements

* noisy postgres logs

formatting

* add source

* strict string comparison

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

* remove debug code

* execution time histogram

* remove prometheus stuff

remove prometheus data

* disable by default

disable nestjs-otel stuff by default

update imports

* re-add postgres instrumentation

formatting

formatting

* refactor: execution time histogram

* decorator alias

* formatting

* keep original method order in filesystem repo

* linting

* enable otel sdk in e2e

* actually enable otel sdk in e2e

* share exclude paths

* formatting

* fix rebase

* more buckets

* add example setup

* add envs

fix

actual fix

* linting

* update comments

* update docker env

* use more specific env

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-03-12 05:19:12 +07:00
Alex The Bot 4027cba4eb Version v1.98.2 2024-03-11 14:17:12 +07:00
Mert 5bd597f14b
fix(server): external library sync not working for large libraries (#7759) 2024-03-10 22:30:57 +07:00
Jason Rasmussen 30b0b2474e
refactor: asset e2e (#7769) 2024-03-09 12:51:58 +07:00
Ben McCann ba55e867e0
perf: precompress and cache assets (#7757)
* perf: precompress and cache assets

* fix cache header

* use startswith

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-03-08 21:15:38 +07:00
Alex The Bot 430561d692 Version v1.98.1 2024-03-08 23:44:13 +07:00
Alex The Bot 7dc5e0cc4f Version v1.98.0 2024-03-07 19:22:14 +07:00
Alex Tran ba5d5256b1 Revert "Version v1.98.0"
This reverts commit 9b1a379fa6.
2024-03-07 12:04:54 +07:00
Alex The Bot 9b1a379fa6 Version v1.98.0 2024-03-07 17:40:40 +07:00
renovate[bot] 8df63b7c94
fix(deps): update dependency archiver to v7 (#7622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-05 12:26:54 +07:00
Alex The Bot 6f53e83d49 Version v1.97.0 2024-02-28 22:34:00 +07:00
Alex The Bot 6d91c23f65 Version v1.96.0 2024-02-27 20:14:58 +07:00
renovate[bot] a1bc74cdd6
fix(deps): update exiftool (#7230)
* fix(deps): update exiftool

* documenting such changes would have been too easy

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-02-21 08:26:13 +07:00
Alex The Bot 7c34d0595e Version v1.95.1 2024-02-21 04:02:43 +07:00
Alex The Bot 302d98ebe1 Version v1.95.0 2024-02-20 16:52:23 +07:00
renovate[bot] 7158706296
fix(deps): update server (#7224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 22:34:39 +07:00
renovate[bot] 072f61927c
chore(deps): update typescript-eslint monorepo to v7 (major) (#7171) 2024-02-18 11:26:01 +07:00
Alex 4b3f8d1946
feat: Search filtering logic (#6968)
* commit

* controller/service/repository logic

* use enum

* openapi

* suggest people

* suggest place/camera

* cursor hover

* refactor

* Add try catch

* Remove get people with name service

* Remove deadcode

* people selection

* People placement

* sort people

* Update server/src/domain/repositories/metadata.repository.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* pr feedback

* styling

* done

* open api

* fix test

* use string type

* remmove bad merge

* use correct type

* fix test

* fix lint

* remove unused code

* remove unused code

* pr feedback

* pr feedback

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-02-13 19:54:58 +07:00
renovate[bot] 43e099fb56
fix(deps): update dependency picomatch to v4 (#7073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-12 23:37:10 +07:00
Alex dca1bd22df
Change license to AGPLv3 (#7046)
* Change license to AGPLv3

* Readme and documentation

* Package.json

* More replacement

* Added License MIT for previous code

* NIT

* Update LICENSE

Co-authored-by: bo0tzz <git@bo0tzz.me>

* Update cli/LICENSE

Co-authored-by: bo0tzz <git@bo0tzz.me>

* remote mit

---------

Co-authored-by: bo0tzz <git@bo0tzz.me>
2024-02-12 15:31:59 +07:00
martin 4e31d82bac
feat(server): replace axios dependency by fetch (#7018)
* feat: replace axios dependency by fetch

* pr feedback
2024-02-11 11:15:06 +07:00
renovate[bot] f80af067bf
chore(deps): update dependency eslint-plugin-unicorn to v51 (#6952)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 23:53:55 +07:00
renovate[bot] d88ca5fb2a
chore(deps): update server (#6930)
* chore(deps): update server

* chore: generate sql

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-02-06 22:06:02 +07:00
Jonathan Jogenfors f44fa45aa0
chore(server,cli,web): housekeeping and stricter code style (#6751)
* add unicorn to eslint

* fix lint errors for cli

* fix merge

* fix album name extraction

* Update cli/src/commands/upload.command.ts

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>

* es2k23

* use lowercase os

* return undefined album name

* fix bug in asset response dto

* auto fix issues

* fix server code style

* es2022 and formatting

* fix compilation error

* fix test

* fix config load

* fix last lint errors

* set string type

* bump ts

* start work on web

* web formatting

* Fix UUIDParamDto as UUIDParamDto

* fix library service lint

* fix web errors

* fix errors

* formatting

* wip

* lints fixed

* web can now start

* alphabetical package json

* rename error

* chore: clean up

---------

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-02-01 22:18:00 +07:00
Alex The Bot 07466fa7b7 Version v1.94.1 2024-01-31 19:21:00 +07:00
Alex The Bot d4c000cb5a Version v1.94.0 2024-01-31 17:01:33 +07:00
Jason Rasmussen b0d7434e7b
fix: library watching (#6802) 2024-01-31 11:26:51 +07:00
Jonathan Jogenfors 068e703e88
feat(server): Automatic watching of library folders (#6192)
* feat: initial watch support

* allow offline files

* chore: ignore query errors when resetting e2e db

* revert db query

* add savepoint

* guard the user query

* chore: openapi and db migration

* wip

* support multiple libraries

* fix tests

* wip

* can now cleanup chokidar watchers

* fix unit tests

* add library watch queue

* add missing init from merge

* wip

* can now filter file extensions

* remove watch api from non job client

* Fix e2e test

* watch library with updated import path and exclusion pattern

* add library watch frontend ui

* case sensitive watching extensions

* can auto watch libraries

* move watcher e2e tests to separate file

* don't watch libraries from a queue

* use event emitters

* shorten e2e test timeout

* refactor chokidar code to filesystem provider

* expose chokidar parameters to config file

* fix storage mock

* set default config for library watching

* add fs provider mocks

* cleanup

* add more unit tests for watcher

* chore: fix format + sql

* add more tests

* move unwatch feature back to library service

* add file event unit tests

* chore: formatting

* add documentation

* fix e2e tests

* chore: fix e2e tests

* fix library updating

* test cleanup

* fix typo

* cleanup

* fixing as per pr comments

* reduce library watch config file

* update storage config and mocks

* move negative event tests to unit tests

* fix library watcher e2e

* make watch configuration global

* remove the feature flag

* refactor watcher teardown

* fix microservices init

* centralize asset scan job queue

* improve docs

* add more tests

* chore: open api

* initialize app service

* fix docs

* fix library watch feature flag

* Update docs/docs/features/libraries.md

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

* fix: import right app service

* don't be truthy

* fix test speling

* stricter library update tests

* move fs watcher mock to external file

* subscribe to config changes

* docker does not need polling

* make library watch() private

* feat: add configuration ui

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-31 08:15:54 +07:00
Jason Rasmussen 6dca47c629
refactor: no experimental vm modules (#6719) 2024-01-29 09:11:02 +07:00
Zack Pollard 25cad79657
refactor: move asset stacks to their own entity (#6353)
* feat: auto-stack burst photos

* feat: move stacks to asset stack entity

* chore: pin node version with volta in server

* chore: update e2e cases

* chore: cleanup

* feat: migrate existing stacks

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-01-27 18:52:14 +07:00
renovate[bot] 4424f3cb13
fix(deps): update exiftool (#6586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-24 11:01:46 +07:00
Jason Rasmussen bf64e64328
chore(server): remove unused dependency (#6606) 2024-01-23 17:50:39 +07:00
renovate[bot] 773d093ace
fix(deps): update server (#6587)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-23 02:00:29 +07:00
Alex The Bot 4ebb9974ff Version v1.93.3 2024-01-20 16:03:18 +07:00
Alex The Bot 3dddc6b449 Version v1.93.2 2024-01-19 18:29:04 +07:00
Alex The Bot d5af357992 Version v1.93.1 2024-01-19 15:01:17 +07:00
Alex The Bot fa0b7c8563 Version v1.93.0 2024-01-19 02:14:46 +07:00
renovate[bot] 2a8cb70c98
fix(deps): update dependency geo-tz to v8 (#6388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 08:27:59 +07:00
Jason Rasmussen 2439c5ab57
refactor: open api (#6334) 2024-01-12 07:36:27 +07:00
waclaw66 902977f165
fix(server): exif gps decoding (#6138) 2024-01-10 07:36:54 +07:00
Jason Rasmussen bf1dd36fa9
refactor(server): split api and jobs into separate e2e suites (#6307)
* refactor: domain and infra modules

* refactor(server): e2e tests
2024-01-09 23:04:16 +07:00
Alex The Bot df59b2099f Version v1.92.1 2024-01-08 15:24:38 +07:00
Alex The Bot 319ddfda53 Version v1.92.0 2024-01-08 05:19:11 +07:00
renovate[bot] 23b38a0474
fix(deps): update dependency @nestjs/schedule to v4 (#5348)
* fix(deps): update dependency @nestjs/schedule to v4

* fix: change CronJob in addCronJob to match new type required by nestjs schedule module

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2024-01-01 22:25:25 +07:00
renovate[bot] a53b2de3c4
chore(deps): update dependency @types/supertest to v6 (#6099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-01 19:27:00 +07:00
Zack Pollard 2e38fa73bf
feat: storage template file move hardening (#5917)
* fix: pgvecto.rs extension breaks typeorm schema:drop command

* fix: parse postgres bigints to javascript number types when selecting data

* feat: verify file size is the same as original asset after copying file for storage template job

* feat: allow disabling of storage template job, defaults to disabled for new instances

* fix: don't allow setting concurrency for storage template migration, can cause race conditions above 1

* feat: add checksum verification when file is copied for storage template job

* fix: extract metadata for assets that aren't visible on timeline
2023-12-29 18:41:33 +07:00
Alex The Bot b40859551b Version v1.91.4 2023-12-19 03:34:19 +07:00
Alex The Bot 08f66c2ae5 Version v1.91.3 2023-12-17 16:57:16 +07:00
Alex The Bot a15c799ba3 Version v1.91.2 2023-12-16 23:19:58 +07:00
Alex The Bot 0aae9696f6 Version v1.91.1 2023-12-16 17:26:51 +07:00
Alex The Bot e9a8daa924 Version v1.91.0 2023-12-15 15:22:37 +07:00
renovate[bot] 16f385626e
chore(deps): update dependency sql-formatter to v15 (#5709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-15 00:28:05 +07:00
Jason Rasmussen 9768931275
feat(web,server)!: runtime log level (#5672)
* feat: change log level at runtime

* chore: open api

* chore: prefer env over runtime

* chore: remove default env value
2023-12-14 16:55:40 +07:00
Jason Rasmussen 92b4284b5a
feat(server): use postgres-adapter for websockets (#5569)
* feat(server): use postgres-adapter for websockets

* refactor: create attachment table via migration
2023-12-08 20:38:25 +07:00
Jason Rasmussen 2f4ee622ab
chore(deps): remove unused cron types (#5563) 2023-12-08 12:08:27 +07:00
Jason Rasmussen 02d55644e5
fix(deps): bump sharp (#5509)
* fix(deps): bump sharp

* fixed sharp dependencies

* chore: use date tag

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2023-12-08 11:52:43 +07:00
Jason Rasmussen 1e99ba8167
feat: use pgvecto.rs (#3605) 2023-12-08 11:15:46 +07:00
Alex The Bot 429ad28810 Version v1.90.2 2023-12-08 14:23:04 +07:00
Alex The Bot d2fbbe790b Version v1.90.1 2023-12-08 04:20:27 +07:00
Alex The Bot c174f0e871 Version v1.90.0 2023-12-07 18:32:45 +07:00
Jason Rasmussen 6e365b37db
fix(server): immich command (#5408)
* fix: immich command

* chore: use absolute paths
2023-11-30 14:59:47 +07:00
Jason Rasmussen 5e55a17b2a
chore(server): sql versioning (#5346)
* chore(server): sql versioning

* chore: always add newline to end of file

* refactor: generator

* chore: pr feedback

* chore: pr feedback
2023-11-30 10:10:30 +07:00
Alex The Bot 8b6a79ad9e Version v1.89.0 2023-11-29 19:20:24 +07:00
renovate[bot] 1ffe862810
chore(deps): update server (#5311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-25 23:48:48 +07:00
Zack Pollard 698226634e
feat: postgres reverse geocoding (#5301)
* feat: add system metadata repository for storing key values for internal usage

* feat: add database entities for geodata

* feat: move reverse geocoding from local-reverse-geocoder to postgresql

* infra: disable synchronization for geodata_places table until typeorm supports earth column

* feat: remove cities override config as we will default all instances to cities500 now

* test: e2e tests don't clear geodata tables on reset
2023-11-25 18:53:30 +07:00
renovate[bot] c607615e41
fix(deps): update exiftool (#4988)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 13:45:22 +07:00
renovate[bot] afd78652f2
fix(deps): update server (#5187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 12:59:41 +07:00
Alex The Bot 55fa3234fd Version v1.88.2 2023-11-21 16:09:18 +07:00
Alex Tran a13052e24c Revert "Version v1.88.2"
This reverts commit bc2c73e499.
2023-11-21 09:07:50 +07:00
Alex The Bot bc2c73e499 Version v1.88.2 2023-11-21 15:01:06 +07:00
Alex The Bot 9cf40afaf0 Version v1.88.1 2023-11-21 03:00:19 +07:00
Alex The Bot 0f596e278c Version v1.88.0 2023-11-20 20:47:37 +07:00
Alex cb32b5cd7b
chore(server): update new CLI into the image (#5192) 2023-11-20 11:23:28 +07:00
renovate[bot] 5b25d5140c
chore(deps): update dependency @types/archiver to v6 (#5146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-19 09:29:51 +07:00
Alex The Bot ec51a9f6d6 Version v1.87.0 2023-11-18 02:58:26 +07:00
Jonathan Jogenfors 7a8f8e5472
chore: don't set max old space (#5050) 2023-11-14 16:32:58 +07:00
Alex The Bot a7cacafe25 Version v1.86.0 2023-11-14 04:08:18 +07:00
renovate[bot] 880f4f61d2
chore(deps): update dependency @types/jest to v29.5.8 (#4995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 03:54:25 +07:00
Alex The Bot 37ab37bffc Version v1.85.0 2023-11-08 03:20:59 +07:00
Alex The Bot cf4ec06750 Version v1.84.0 2023-11-01 14:46:59 +07:00
Alex The Bot d98a2a5f79 Version v1.83.0 2023-10-28 13:32:48 +07:00
Jason Rasmussen 4b59f83288
refactor: e2e tests (#4536) 2023-10-18 17:02:42 +07:00
Alex The Bot 31987bc043 Version v1.82.1 2023-10-18 17:14:26 +07:00
Alex The Bot 219f99e516 Version v1.82.0 2023-10-17 01:24:08 +07:00
Jason Rasmussen 8d5bf93360
test(server): full backend end-to-end testing with microservices (#4225)
* feat: asset e2e with job option

* feat: checkout test assets

* feat: library e2e tests

* fix: use node 21 in e2e

* fix: tests

* fix: use normalized external path

* feat: more external path tests

* chore: use parametrized tests

* chore: remove unused test code

* chore: refactor test asset path

* feat: centralize test app creation

* fix: correct error message for missing assets

* feat: test file formats

* fix: don't compare checksum

* feat: build libvips

* fix: install meson

* fix: use immich test asset repo

* feat: test nikon raw files

* fix: set Z timezone

* feat: test offline library files

* feat: richer metadata tests

* feat: e2e tests in docker

* feat: e2e test with arm64 docker

* fix: manual docker compose run

* fix: remove metadata processor import

* fix: run e2e tests in test.yml

* fix: checkout e2e assets

* fix: typo

* fix: checkout files in app directory

* fix: increase e2e memory

* fix: rm submodules

* fix: revert action name

* test: mark file offline when external path changes

* feat: rename env var to TEST_ENV

* docs: new test procedures

* feat: can run docker e2e tests manually if needed

* chore: use new node 20.8 for e2e

* chore: bump exiftool-vendored

* feat: simplify test launching

* fix: rename env vars to use immich_ prefix

* feat: asset folder is submodule

* chore: cleanup after 20.8 upgrade

* fix: don't log postgres in e2e

* fix: better warning about not running all tests

---------

Co-authored-by: Jonathan Jogenfors <jonathan@jogenfors.se>
2023-10-06 23:32:28 +07:00
Jason Rasmussen fc93762230
fix: migration efficiency (#4359)
* fix: migration efficiency

* fix: workflow
2023-10-05 12:35:58 +07:00
Alex The Bot 126dd45751 Version v1.81.1 2023-10-04 17:53:42 +07:00
Alex The Bot 81d51fbd7e Version v1.81.0 2023-10-03 20:48:23 +07:00
Alex The Bot 66e860a08e Version v1.80.0 2023-10-02 14:47:21 +07:00
Jonathan Jogenfors 3172c341e0
chore(server): bump exiftool-vendored to 23.1.0 (#4302)
* chore: bump exiftool-vendored

* fix: correct version

* chore: bump exiftool-vendored.pl

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-10-02 08:54:43 +07:00
Daniel Dietzler 10d10d9021
chore(server): unit tests for metadata service (#4280)
* unit tests for metadata service

* better test descriptions
2023-09-29 17:25:45 +07:00
Jason Rasmussen c3d6d69262
fix(server): live photo linking (#4253) 2023-09-27 20:32:58 +07:00
Daniel Dietzler 3a44e8f8d3
refactor(server): Move metadata extraction to domain (#4243)
* use storageRepository in metadata extraction

* move metadata extraction processor to domain

* cleanup infra/domain

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-09-27 18:44:51 +07:00
Alex 3bef456923
fix(server): metadata extraction error (#4210) 2023-09-25 14:45:26 +07:00
Alex The Bot e050121dbf Version v1.79.1 2023-09-22 01:37:20 +07:00
Alex The Bot 86f5ceb80e Version v1.79.0 2023-09-21 14:17:00 +07:00
Jonathan Jogenfors acdc66413c
feat(server,web): libraries (#3124)
* feat: libraries

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-09-20 13:16:33 +07:00
Mert 9030b1f89f
chore(deps): upgrade sharp and libvips (#4140)
* upgrade libvips

* upgrade sharp
2023-09-19 15:11:25 +07:00
Thomas 49ef86173f
fix(server): use exiftool decoded values and unify metadata extraction (#2908)
* refactor(server): metadata extraction

* chore: upgrade exiftool

* chore: remove log

* fix: other rotation cases

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-09-18 09:06:03 +07:00
Alex The Bot a3206bf950 Version v1.78.1 2023-09-14 13:56:33 +07:00
Alex The Bot b42ca61e1f Version v1.78.0 2023-09-13 08:24:02 +07:00
Jonathan Jogenfors 3edade6761
feat(server): tsconfig: don't clear console on nest startup (#4032)
* feat: don't clear nest output

* feat: moved config to tsconfig

* fix: cleanup package json
2023-09-08 11:17:45 +07:00
Jonathan Jogenfors a404fb6cb5
feat: don't clear nest output (#4023) 2023-09-08 14:45:00 +07:00
Alex The Bot 608543da0b Version v1.77.0 2023-09-06 03:30:44 +07:00
Alex The Bot 58ae734fc2 Version v1.76.1 2023-08-30 08:26:04 +07:00
Alex The Bot 49c2d4d115 Version v1.76.0 2023-08-29 19:24:43 +07:00
Alex d0a06739d8
chore(server): bump server dependencies (#3899)
* chore(server): bump server dependencies

* fix: test
2023-08-28 14:41:57 +07:00
Daniel Dietzler 7097cf6319
fix(admin-cli): Fixes immich-admin because npm bin does not like arguments (#3864)
* fix admin cli

* move script to bin, actually pass arguments

* remove accidentally created package-lock.json
2023-08-27 09:35:49 +07:00
Alex The Bot f1027d7807 Version v1.75.2 2023-08-26 22:34:54 +07:00
Alex The Bot cc1fecfffd Version v1.75.1 2023-08-26 18:31:14 +07:00
Alex The Bot 6fe214a784 Version v1.75.0 2023-08-26 04:44:39 +07:00
Alex The Bot d2bad1d553 Version v1.74.0 2023-08-19 06:09:16 +07:00
Alex The Bot a3b6095b61 Version v1.73.0 2023-08-15 12:45:48 +07:00
Alex The Bot 6efc2ec9be Version v1.72.2 2023-08-07 16:41:17 +07:00
Alex d0c6c7cb33
chore: update immich cli version (#3586)
* chore: update immich cli version

* update package lock json
2023-08-07 11:39:39 +07:00
Alex The Bot b3b5f063cf Version v1.72.1 2023-08-07 02:54:24 +07:00
Alex The Bot 3edb347666 Version v1.72.0 2023-08-06 19:48:25 +07:00
Jason Rasmussen 2835919931
fix: load env files for cli (#3503) 2023-08-01 17:07:52 +07:00
Jason Rasmussen e53625b067
test(server): auth e2e (#3492)
* test(server): auth controller e2e test

* test(server): user e2e test

* refactor(server): album e2e

* fix: linting
2023-08-01 10:49:50 +07:00
Alex The Bot 3f1cf44717 Version v1.71.0 2023-07-28 18:32:33 +07:00
Dmitry Brazhenko e071b82e8a
feat (web/server) 360 degrees Web panoramas [attempt 2] (#3412)
* commit 1 (isPanorama: boolean)

* working solution for projectiontypeenum

* fix

* format fix

* fix

* fix

* fix

* fix

* enum projectiontype

* working solution with exif

* fix

* reverted >

* fix format

* reverted auto-magic api.ts prettification

* fix

* reverted api.ts autogenerated

* api ts regenerated

* Update web/src/lib/components/assets/thumbnail/thumbnail.svelte

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>

* Update web/src/lib/components/asset-viewer/asset-viewer.svelte

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>

* exifProjectionType

* Update server/src/microservices/processors/metadata-extraction.processor.ts

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>

* projectionType?: string = ProjectionType.NONE;

* not null

* projectionType!: ProjectionType;

* opeapi generator fix

* fixes

* fix

* fix

* generate api

* asset.exifInifo?.projectionType

* Update server/src/domain/asset/response-dto/exif-response.dto.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* Update server/src/microservices/processors/metadata-extraction.processor.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* enum -> varchar;projectiontypeenum->projectiontype

* asset-viewer fixed prettiffier

* @Column({}) single line

* enum | string

* make api

* enum | string

* enum | str fix

* fix

* chore: use string instead of enum

* chore: open api

* fix: checks

---------

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-07-27 23:29:09 +07:00
Alex The Bot 2872886e77 Version v1.70.0 2023-07-27 03:40:16 +07:00
Alex aaf0496f74
chore(server): Update Immich CLI version (#3403) 2023-07-23 17:53:20 +07:00
Alex The Bot f41e1159d1 Version v1.69.0 2023-07-23 17:40:02 +07:00
Alex The Bot 1835fbae49 Version v1.68.0 2023-07-20 03:06:12 +07:00
Alex The Bot 81e07fda08 Version v1.67.2 2023-07-14 14:01:20 +07:00
Alex The Bot 2d4e2af629 Version v1.67.1 2023-07-14 02:45:02 +07:00
Alex The Bot cd184cf366 Version v1.67.0 2023-07-14 00:39:54 +07:00
Jonathan Jogenfors ea64fdd7b4
feat(server): Use Testcontainers for e2e tests (#3202)
* Add testcontainers to e2e

* Run e2e tests in github without docker

* Run lint on e2e

* Cleaner setup ordering

* Rename setup file
2023-07-11 16:54:44 +07:00
Jason Rasmussen 6180828ed2
refactor(server): mime types (#3197)
* refactor(server): mime type check

* chore: open api

* chore: remove duplicate test
2023-07-10 12:56:45 +07:00
Alex The Bot 0d30ceb284 Version v1.66.1 2023-07-05 02:50:53 +07:00
Alex The Bot 8a3ab5be3e Version v1.66.0 2023-07-04 15:51:53 +07:00
Jason Rasmussen 7c2f7d6c51
chore: remove refactored controllers from unit test coverage (#3063) 2023-06-30 23:47:28 +07:00
Alex The Bot df9c05bef3 Version v1.65.0 2023-06-30 03:01:48 +07:00
Dhrumil Shah 6fa685d9d8
chore: add CLI tool to the server image (#2999)
* WIP: Added immich cli tool to `immich-server` image

* WIP: Added doc entry to show it is preinstalled

* WIP: Moved immich upload cli to `immich` and default to `immich-admin`

* WIP: undid previous commit

* WIP: Updated server docs with new `immich-admin` command
2023-06-29 14:48:16 +07:00
Alex The Bot b258f3552a Version v1.64.0 2023-06-26 18:06:11 +07:00
Alex The Bot bbb6bca605 Version v1.63.2 2023-06-25 02:53:18 +07:00
Alex The Bot bba4c44182 Version v1.63.1 2023-06-24 15:31:16 +07:00
Alex The Bot 02a268c7c6 Version v1.63.0 2023-06-24 01:41:12 +07:00
Alex Phillips e171fec5aa
feat(server): support for read-only assets and importing existing items in the filesystem (#2715)
* Added read-only flag for assets, endpoint to trigger file import vs upload

* updated fixtures with new property

* if upload is 'read-only', ensure there is no existing asset at the designated originalPath

* added test for file import as well as detecting existing image at read-only destination location

* Added storage service test for a case where it should not move read-only assets

* upload doesn't need the read-only flag available, just importing

* default isReadOnly on import endpoint to true

* formatting fixes

* create-asset dto needs isReadOnly, so set it to false by default on create, updated api generation

* updated code to reflect changes in MR

* fixed read stream promise return type

* new index for originalPath, check for existing path on import, reglardless of user, to prevent duplicates

* refactor: import asset

* chore: open api

* chore: tests

* Added externalPath support for individual users, updated UI to allow this to be set by admin

* added missing var for externalPath in ui

* chore: open api

* fix: compilation issues

* fix: server test

* built api, fixed user-response dto to include externalPath

* reverted accidental commit

* bad commit of duplicate externalPath in user response  dto

* fixed tests to include externalPath on expected result

* fix: unit tests

* centralized supported filetypes, perform file type checking of asset and sidecar during file import process

* centralized supported filetype check method to keep regex DRY

* fixed typo

* combined migrations into one

* update api

* Removed externalPath from shared-link code, added column to admin user page whether external paths / import is enabled or not

* update mimetype

* Fixed detect correct mimetype

* revert asset-upload config

* reverted domain.constant

* refactor

* fix mime-type issue

* fix format

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-21 21:33:20 +07:00
Alex The Bot 8d560ec55f Version v1.62.1 2023-06-19 21:31:38 +07:00
Alex The Bot 9c0f444e4d Version v1.62.0 2023-06-19 15:43:49 +07:00
Covalent 3e804f16df
feat(web,server): add thumbhash support (#2649)
* add thumbhash: server generation and web impl

* move logic to infra & use byta in db

* remove unnecesary logs

* update generated API and simplify thumbhash gen

* fix check errors

* removed unnecessary library and css tag

* style edits

* syntax mistake

* update server test, change thumbhash job name

* fix tests

* Update server/src/domain/asset/response-dto/asset-response.dto.ts

Co-authored-by: Thomas <9749173+uhthomas@users.noreply.github.com>

* add unit test, change migration date

* change to official thumbhash impl

* update call method to not use eval

* "generate missing" looks for thumbhash

* improve queue & improve syntax

* update syntax again

* update tests

* fix thumbhash generation

* consolidate queueing to avoid duplication

* cover all types of incorrect thumbnail cases

* split out jest tasks

* put back thumbnail duration loading for images without thumbhash

* Remove stray package.json

---------

Co-authored-by: Luke McCarthy <mail@lukehmcc.com>
Co-authored-by: Thomas <9749173+uhthomas@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-17 22:22:31 +07:00
Jason Rasmussen bff6914a73
chore(server): organize imports (#2779)
* feat: lint rule for organize imports

* chore: organize imports
2023-06-16 19:54:17 +07:00
Alex The Bot caccb1094d Version v1.61.0 2023-06-16 02:29:11 +07:00
Thomas 41c2c8b82d
use imagemagick and libraw for raw image support (#2668)
* use imagemagick and libraw for raw image support

imagemagick and libraw have generally good support for raw images, including
Sony's ARW format. These tools should also allow Immich to support many more
image formats in future without any major code changes.

https://www.libraw.org/supported-cameras

I've tested and verified this change with .ARW files and other standard formats.

Fixes: #2156

* Add additional type for awr

* pr feedback

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-14 21:34:03 +07:00
Jason Rasmussen f0bc318712
chore: fix test coverage (#2699) 2023-06-09 15:20:15 +07:00
Jason Rasmussen 8ebac41318
refactor(server)*: tsconfigs (#2689)
* refactor(server): tsconfigs

* chore: dummy commit

* fix: start.sh

* chore: restore original entry scripts
2023-06-08 10:01:07 +07:00
Alex The Bot 1f4993350a Version v1.60.0 2023-06-04 15:45:06 +07:00
Jason Rasmussen 2493dfaba3
feat(server): dynamic job concurrency (#2622)
* feat(server): dynamic job concurrency

* styling and add setting info to top of the job list

* regenerate api

* remove DETECT_OBJECT job

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-01 05:32:51 +07:00
Alex The Bot da1710bcd2 Version v1.59.1 2023-05-30 17:56:47 +07:00
Jason Rasmussen 2dfd56b49b
fix: reload assets from typesense results (#2615)
* fix: reload assets from typesense results

* chore: coverage
2023-05-30 12:55:06 +07:00
Alex The Bot 6538e599dd Version v1.59.0 2023-05-30 15:27:35 +07:00
Michel Heusschen 94d0705607
refactor(server): change asset entity to date type (#2599)
* refactor(server): change asset entity to date type

* lower coverage threshold
2023-05-29 09:05:14 +07:00
Alex The Bot a460940430 Version v1.58.0 2023-05-27 21:56:06 +07:00
Alex fc2455be80
fix(server): missing metadata extraction job (#2586)
* fix(server): missing metadata extraction job

* format

* fix test

* fix test

* Added source to upload

* fix test

* OK! CODE COVERAGE
2023-05-27 16:49:57 +07:00
Alex The Bot ecc894ac82 Version v1.57.1 2023-05-23 09:21:22 +07:00
Alex The Bot cd7fc7e026 Version v1.57.0 2023-05-23 02:03:49 +07:00
Alex feadc45e75
chore(server): Remove dist directory in command script (#2518) 2023-05-22 10:27:08 +07:00