Commit Graph
100 Commits
Author SHA1 Message Date
Daniel DietzlerandGitHub 910b75c6cc docs: fix typo in translations link (#10783) 2024-07-02 16:40:51 -04:00
Daniel DietzlerandGitHub 5e9a7b17d9 fix(server): allow library id to be null in metadata search (#10512)
* fix: allow library id to be null in metadata search

* chore: open api
2024-06-20 16:02:05 -07:00
Daniel DietzlerandGitHub c896fe393f refactor(web): byte unit utils (#10332)
refactor byte unit utils
2024-06-14 17:27:46 +00:00
dddc06c3b2 feat: user preferences for archive download size (#10296)
* feat: user preferences for archive download size

* chore: open api

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-06-14 11:27:12 -04:00
Daniel DietzlerandGitHub e5ed7d4af1 chore: update discord links (#10301)
update discord links
2024-06-13 20:27:01 -04:00
2ffde69caf fix: weblate (#10029)
* chore: add translations  (Spanish (es_ES@new))

* chore: remove translations (Spanish (es_ES@new))

---------

Co-authored-by: Immich <immich@futo.org>
2024-06-07 14:52:40 -05:00
Daniel DietzlerandGitHub 1947316b0b refactor: one locales file for all english translations (#10006)
one locales file for all english translations
2024-06-05 18:57:44 -04:00
7524c746a6 feat(docs): shinify roadmap (#9916)
Shinify roadmap

Co-authored-by: jrasm91 <jrasm91@gmail.com>
2024-05-31 18:02:01 -04:00
Daniel DietzlerandGitHub 4376104e3a refactor(server): rename api tags to follow plural nomenclature of endpoints (#9872)
* rename api tags to follow plural nomenclature of endpoints

* chore: open api

* fix mobile
2024-05-29 18:26:57 -04:00
5463660746 refactor(server)!: move markers and style to dedicated map endpoint/controller (#9832)
* move markers and style to dedicated map endpoint

* chore: open api

* chore: clean up repos

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-05-29 11:51:01 -04:00
Daniel DietzlerandGitHub 35ef82ab6b docs: add discord link (#9379)
add discord link to docs
2024-05-10 12:38:35 -05:00
Daniel DietzlerandGitHub 90882a9b26 refactor(server): repositories (#9119)
refactor repos
2024-04-27 13:52:05 -04:00
Daniel DietzlerandGitHub 1e34b01986 docs: new milestones (#9113)
* 30k stars milestone

* metrics and contributors
2024-04-27 17:14:53 +00:00
Daniel DietzlerandGitHub 7f1651df71 chore(server): enable swagger to take class validator rules into account (#9022)
* enable swagger to take class validator rules into account

* chore: open api
2024-04-22 18:13:44 -04:00
Daniel DietzlerandGitHub a99862120d feat: mobile label for renovate pull requests (#8991)
mobile lable for renovate pull requests
2024-04-21 13:11:03 -05:00
Daniel DietzlerandGitHub 78c7ff855d refactor(server): move file file report endpoints to their own controller (#8925)
* move file report to its own controller

* chore: open api
2024-04-19 20:35:54 -04:00
Daniel DietzlerandGitHub ad5d115abe fix(server): require asset permission when creating an album with them (#8686)
require asset permission when creating an album with them
2024-04-10 13:41:22 -04:00
Daniel DietzlerandGitHub 56e0e5d6ad chore: add to codeowners (#8640)
add to codeowners
2024-04-08 22:48:47 +00:00
Daniel DietzlerandGitHub b6cdffa509 mount postgres folder to local directory by default (#8443) 2024-04-08 16:11:25 -04:00
Daniel DietzlerandGitHub 7b1562c050 fix(server): remove isWatched from DTO (#8598)
* fix: remove isWatched

* chore: open api
2024-04-08 16:00:08 -04:00
Daniel DietzlerandGitHub 4f4bceec94 feat(web): add search bar shortcuts (#8630)
add search bar shortcuts
2024-04-08 13:20:24 -04:00
3a69e5e819 fix(web): concurrency link on jobs page (#8572)
fix concurrency link on jobs page

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-04-06 21:11:53 +00:00
Daniel DietzlerandGitHub 6f677b4fae refactor(server): extract add/remove assets logic to utility function (#8329)
extract add/remove assets logic to utility function

fix tests

chore: generate sql

foo
2024-03-29 07:56:16 -04:00
Daniel DietzlerandGitHub b8c5363a15 refactor(server): move timeline operations to their own controller/service (#8325)
* move timeline operations to their own controller/service

* chore: open api

* move e2e tests
2024-03-28 23:20:40 -04:00
Daniel DietzlerandGitHub b8b3c487d4 fix(server): map style not being available for shared assets (#8341)
* fix map style not being available for shared assets

* add e2e test
2024-03-28 23:19:05 -04:00
Daniel DietzlerandGitHub c56c04a82b refactor(server): rename filesystem provider -> storage repo (#8277)
rename filesystem provider -> storage repo
2024-03-25 20:45:21 +00:00
Daniel DietzlerandGitHub d431d37454 feat(server): dark mode support for star history (#8259)
use theme sensitive star history graphic
2024-03-25 08:20:26 -04:00
Daniel DietzlerandGitHub 1694dd146e feat(server): add immich cli to container (#8239)
add immich cli to server container
2024-03-25 08:18:33 -04:00
Daniel DietzlerandGitHub d6823b128c fix(server): validation events actually throwing an error (#8172)
* fix validation events

* add e2e test
2024-03-21 17:59:21 -05:00
Daniel DietzlerandGitHub b588a87d4a chore(server): rename domain repositories -> interfaces (#8147)
rename domain repositories
2024-03-21 06:59:49 -05:00
Daniel DietzlerandGitHub ef4a492cb1 chore(server): move services (#8133)
move services
2024-03-20 18:07:30 -05:00
Daniel DietzlerandGitHub 6d9e7694b1 chore(server): move dtos (#8131)
move dtos
2024-03-20 23:53:07 +01:00
Daniel DietzlerandGitHub 84f7ca855a chore(server): move domain interfaces (#8124)
move domain interfaces
2024-03-20 16:42:58 -04:00
Daniel DietzlerandGitHub 2dcce03352 chore(server): move commands (#8121)
move commands
2024-03-20 20:25:33 +00:00
Daniel DietzlerandGitHub 4b29bccc7c chore(server): move cores (#8120)
move cores
2024-03-20 20:20:38 +00:00
Daniel DietzlerandGitHub 30f499cf2e chore(server): use absolute import paths (#8080)
update server to use absolute import paths
2024-03-20 14:32:04 -04:00
Daniel DietzlerandGitHub 4aae1da841 fix(web): repair page typo (#8051)
fix typo
2024-03-18 21:56:39 +00:00
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 +01:00
Daniel DietzlerandGitHub a46366d336 chore(server): introduce proper job status (#7932)
* introduce proper job status

* fix condition for onDone jobs

* fix tests
2024-03-15 09:16:54 -04:00
054df27929 fix(web): url state of nested accordions (#7928)
* fix url state of nested accordions

* Use existing method to update state

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

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2024-03-13 11:15:51 -04:00
Daniel DietzlerandGitHub 60c521101a chore(server): type checks for e2e (#7800)
type checks for e2e
2024-03-09 23:18:25 +00:00
Daniel DietzlerandGitHub 11e7533a4d chore(server): user e2e: wait for user delete event (#7799)
* wait for user delete event

* fix update event names

* add test for hard deletion of user
2024-03-10 00:10:24 +01:00
Daniel DietzlerandGitHub ec8fb0be83 chore(server): remove unused storage repository variable from microservices app service (#7797)
remove unused storage repository from microservices app service
2024-03-09 16:06:31 -05:00
3e8af16270 refactor(web): search box (#7397)
* refactor search suggestion handling

* chore: open api

* revert server changes

* chore: open api

* update location filters

* location filter cleanup

* refactor people filter

* refactor camera filter

* refactor display filter

* cleanup

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2024-02-26 15:45:08 -06:00
Daniel DietzlerandGitHub bbf7a54c65 chore(web): upgrade to maplibre 4 (#7132)
upgrade to maplibre 4
2024-02-16 07:55:13 -06:00
a9e6657a37 feat(web): store accordion state in search params (#6435)
* keep admin settings accordion state in search params

* refactor: sync implementation

* fix: avoid mutating svelte's internal search params

* add query parameter to enum

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-02-10 18:25:02 -05:00
Daniel DietzlerandGitHub 3092a72ac5 chore(web): remove maplibre dependency (#6948)
remove maplibre dependency
2024-02-06 15:30:52 -06:00
d3404f927c feat(server)!: oauth encryption algorithm setting (#6818)
* feat: add oauth signing algorithm setting

* chore: open api

* chore: change default to RS256

* feat: test and clean up

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-02-02 00:27:54 -05:00
Daniel DietzlerandGitHub 0af839889b docs: use organization support link in README (#6722)
orga support link in README
2024-01-29 09:10:33 -06:00
Daniel DietzlerandGitHub e9333837bf chore(server): use fs to read package.json (#6692)
use fs readsync instead of js import for reading package json
2024-01-27 17:39:33 -05:00
Daniel DietzlerandGitHub 607fd39130 fix(server): only calculate quota usage for internal assets (#6556)
only calculate usage for internal assets
2024-01-21 15:48:29 -06:00
Daniel DietzlerandGitHub 5e2aec3892 fix(web): quota usage view (#6358) 2024-01-13 14:14:24 -06:00
a4f49d197e refactor(web): admin settings (#6177)
* refactor admin settings

* use slots to render buttons in simplified template settings

* remove more boilerplate by looping over components

* fix: onboarding

* fix: reset/reset to default

* remove lodash since it is unecessary

* chore: standardize padding and margins

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-01-12 12:44:11 -05:00
Daniel DietzlerandGitHub 8d0a619e81 fix(web): handle trailing slash in external domain (#6253) 2024-01-08 23:06:02 -06:00
Daniel DietzlerandGitHub 7cc0904273 feat(server): disable onboarding when config file is set (#6256) 2024-01-08 09:22:26 -06:00
Daniel DietzlerandGitHub 8fdd3aaed1 fix(server): init library scanning on start up (#5951) 2023-12-23 20:46:42 +00:00
Daniel DietzlerandGitHub bda9fd9dfe fix(web): settings switch state when disabled, simplify classes (#5762) 2023-12-16 17:17:38 -06:00
Daniel DietzlerandGitHub 19754d4b21 fix clip concurrency not being persisted after queue renaming (#5769) 2023-12-16 22:32:15 +00:00
Daniel DietzlerandGitHub 67f020380f disable version check settings when config file is set (#5756) 2023-12-16 20:39:17 +01:00
Daniel DietzlerandGitHub a2deba4734 fix(web): never ungroup map markers. ever. (#5730) 2023-12-16 10:49:58 -06:00
Daniel DietzlerandGitHub 6000c7f3bc update docs to use docker compose (#5446) 2023-12-02 12:48:49 +01:00
Daniel DietzlerandGitHub cffdd9c86a web and proxy no more! (#5347) 2023-11-27 22:59:40 +00:00
Daniel DietzlerandGitHub 4684094b9b fix(web): Map clustering when zoomed in (#5299)
* raise maxZoom to a value that cannot be reached

* set max zoom for the entire map
2023-11-24 15:30:57 -06:00
Daniel DietzlerandGitHub 767fe87b2e fix typo (#5124) 2023-11-18 17:49:30 +00:00
Daniel DietzlerandGitHub f2877c3a6e chore: add warning to compose file and readme (#5123)
* add warning to compose file

* add readme
2023-11-18 11:43:10 -06:00
Daniel DietzlerandGitHub d7d464570f fix maplibre latlng import (#4977) 2023-11-12 14:46:17 +01:00
Daniel DietzlerandGitHub ad4cbf20de refactor: map (#4957)
* fix mixed up lng lat for asset map

* minor cleanup

* update packages
2023-11-11 16:32:39 -06:00
a147dee4b6 feat: Maplibre (#4294)
* maplibre on web, custom styles from server

Actually use new vector tile server, custom style.json

support multiple style files, light/dark mode

cleanup, use new map everywhere

send file directly instead of loading first

better light/dark mode switching

remove leaflet

fix mapstyles dto, first draft of map settings

delete and add styles

fix delete default styles

fix tests

only allow one light and one dark style url

revert config core changes

fix server config store

fix tests

move axios fetches to repo

fix package-lock

fix tests

* open api

* add assets to docker container

* web: use mapSettings color for style

* style: add unique ids to map styles

* mobile: use style json for vector / raster

* do not use svelte-material-icons

* add click events to markers, simplify asset detail map

* improve map performance by using asset thumbnails for markers instead of original file

* Remove custom attribution

(by request)

* mobile: update map attribution

* style: map dark mode

* style: map light mode

* zoom level for state

* styling

* overflow gradient

* Limit maxZoom to 14

* mobile: listen for mapStyle changes in MapThumbnail

* mobile: update concurrency

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: bo0tzz <git@bo0tzz.me>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-11-09 10:10:56 -06:00
cd375a976e feat(server): custom library scanning interval (#4390)
* add automatic library scan config options

* add validation

* open api

* use CronJob instead of cron-validator

* fix tests

* catch potential error of the library scan initialization

* better description for input field

* move library scan job initialization to server app service

* fix tests

* add comments to all parameters of cronjob contructor

* make scan a child of a more general library object

* open api

* chore: cleanup

* move cronjob handling to job repoistory

* web: select for common cron expressions

* fix open api

* fix tests

* put scanning settings in nested accordion

* fix system config validation

* refactor, tests

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-10-31 15:19:12 -05:00
Daniel DietzlerandGitHub 0167407370 update jobs screenshot in docs (#4660) 2023-10-26 12:55:46 -05:00
Daniel DietzlerandGitHub 6b25435b4f refactor(server): make storage core singleton (#4608) 2023-10-23 11:52:21 -04:00
Daniel DietzlerandGitHub c6b4bc883b refactor(server): make user core singleton (#4607) 2023-10-23 08:38:48 -04:00
Daniel DietzlerandGitHub 50bc92aac0 refactor(server): make access core singleton (#4609) 2023-10-23 08:37:51 -04:00
Daniel DietzlerandGitHub 013da0aa3d refactor(server): streamline get config, enable the use of arrays (#4562) 2023-10-22 10:14:32 -05:00
Daniel DietzlerandGitHub 5a7ef02387 refactor(web): Allow dropdown for more general use (#4515) 2023-10-18 21:46:06 -05:00
09bf1c9175 feat(server): harden move file (#4361)
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-10-10 21:14:44 -05:00
0243570c0b fix(server): make system config core singleton (#4392)
* make system config core singleton

* refactor

* fix tests

* chore: fix tests

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-10-09 00:51:03 +00:00
Daniel DietzlerandGitHub 66ccf298ba fix library deletion actually deleting assets (#4386) 2023-10-07 16:42:08 -04:00
Daniel DietzlerandGitHub ff331ffad9 fix(server): Offset of random endpoint could be higher than user's asset count (#4342)
* fix offset of all assets with correct ownerId

* (e2e): test if user does not have all assets
2023-10-04 12:51:44 -05:00
e571880c16 feat(web, mobile): Options to show archived assets in map (#4293)
* Add include archive setting to map on web

* open api

* better naming for web isArchived variable

* add withArchived setting to mobile

* (e2e): tests for mapMarker endpoint and isArchived

* isArchived to mobile

* chore: cleanup test

* chore: optimize e2e

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-10-04 09:51:07 -04:00
Daniel DietzlerandGitHub e5f704cf3b fix asset upload permissions for shared links (#4325) 2023-10-03 12:36:51 -04:00
Daniel DietzlerandGitHub 98db9331d8 fix(server): delete face thumbnails when merging people (#4310)
* new job for person deletion, including face thumbnail deletion

* fix tests, delete files directly instead queueing jobs
2023-10-02 21:15:11 -04:00
Daniel DietzlerandGitHub 8d5e782fc4 version links to releases page (#4288) 2023-10-01 02:09:25 +07:00
Daniel DietzlerandGitHub 10d10d9021 chore(server): unit tests for metadata service (#4280)
* unit tests for metadata service

* better test descriptions
2023-09-29 17:25:45 -04:00
Daniel DietzlerandGitHub fb7249d1f6 fix(web): Context menu underflowing on people page (#4270) 2023-09-29 09:21:51 -04:00
Daniel DietzlerandGitHub 521436dd21 feat(server): Add week numbers for templating (#4263)
* add week numbers as template option

* generate api

* fix tests

* change example date to show week padding

* change example date to immich birthday
2023-09-28 13:47:31 -04:00
Daniel DietzlerandGitHub 0a22e64799 refactor(server): merge facial-recognition and person (#4237)
* move facial recognition service into person service

* merge face repository and person repository

* fix imports
2023-09-27 16:46:46 -04:00
Daniel DietzlerandGitHub cc70f5f6a0 fix(server): Thumbnail migration creating unnecessary directories (#4251)
* fix: during migration folders will be created before checking if needed

* refactor
2023-09-27 15:29:07 -04:00
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 +00:00
9bada51d56 feat(server, web)!: Move reverse geocoding settings to the UI (#4222)
* feat: reverse geocoding settings

* chore: open api

* re-init geocoder if precision has been updated

* update docs

* chore: update verbiage

* fix: re-init logic

* fix: reset to default

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-09-26 14:03:57 +07:00
3053cbd4c8 chore(server): Store generated files (thumbnails, encoded video) in subdirectories (#4112)
* save thumbnails in subdirectories

* migration job, migrate assets and face thumbnails

* fix tests

* directory depth of two instead of three

* cleanup empty dirs after migration

* clean up empty dirs after migration, migrate people without assetId

* add job card for new migration job

* fix removeEmptyDirs race condition because of missing await

* cleanup empty directories after asset deletion

* move ensurePath to storage core

* rename jobs

* remove unnecessary property of IEntityJob

* use updated person getById, minor refactoring

* ensure that directory cleanup doesn't interfere with migration

* better description for job in ui

* fix remove directories when migration is done

* cleanup empty folders at start of migration

* fix: actually persist concurrency setting

* add comment explaining regex

* chore: cleanup

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-09-25 11:07:21 -04:00
Daniel DietzlerandGitHub dd86aa9259 fix(server): require library.write to upload assets to library (#4200)
* require library.write to upload assets to library

* fix tests
2023-09-24 20:19:36 +07:00
Daniel DietzlerandGitHub 84e4c15ed5 fix(server): random returning less than count assets (#4201) 2023-09-24 20:18:31 +07:00
Daniel DietzlerandGitHub 1a633f3fca chore(server): Use access core for person permissions (#4138)
* use access core for all person methods

* minor fixes, feedback

* reorder assignments

* remove unnecessary permission requirement

* unify naming of tests

* reorder variables
2023-09-18 21:22:44 +00:00
f1c98ac9e6 fix(server): Error when loading album with deleted owner (#4086)
* soft delete albums when user gets soft deleted

* fix wrong intl openapi version

* fix tests

* ability to restore albums, automatically restore when user restored

* (e2e) tests for shared albums via link and with user

* (e2e) test deletion of users and linked albums

* (e2e) fix share album with owner test

* fix: deletedAt

* chore: fix restore order

* fix: use timezone date column

* chore: cleanup e2e tests

* (e2e) fix user delete test

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-09-18 11:56:50 -04:00
7d07aaeba3 chore(docs): Some SQL queries to copy paste for advanced debugging (#4074)
* enable sql code highlighting, first queries

* remove tabs

* something with moons...

* feat: more queries

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-09-18 14:25:15 +00:00
Daniel DietzlerandGitHub 40b802a5a9 fix(web): context menu underflowing (#4127) 2023-09-18 11:03:18 +07:00
Daniel DietzlerandGitHub 52d0c5fc73 fix timeline overflowing dropdowns, more resonable z-indices (#4071) 2023-09-12 10:52:32 -04:00
7173af60e4 chore(server): Improve test coverage! (#3889)
* tests for person service

* tests for auth service

* tests for access core

* improve tests for album service

* fix missing brackets and remove comments

* tests for asset service

* tests for face recognition

* tests for job service

* feedback

* tests for search service (broken)

* fix: disabled search test

* tests for smart-info service

* tests for storage template service

* tests for user service

* fix formatting of untouched files LOL

* attempt to fix formatting

* streamline api utils, add asset api for uploading files

* test upload of assets

* fix formatting

* move test-utils to correct folder

* test add assets to album

* use random bytes instead of test image

* (e2e) test albums with assets

* (e2e) complete tests for album endpoints

* (e2e) tests for asset endpoint

* fix: asset upload/import dto validation

* (e2e) tests for statistics asset endpoint

* fix wrong describe text

* (e2e) tests for people with faces

* (e2e) clean up person tests

* (e2e) tests for partner sharing endpoints

* (e2e) tests for link sharing

* (e2e) tests for the asset time bucket endpoint

* fix minor issues

* remove access.core.spec.ts

* chore: wording

* chore: organize test api files

* chore: fix test describe

* implement feedback

* fix race condition in album tests

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-09-11 11:56:38 -04:00
Daniel DietzlerandGitHub 77e38abe91 chore: update env docs to, indicate that a container restart is necessary (#4054) 2023-09-11 17:16:03 +07:00