Commit Graph

448 Commits (perf/postgres-queue)

Author SHA1 Message Date
Jason Rasmussen 16fd19994b
refactor: use factory and kysely types for partner repository (#16812) 2025-03-11 16:29:56 -04:00
Jonathan Jogenfors 6bb0aa217c
fix(server): set unit test timezone to UTC (#16805) 2025-03-11 10:19:33 -04:00
Jason Rasmussen 1382b27349
refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
Jason Rasmussen a96bba4b26
feat: sync assets, partner assets, exif, and partner exif (#16658)
* feat: sync assets, partner assets, exif, and partner exif

Co-authored-by: Zack Pollard <zack@futo.org>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>

* refactor: remove duplicate where clause and orderBy statements in sync queries

* fix: asset deletes not filtering by ownerId

---------

Co-authored-by: Zack Pollard <zack@futo.org>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-10 12:05:39 -04:00
Jason Rasmussen e97df503f2
refactor: api key spec to use factories (#16776) 2025-03-10 12:04:35 -04:00
Jason Rasmussen 1e127ae3a1
refactor: migrate library spec to factories (#16711) 2025-03-08 13:44:36 -05:00
Jason Rasmussen fd46d43726
chore: remove unused file (#16707) 2025-03-07 22:47:27 -06:00
Jason Rasmussen 3f06a494a9
refactor: queue asset deletes via stream (#16706) 2025-03-07 22:22:57 +00:00
Jason Rasmussen ce74f765b1
refactor: memory stub (#16704) 2025-03-07 16:03:34 -05:00
Jason Rasmussen 2d106755f6
refactor: convert activity stub to a factory (#16702) 2025-03-07 15:20:04 -05:00
Jason Rasmussen f82786a297
feat: use stream for template migrations (#16700) 2025-03-07 14:30:01 -05:00
Jason Rasmussen d45fa491ce
refactor: stream asset ids for library queue jobs (#16666) 2025-03-06 20:22:17 -05:00
Jason Rasmussen 2cdbb0a37c
refactor: database repository (#16593)
* refactor: database repository

* fix error reindex check

* chore: remove WIP code

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-03-06 13:33:24 -05:00
Mert deb399ea15
refactor(server): use exiftool for file date metadata (#16453)
* use exiftool for file date metadata

* handle tag not existing in exifinfo (?)

* update medium tests

* fix typo

* set file size too

* set file size only if undefined
2025-03-06 16:47:12 +00:00
Jonathan Jogenfors 3af26ee94a
feat(server): library refresh go brrr (#14456)
* feat: brr

---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-03-06 16:00:18 +01:00
Zack Pollard 9922c8de59
fix: storage template failure after re-upload and previous fail (#16611)
fix: storage template breaks when files are re-uploaded after a move failure
2025-03-05 15:00:37 +00:00
Jason Rasmussen 2da9e3152b
refactor: download service (#16600) 2025-03-05 08:38:23 -05:00
Jason Rasmussen 63c01b78e2
refactor: test utils (#16588) 2025-03-04 16:15:41 +00:00
Jason Rasmussen 1356468c38
fix: reset/regenerate memories (#16548)
fix: reset memories
2025-03-03 23:48:05 -05:00
Jason Rasmussen d1fd0076cc
refactor: migration tag repository to kysely (#16398) 2025-03-03 18:41:19 +00:00
Zack Pollard fe702ba6d7
feat: partner sync (#16424)
feat: partner CUD sync
2025-03-03 11:05:30 +00:00
Jason Rasmussen fbd85a89e0
refactor: logger (#16393) 2025-02-27 14:59:50 -05:00
Mert a708649504
fix(server): skip stacked assets in duplicate detection (#16380)
* skip stacked assets in duplicate detection

* update sql

* handle stacking after duplicate detection runs
2025-02-27 10:16:13 -06:00
Mert 6050485ad8
feat(server): set exiftool process count (#16388)
exiftool concurrency control
2025-02-27 09:24:40 -05:00
Zack Pollard 967c69317b
feat: updateId uuidv7 column for all entities with updatedAt (#16353) 2025-02-27 12:55:22 +00:00
Jason Rasmussen 7c851893b4
feat: medium tests for user and sync service (#16304)
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-02-25 16:31:07 +00:00
Jason Rasmussen d350022dec
feat: persistent memories (#15953)
feat: memories

refactor

chore: use heart as favorite icon

fix: linting
2025-02-21 12:31:37 -06:00
Alex 007eaaceb9
feat(web): manual face tagging and deletion (#16062) 2025-02-21 09:58:25 -06:00
Zack Pollard ac36effb45
feat: sync implementation for the user entity (#16234)
* ci: print out typeorm generation changes

* feat: sync implementation for the user entity

wip

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-02-20 23:37:57 -05:00
Jason Rasmussen 2d7c333c8c
refactor(server): narrow auth types (#16066) 2025-02-12 15:23:08 -05:00
Jason Rasmussen fa5aeaf539
refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
Jason Rasmussen 5f3a42a132
refactor: repositories (#16038) 2025-02-11 15:12:31 -05:00
Jason Rasmussen 9d85272c2b
refactor: repositories (#16036) 2025-02-11 14:08:13 -05:00
Jason Rasmussen 735f8d661e
refactor: test mocks (#16008) 2025-02-11 00:47:42 +01:00
Jason Rasmussen 758449e9f0
refactor: session repository (#15957) 2025-02-07 23:16:40 +00:00
Jason Rasmussen d7d4d22fe0
refactor: process repository (#15956) 2025-02-07 18:04:04 -05:00
Jason Rasmussen 03948a69e2
refactor: system metadata repository (#15954) 2025-02-07 17:26:49 -05:00
Arno 7ec3610753
feat: Mark people as favorite (#14866)
* feat: added ability to mark people as favorite, which get sorted to the front of the people list

* feat(server): added unit test for favorite people

* feat(server): refactored for better readability

* fixed person service unit tests

* fixed open-api and sql checks

* fixed bad codegen and removed unnecessary type assertion again

* chore: clean up

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2025-02-04 08:52:17 +00:00
Jason Rasmussen a0aea021a1
fix(server): restore user (#15763) 2025-01-29 16:49:08 +00:00
Carsten Otto da580d4685
fix: show local dates for range in album summary (#15654)
* fix(web): show local dates for range in album summary

* fix(server): show local dates for range in album summary
2025-01-28 14:33:38 -06:00
Mert 92412ca2f7
fix(server): person thumbnail generation always being queued (#15734)
* fix person thumbnail generation always being queued

* fix thumbhash comparison

* fix mock
2025-01-27 16:20:18 -06:00
Mert ba01b40e7c
fix(server): `sslmode` not working (#15587)
* parse db url before passing it to the driver

* don't be lazy

* simplify

* simplify

* add tests

* update sql sync script

* update mock

* remove unused import

* remove unused imports
2025-01-24 13:01:55 -06:00
Jason Rasmussen 1869b1b41a
refactor: repositories (#15561)
* refactor: version history repository

* refactor: oauth repository

* refactor: trash repository

* refactor: telemetry repository

* refactor: metadata repository

* refactor: cron repository

* refactor: map repository

* refactor: server-info repository

* refactor: album user repository

* refactor: notification repository
2025-01-23 18:10:17 -05:00
Jason Rasmussen d3446f3092
refactor: logging repository (#15540) 2025-01-23 08:31:30 -05:00
Jason Rasmussen 66849d0d45
refactor: migrate media repository (#15536) 2025-01-22 22:11:07 +00:00
Jason Rasmussen 1f19a65d1a
refactor: migrate memory repository (#15532) 2025-01-22 21:39:13 +00:00
Jason Rasmussen 36058b9b59
chore: remove unused code (#15499) 2025-01-21 16:47:48 -05:00
Jason Rasmussen ccf6d71c3c
refactor: view repository (#15496) 2025-01-21 18:26:13 +00:00
Jason Rasmussen 9a27a99cab
refactor: config repository (#15495)
* refactor: access repository

* refactor: config repository
2025-01-21 13:13:09 -05:00
Daniel Dietzler 332a865ce6
refactor: migrate person repository to kysely (#15242)
* refactor: migrate person repository to kysely

* `asVector` begone

* linting

* fix metadata faces

* update test

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-01-21 13:12:28 -05:00
Jason Rasmussen 9a1068c867
refactor: api key repository (#15491) 2025-01-21 10:45:59 -06:00
Jason Rasmussen b0cdd8f475
refactor: access repository (#15490) 2025-01-21 10:09:24 -06:00
Jason Rasmussen 6ce1533117
fix: activity types (#15368) 2025-01-15 23:31:26 -05:00
Alex 3da750117f
refactor: migrate user repository to kysely (#15296)
* refactor: migrate user repository to kysely

* refactor: migrate user repository to kysely

* refactor: migrate user repository to kysely

* refactor: migrate user repository to kysely

* fix: test

* clean up

* fix: metadata retrieval bug

* use correct typeing for upsert metadata

* pr feedback

* pr feedback

* fix: add deletedAt check

* fix: get non deleted user by default

* remove console.log

* fix: stop kysely after command finishes

* final clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-01-13 20:30:34 -05:00
Jason Rasmussen 930f979960
feat: migration api keys to use kysely (#15206) 2025-01-10 14:02:12 -05:00
Mert 2e12c46980
refactor(server): use kysely (#12857) 2025-01-09 11:15:41 -05:00
Sam Holton 5417e34fb6
feat(server): Add publicUsers toggle for user search (#14330)
* feat(server): Add publicUsers toggle for user search

* tests

* docs: add check:typescript for web PR checklist

* return auth.user when publicUsers is false - app testing

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-11-26 15:51:01 +00:00
Lukas 9203a61709
fix(server): Some MTS videos fail to generate thumbnail (#14134)
* Stop skipping of all frames in MTS video

* Only skip flag for mts videos

* Fix lint checks

* Adds test

* Add comment for why flag is removed
2024-11-14 07:07:04 +00:00
Jason Rasmussen dc2de47204
refactor(server): cron repository (#13988) 2024-11-07 12:15:54 -05:00
Jason Rasmussen 64831e2328
refactor: remove smart info table (#13985) 2024-11-07 11:25:10 -05:00
Zack Pollard d456d35510
refactor: config init event for first config load (#13930) 2024-11-05 16:30:56 +00:00
Jason Rasmussen 5edbb93a4d
refactor(server): get worker (#13927) 2024-11-05 13:07:51 +00:00
Jason Rasmussen fed882a28a
refactor(server): immich worker (#13871)
refactor(server): immich work
2024-11-01 17:19:36 -04:00
Mert b9096f3e99
feat(server): use tonemapx for software tone-mapping (#13785) 2024-10-31 20:48:23 -04:00
Jason Rasmussen 5b2cd704d3
refactor(server): job discovery (#13838)
refactor(server): job discorvery
2024-10-31 13:42:58 -04:00
Zack Pollard 7d933ec97a
feat: built-in automatic database backups (#13773) 2024-10-31 11:29:42 +00:00
Jason Rasmussen 40fbef50cf
refactor(server): remove unused on method (#13830) 2024-10-30 14:09:52 -04:00
Jason Rasmussen 19eb3ed8b9
refactor(server): cls (#13814) 2024-10-29 20:41:47 +00:00
Zack Pollard 68a4cc25dc
refactor: better postgres connection param typing (#13800) 2024-10-29 15:11:34 +00:00
Jason Rasmussen fb995816a1
refactor(server): database config (#13730) 2024-10-24 17:12:25 -04:00
Daniel Dietzler 151ba9f1d9
refactor(server): telemetry env variables (#13705)
refactor(server)!: telemetry env variables

Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
2024-10-24 21:07:32 +00:00
Jason Rasmussen e6a666f1d3
refactor(server): telemetry (#13588)
refactor: telemetry
2024-10-21 23:52:30 +00:00
Jonathan Jogenfors b411e30796
fix(server): only allow absolute import paths (#13642)
fix: only allow absolute paths
2024-10-21 09:12:12 -05:00
Alex 39b571a95c
fix(server): encodes iPhone 16 Pro video with unknown audio codec (#13593)
* fix(server): encodes iPhone 16 Pro video with unknown audio codec

* remove white space

* pr feedback + unit test

* remove public method keyword

* test the service

* correcting unit test
2024-10-19 00:50:08 -05:00
Hayden 4a2a7b7735
feat(server): wait five minutes before sending email on new album item (#12223)
Album update jobs will now wait five minutes to send. If a new image is added while that job is pending, the old job will be cancelled, and a new one will be enqueued for a minute.

This is to prevent a flood of notifications by dragging in images directly to the album, which adds them to the album one at a time.

Album updates now include a list of users to email, which is generally everybody except the updater. If somebody else updates the album within that minute, both people will get an album update email in a minute, as they both added images and the other should be notified.
2024-10-18 14:51:34 -05:00
Jason Rasmussen 3fb5adb31c
refactor(server): rename metrics to telemetry (#13584) 2024-10-18 14:50:32 -04:00
Jason Rasmussen 12628b80bc
refactor(server): telemetry env (#13564) 2024-10-17 18:04:25 -04:00
Jason Rasmussen c8f672f494
refactor(server): telemetry ports env (#13560) 2024-10-17 21:00:22 +00:00
Jason Rasmussen 3f663106e8
refactor(server): redis config (#13538)
* refactor(server): redis config

* refactor: cache parsed env data

* chore: add database and redis tests
2024-10-17 10:50:54 -04:00
Jason Rasmussen 8ac40a933a
refactor(server): external domain fallback (#13506) 2024-10-16 18:13:12 -04:00
Jason Rasmussen 930df46f74
chore(server): remove unused code (#13367) 2024-10-11 00:44:38 -04:00
Jason Rasmussen 465f4639da
feat: align compose ports (#13185) 2024-10-09 16:01:52 -04:00
Jason Rasmussen f7ad6efc4a
feat(server): medium tests (#13289) 2024-10-09 10:00:40 -04:00
Daniel Dietzler a5e9adb593
chore: migrate oauth to repo (#13211) 2024-10-05 16:37:33 -04:00
Jason Rasmussen 6bbaba7866
refactor(server): resource paths (#13194) 2024-10-04 21:09:02 +00:00
Jason Rasmussen 5d0a4bb1a5
refactor(server): app module (#13193) 2024-10-04 16:57:34 -04:00
Jason Rasmussen 7ee0221c8e
chore: remove deprecated endpoint (#13190) 2024-10-04 15:10:13 -04:00
Mert 2c87683fd4
feat(server): refresh face detection (#12335)
* refresh faces

handle non-ml faces

* fix metadata face handling

* updated tests

* added todo comment
2024-10-03 21:58:28 -04:00
Jason Rasmussen 3ac00b0ffa
refactor(server): db env (#13167) 2024-10-03 17:48:40 -04:00
Jason Rasmussen e2bf6808ca
refactor(server): no color env (#13166) 2024-10-03 16:58:15 -04:00
Jason Rasmussen 0eb77147ef
refactor(server): build support env (#13163) 2024-10-03 16:33:43 -04:00
Jason Rasmussen 3ddb5b8733
refactor(server): license key env (#13162) 2024-10-03 19:45:37 +00:00
Jason Rasmussen db1623f43f
refactor(server): worker env (#13160) 2024-10-03 15:28:36 -04:00
Jason Rasmussen 892a35acb5
refactor(server): port env (#13158) 2024-10-03 17:29:40 +00:00
Jason Rasmussen 4ea281f854
refactor: service dependencies (#13108)
refactor(server): simplify service dependency management
2024-10-02 10:54:35 -04:00
Jason Rasmussen 6c7d51da34
refactor: more process.env references (#13106) 2024-10-02 08:37:26 -04:00
Jason Rasmussen 4d20b11f25
feat: track upgrade history (#13097) 2024-10-01 13:33:58 -04:00
Jason Rasmussen 305fc77ebe
feat(server): better mount checks (#13092) 2024-10-01 13:04:37 -04:00
Jason Rasmussen a019fb670e
refactor(server): config service (#13066)
* refactor(server): config service

* fix: function renaming

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-09-30 17:31:21 -04:00
Jason Rasmussen f63d251490
refactor(server): user core (#13063) 2024-09-30 16:04:24 -04:00