Commit Graph

120 Commits

Author SHA1 Message Date
Jason Rasmussen
da5a6d2272
fix(cli): missing dep in immich cli (#2094)
* fix: missing dep in immich cli

* fix: imports
2023-03-28 11:29:20 -05:00
Michel Heusschen
f0e272d0f2
feat(server): change clipembedding entity type (#2091) 2023-03-28 09:53:35 -05:00
Jason Rasmussen
e0b80f49b6
fix(server): increase typesense start-up settings (#2095) 2023-03-27 14:00:32 -05:00
Alex
cd59f7aad6
fix(server) get all query does not respect asset type (#2089)
* chore: fix api

* fix(server) get all query does not respect asset type
2023-03-26 10:41:55 -05:00
Michel Heusschen
c74fba483d
feat(server): improve and refactor get all albums (#2048)
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-03-25 21:46:48 -05:00
Jason Rasmussen
2400004f41
feat(server): split generated content into a separate folder (#2047)
* feat: organize media folders

* fix: tests
2023-03-25 09:50:57 -05:00
Jason Rasmussen
e36b620020
refactor(server): cron jobs (#2067) 2023-03-24 07:19:48 -05:00
Jason Rasmussen
1efc74dabc
refactor(server): common (#2066) 2023-03-23 23:55:15 -05:00
Jason Rasmussen
54f98053a8
chore(server): cleanup controllers (#2065) 2023-03-23 23:53:56 -05:00
Jason Rasmussen
6745826f35
refactor(server): media service (#2051)
* refactor(server): media service

* merge main

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-03-23 21:40:46 -05:00
Jason Rasmussen
6239b3b309
fix: import assets on new install (#2044) 2023-03-22 00:36:32 -05:00
Jason Rasmussen
b9bc621e2a
refactor: server-info (#2038) 2023-03-21 21:49:19 -05:00
Jason Rasmussen
25a10784eb
fix(server): search and explore part 2 (#2031)
* explore logging

* chore: regenerate open api

* fix: explore page
2023-03-20 22:07:22 -05:00
Jason Rasmussen
73a2063d96
fix(server): search and explore issues (#2029)
* fix: send assets to typesense in batches

* fix: run classs transformer on search endpoint

* chore: log typesense filters
2023-03-20 15:16:32 -05:00
Jason Rasmussen
386eef046d
refactor(server): jobs (#2023)
* refactor: job to domain

* chore: regenerate open api

* chore: tests

* fix: missing breaks

* fix: get asset with missing exif data

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-03-20 10:55:28 -05:00
Alex
7ce64ecf05
fix(server): CLIP search return empty result (#2018) 2023-03-19 08:20:23 -05:00
bo0tzz
dd02f1025f
feat(server): Fallback to text search if machine-learning is disabled (#2015) 2023-03-18 16:30:48 -05:00
Alex
f56eaae019
feat(server): CLIP search integration (#1939) 2023-03-18 08:44:42 -05:00
Sergey Kondrikov
82e8cd0f8d
Fix timezone mismatch in server tests (#1918) 2023-03-16 09:02:40 -05:00
bo0tzz
838ea56605
fix(server): Increase authentication cookie max-age (#1971)
This got missed in #1381.
2023-03-08 16:26:49 +00:00
Jason Rasmussen
2ca560ebf8
feat(web,server): explore (#1926)
* feat: explore

* chore: generate open api

* styling explore page

* styling no result page

* style overlay

* style: bluring text on thumbnail card for readability

* explore page tweaks

* fix(web): search urls

* feat(web): use objects for things

* feat(server): filter by motion, sort by createdAt

* More styling

* better navigation

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2023-03-05 14:44:31 -06:00
Michel Heusschen
bdf35b6688
feat(server): improve thumbnail relation and updating (#1897)
* feat(server): improve thumbnail relation and updating

* improve query + update tests and migration

* make sure uuids are valid in migration

* fix unit test
2023-03-04 08:16:48 -06:00
Fynn Petersen-Frey
8708867c1c
feature(mobile): sync assets, albums & users to local database on device (#1759)
* feature(mobile): sync assets, albums & users to local database on device

* try to fix tests

* move DB sync operations to new SyncService

* clear db on user logout

* fix reason for endless loading timeline

* fix error when deleting album

* fix thumbnail of device albums

* add a few comments

* fix Hive box not open in album service when loading local assets

* adjust tests to int IDs

* fix bug: show all albums when Recent is selected

* update generated api

* reworked Recents album isAll handling

* guard against wrongly interleaved sync operations

* fix: timeline asset ordering (sort asset state by created at)

* fix: sort assets in albums by created at
2023-03-03 16:38:30 -06:00
Jason Rasmussen
0aaeab124d
feat(server)!: search via typesense (#1778)
* build: add typesense to docker

* feat(server): typesense search

* feat(web): search

* fix(web): show api error response message

* chore: search tests

* chore: regenerate open api

* fix: disable typesense on e2e

* fix: number properties for open api (dart)

* fix: e2e test

* fix: change lat/lng from floats to typesense geopoint

* dev: Add smartInfo relation to findAssetById to be able to query against it

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-03-02 20:47:08 -06:00
Michel Heusschen
830f4268c3
fix(server): exif extraction swapped params (#1914) 2023-03-01 10:55:24 -06:00
Michel Heusschen
2a1dcbc28b
fix(server): storage template unit test (#1906) 2023-03-01 13:10:01 +00:00
Chipwingg
aef5a48fc6
feat(server): added additional storage template preset (#1903) 2023-02-28 23:48:55 -06:00
Alex
25cff6a748
fix(server) long album load time on Album and Sharing page (#1890)
* chore: update package-lock.json version

* rfix(server) long album load time

* remove all eagerness

* generate index

* remove console.log

* remove deadcode

* fix: shared link album owner
2023-02-27 18:28:45 -06:00
Michel Heusschen
368142e79b
feat(web): improved server stats (#1870)
* feat(web): improved server stats

* fix(web): don't log unauthorized errors

* Revert "fix(web): don't log unauthorized errors"

This reverts commit 7fc2987a77.
2023-02-26 13:57:34 -06:00
Jason Rasmussen
6c7679714b
refactor(server): jobs and processors (#1787)
* refactor: jobs and processors

* refactor: storage migration processor

* fix: tests

* fix: code warning

* chore: ignore coverage from infra

* fix: sync move asset logic between job core and asset core

* refactor: move error handling inside of catch

* refactor(server): job core into dedicated service calls

* refactor: smart info

* fix: tests

* chore: smart info tests

* refactor: use asset repository

* refactor: thumbnail processor

* chore: coverage reqs
2023-02-25 08:12:03 -06:00
Zack Pollard
d1ea6a897e
chore(server): typeorm definitions fix part 3 (#1796)
* chore(server): tidy up exif typeorm entity definition

* chore(server): tidy up shared link typeorm entity definition

* chore(server): tidy up smart info typeorm entity definition

* chore(server): tidy up tag typeorm entity definition

* ci: add job that checks typeorm migrations are correct and up-to-date
2023-02-20 01:50:27 +00:00
Zack Pollard
5ad4e5b614
infra(server)!: fix typeorm asset entity relations (#1782)
* fix: add correct relations to asset typeorm entity

* fix: add missing createdAt column to asset entity

* ci: run check to make sure generated API is up-to-date

* ci: cancel workflows that aren't for the latest commit in a branch

* chore: add fvm config for flutter
2023-02-19 16:44:53 +00:00
Zack Pollard
000d0a08f4
infra(server): fix Album TypeORM relations and change ids to uuids (#1582)
* infra: make api-key primary key column a UUID

* infra: move ManyToMany relations in album entity, make ownerId ManyToOne

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-02-18 14:58:55 -06:00
Jason Rasmussen
e309647f1b
refactor(server): remove checksum job (#1786) 2023-02-18 09:18:07 -06:00
Jason Rasmussen
36197cca98
feat(server): auto-link live photos (#1761)
* feat(server): auto-link live photos

* fix: video extraction and linking
2023-02-16 01:41:51 -06:00
Alex
b660240059
fix(web/server) uploaded asset in shared link not loaded (#1766)
* fix(web/server): Uploaded asset to shared link does not get added to the shared link/album

* remove unused code

* Add endpoints for each remove and add assets to shared link

* Update api

* Added deletion logic

* Convert callback to async/await

* Fix linter

* Fix test

* Fix server test

* added test

* Test coverage

* modify DTO

* Add notification

* fix test
2023-02-15 15:21:22 -06:00
Zack Pollard
dab74662e9
fix(server): fk constraint violation when updating to 1.46 with deleted users and albums (#1716)
Fixes #1715
2023-02-10 04:11:04 +00:00
Alex
263598f2cf
fix(server): get shared link album info doesn't contain owner property (#1708) 2023-02-09 11:55:24 -06:00
Alex
43fd7737f1
chore(server): make owner as required response for AlbumResponseDto (#1579) 2023-02-07 15:11:14 -06:00
Alex
3cc4af5947
chore(server) Add user FK to album entity (#1569) 2023-02-06 20:47:06 -06:00
Alex
29bb1f7ef2
feat(server): add updatedAt to Asset, Album and User (#1566)
* feat: add updatedAt info to DTO and generate api

* chore: remove unsued file

* chore: Add update statement to add/remove asset/user to album

* fix: test
2023-02-06 10:24:58 -06:00
Alex
7dbddba757
chore(server): remove token when logged out (#1560)
* chore(mobile): invoke logout() on mobile app

* feat: add mechanism to delete token from logging out endpoint

* fix: set state after login sequence success

* fix: not removing token when logging out from OAuth

* fix: prettier

* refactor: using accessTokenId to delete

* chore: pr comments

* fix: test

* fix: test threshold
2023-02-05 23:31:16 -06:00
Jason Rasmussen
2b0b2bb1ae
refactor(server): download file (#1512)
* refactor(server): download file

* chore: generate open-api and remove unused refs

* chore(server): tests

* chore: remove unused code
2023-02-03 09:16:25 -06:00
Jason Rasmussen
bb84464216
refactor(server): device info (#1490)
* refactor(server): device info

* fix: export device service

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-02-01 14:55:06 -06:00
Jason Rasmussen
d2a9363fc5
refactor(server): auth guard (#1472)
* refactor: auth guard

* chore: move auth guard to middleware

* chore: tests

* chore: remove unused code

* fix: migration to uuid without dataloss

* chore: e2e tests

* chore: removed unused guards
2023-01-31 12:11:49 -06:00
Jason Rasmussen
9428b2576b
refactor(server): asset service - upload asset (#1438)
* refactor: asset upload

* refactor: background service

* chore: tests

* Regenerate api

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-01-30 10:14:13 -06:00
Skyler Mäntysaari
fb408d7aa3
chore(server): cookie changes to SameSite=Lax (#1467)
* fix(server/cookie): cookie should have SameSite=Lax.

* Forgot to update tests.
2023-01-28 16:33:03 -06:00
Jason Rasmussen
42a3149fe3
refactor(server): move asset upload job to domain (#1434)
* refactor: move to domain

* refactor: rename method

* Update comments

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-01-27 23:57:37 -06:00
Jason Rasmussen
414893a687
fix(server): auth strategies (#1459)
* fix(server): auth strategies

* chore: tests
2023-01-27 23:12:11 -06:00
Zack Pollard
3f2513a717
feat(server): move authentication to tokens stored in the database (#1381)
* chore: add typeorm commands to npm and set default database config values

* feat: move to server side authentication tokens

* fix: websocket should emit error and disconnect on error thrown by the server

* refactor: rename cookie-auth-strategy to user-auth-strategy

* feat: user tokens and API keys now use SHA256 hash for performance improvements

* test: album e2e test remove unneeded module import

* infra: truncate api key table as old keys will no longer work with new hash algorithm

* fix(server): e2e tests (#1435)

* fix: root module paths

* chore: linting

* chore: rename user-auth to strategy.ts and make validate return AuthUserDto

* fix: we should always send HttpOnly for our auth cookies

* chore: remove now unused crypto functions and jwt dependencies

* fix: return the extra fields for AuthUserDto in auth service validate

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-01-27 14:50:07 -06:00