Commit Graph

136 Commits (808d6423be90e48b968c23d719638cc6c02fa459)

Author SHA1 Message Date
Zack Pollard 808d6423be
feat(all): ffmpeg quality options improvements (#2161)
* feat: change target scaling to resolution in ffmpeg config

* feat(microservices): scale vertical video correctly, only scale if video is larger than target
2023-04-03 20:42:53 +07:00
Sergey Kondrikov 7e526f87b4
feat(server): enhanced thumbnails generation code (#2147)
* Add size parameter to extractVideoThumbnail

* Ensure minimum dimension of webp thumbnail
2023-04-03 20:18:27 +07:00
Skyler Mäntysaari fc585bffcc
feat(server): Support TypeSense High-Availibility configuration (#2146)
* feat(server): Support TypeSense High-Availibility configuration.

* Lint fixes

* Address comments.
2023-04-03 20:16:45 +07:00
Michel Heusschen c584791b65
feat(server): improve validation in controllers (#2149)
* feat(server): improve validation in controllers

* set ValidationPipe config with decorator
2023-04-02 23:24:18 +07:00
AndreAle94 94b2ea9b5f
Add timezone to exif entity (#1894)
* Add timezone to exif entity

* Refactor logging

---------

Co-authored-by: Andrea Alemani <andrea.alemani94@gmail.com>
2023-04-02 14:11:24 +07:00
Michel Heusschen b06ddec2d5
feat(server/web): jobs clear button + queue status (#2144)
* feat(server/web): jobs clear button + queue status

* adjust design and colors

* Adjust some styling

* show status next to buttons instead of on top

* Update rounded corner for badge

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-04-01 15:46:07 +07:00
Alex d04f340b5b
fix(server): user update (#2143)
* fix(server): user update

* update dto

* generate api

* improve validation

* add e2e tests for updating user

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2023-04-01 11:43:45 +07:00
Skyler Mäntysaari 23e4449f27
feat(server): redis sentinel support (#2141)
* feat(server): redis sentinel initial support

* feat(server): Lint fixes

* Include example for Redis Sentinel.

* Address PR comments
2023-03-31 15:33:21 +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
Michel Heusschen eda9e580c9
fix(server): add paused property to JobCountsDto (#2112) 2023-03-29 10:33:03 +07:00
Jason Rasmussen b0d5c7035b
feat(server): apply storage migration after exif completes (#2093)
* feat(server): apply storage migraiton after exif completes

* feat: same for videos

* fix: migration for live photos
2023-03-28 15:04:11 +07:00
Jason Rasmussen 3497a0de54
chore: cleanup template variables (#2107) 2023-03-28 14:27:36 +07:00
Sergey Kondrikov 2c67090e3c
feat(server): add transcode presets (#2084)
* feat: add transcode presets

* Add migration

* chore: generate api

* refactor: use enum type instead of string for transcode option

* chore: generate api

* refactor: enhance readability of runVideoEncode method

* refactor: reuse SettingSelect for transcoding presets

* refactor: simplify return statement

* chore: regenerate api

* fix: correct label attribute

* Update import

* fix test

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-03-28 14:03:43 +07:00
Jason Rasmussen 9adbbd42be
feat(server): resume queues (#2104)
* feat(server): resume queues

* chore: regenerate open-api
2023-03-28 13:25:22 +07:00
Jason Rasmussen 8563bd463c
fix(cli): clean up set intervals (#2103) 2023-03-28 13:24:14 +07:00
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 +07:00
Michel Heusschen f0e272d0f2
feat(server): change clipembedding entity type (#2091) 2023-03-28 09:53:35 +07:00
Jason Rasmussen e0b80f49b6
fix(server): increase typesense start-up settings (#2095) 2023-03-27 14:00:32 +07: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 +07: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 +07: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 +07:00
Jason Rasmussen e36b620020
refactor(server): cron jobs (#2067) 2023-03-24 07:19:48 +07:00
Jason Rasmussen 1efc74dabc
refactor(server): common (#2066) 2023-03-23 23:55:15 +07:00
Jason Rasmussen 54f98053a8
chore(server): cleanup controllers (#2065) 2023-03-23 23:53:56 +07: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 +07:00
Jason Rasmussen 6239b3b309
fix: import assets on new install (#2044) 2023-03-22 00:36:32 +07:00
Jason Rasmussen b9bc621e2a
refactor: server-info (#2038) 2023-03-21 21:49:19 +07: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 +07: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 +07: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 +07:00
Alex 7ce64ecf05
fix(server): CLIP search return empty result (#2018) 2023-03-19 08:20:23 +07:00
bo0tzz dd02f1025f
feat(server): Fallback to text search if machine-learning is disabled (#2015) 2023-03-18 16:30:48 +07:00
Alex f56eaae019
feat(server): CLIP search integration (#1939) 2023-03-18 08:44:42 +07:00
Sergey Kondrikov 82e8cd0f8d
Fix timezone mismatch in server tests (#1918) 2023-03-16 09:02:40 +07:00
bo0tzz 838ea56605
fix(server): Increase authentication cookie max-age (#1971)
This got missed in #1381.
2023-03-08 16:26:49 +07: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 +07: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 +07: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 +07: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 +07:00
Michel Heusschen 830f4268c3
fix(server): exif extraction swapped params (#1914) 2023-03-01 10:55:24 +07:00
Michel Heusschen 2a1dcbc28b
fix(server): storage template unit test (#1906) 2023-03-01 13:10:01 +07:00
Chipwingg aef5a48fc6
feat(server): added additional storage template preset (#1903) 2023-02-28 23:48:55 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Jason Rasmussen e309647f1b
refactor(server): remove checksum job (#1786) 2023-02-18 09:18:07 +07:00