Commit Graph

243 Commits (852effa99881002bf74ce3b7c19f2e548a67670b)

Author SHA1 Message Date
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
Alex The Bot a1183f4b4b Version v1.56.2 2023-05-20 03:53:45 +07:00
Alex The Bot c8e649f190 Version v1.56.1 2023-05-19 04:01:36 +07:00
martin 70a0f4ae48
chore: update to node 18 and alpine 3.17 (#2430)
* chore: update to node 18 and alpine 3.17

Signed-off-by: martin <martin.labat92@gmail.com>

* chore: fix sharp version

Signed-off-by: martin <martin.labat92@gmail.com>

* chore(server): use vips-dev

Signed-off-by: martin <martin.labat92@gmail.com>

* update checkDiskUsage

Signed-off-by: martin <martin.labat92@gmail.com>

* fix: use vips-heif instead of libheif

Signed-off-by: martin <martin.labat92@gmail.com>

* fix: use vips instead of vips-cpp

Signed-off-by: martin <martin.labat92@gmail.com>

* fix: ensure vips installation

Signed-off-by: martin <martin.labat92@gmail.com>

---------

Signed-off-by: martin <martin.labat92@gmail.com>
2023-05-18 10:56:33 +07:00
Alex The Bot 126f5857c3 Version v1.56.0 2023-05-18 14:03:48 +07:00
Alex The Bot aa97ca9ccf Version v1.55.1 2023-05-09 15:29:06 +07:00
bo0tzz f1b70e13a1
Revert "Bump local-reverse-geocoder to 0.15.2 / Fix Corrupted Reverse Geocoding CSV File (#2396)" (#2409)
This reverts commit b5a4aef829.
2023-05-09 08:56:31 +07:00
Alex The Bot 25f55ee6bb Version v1.55.0 2023-05-09 02:08:01 +07:00
Szymon Sakowicz b5a4aef829
Bump local-reverse-geocoder to 0.15.2 / Fix Corrupted Reverse Geocoding CSV File (#2396)
* Bump local-reverse-geocoder to 0.15.1

* Bump to fixed release

* Sync package.json with package-lock

---------

Co-authored-by: Szymon Sakowicz <s.sakowicz@tidio.net>
2023-05-08 09:09:05 +07:00
Jason Rasmussen ce42b84430
build: improve pump script (#2351) 2023-04-28 21:10:32 +07:00
Jason Rasmussen e22cdea485
chore(server,mobile): remove device info entity (#1527)
* chore(server): remove unused device info code

* chore: generate open api

* remove any DeviceTypeEnum usage from mobile

* chore: coverage

* fix: drop device info table

---------

Co-authored-by: Fynn Petersen-Frey <zody22@gmail.com>
2023-04-28 15:01:03 +07:00
Jason Rasmussen b8313abfa8
feat(web,server): manage authorized devices (#2329)
* feat: manage authorized devices

* chore: open api

* get header from mobile app

* write header from mobile app

* styling

* fix unit test

* feat: use relative time

* feat: update access time

* fix: tests

* chore: confirm wording

* chore: bump test coverage thresholds

* feat: add some icons

* chore: icon tweaks

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-04-25 21:19:23 +07:00
Alex The Bot 3d251f51fc Version v1.54.1 2023-04-23 02:36:09 +07:00
Alex The Bot b0d5cb62fa Version v1.54.0 2023-04-18 16:34:37 +07:00
dependabot[bot] 561b208508
chore(deps): bump class-validator from 0.13.2 to 0.14.0 in /server (#2240)
Bumps [class-validator](https://github.com/typestack/class-validator) from 0.13.2 to 0.14.0.
- [Release notes](https://github.com/typestack/class-validator/releases)
- [Changelog](https://github.com/typestack/class-validator/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/typestack/class-validator/compare/v0.13.2...v0.14.0)

---
updated-dependencies:
- dependency-name: class-validator
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-12 20:56:07 +07:00
Michel Heusschen 983abf5e14
chore(server): update openapi (#2205) 2023-04-08 21:26:09 +07:00
Alex The Bot cfcae39699 Version v1.53.0 2023-04-06 04:56:28 +07:00
Jason Rasmussen 49f66be8af
chore(server): use ioredis (#2116) 2023-03-31 09:36:08 +07:00
Jason Rasmussen 34d300d1da
refactor(server): flatten infra folders (#2120)
* refactor: flatten infra folders

* fix: database migrations

* fix: test related import

* fix: github actions workflow

* chore: rename schemas to typesense-schemas
2023-03-30 14:38:55 +07:00
Alex The Bot b1d17302bc Version v1.52.1 2023-03-29 17:37:33 +07:00
Michel Heusschen eda9e580c9
fix(server): add paused property to JobCountsDto (#2112) 2023-03-29 10:33:03 +07:00
Alex The Bot d5596cf6a2 Version v1.52.0 2023-03-28 20:33:08 +07:00