Commit Graph

32 Commits

Author SHA1 Message Date
Jason Rasmussen 910661e75c chore: remove unused mocks (#19299) 2025-06-19 10:35:09 -05:00
Thomas da7a81b752 chore(server): split album update notifications into multiple jobs (#17879)
We would like to move away from the concept of finding and removing pending
jobs. The only place this is used is for album update notifications, and this
is done so that users who initially uploaded assets to an album will also
receive a notification if someone else then adds assets to the same album. This
can also be achieved with a job for each recipient. Multiple jobs also has the
advantage that it will scale better for albums with many users, it's possible
to send notifications concurrently, retries are possible without sending
duplicate notifications, and it's clear what recipient a job failed for.
2025-04-30 17:45:35 -04:00
Jason Rasmussen 1b5fc9c665 feat: notifications (#17701)
* feat: notifications

* UI works

* chore: pr feedback

* initial fetch and clear notification upon logging out

* fix: merge

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-04-28 10:36:14 -04:00
Jason Rasmussen 56a4aa9ffe refactor: email repository (#17746) 2025-04-21 12:53:37 -04:00
Daniel Dietzler 1bbfacfc09 refactor: more job query stuff (#17658) 2025-04-16 22:10:20 +02:00
Daniel Dietzler 85c2d36d99 refactor: dedicated get album thumbnail files query (#17657) 2025-04-16 21:10:27 +02:00
Jason Rasmussen eaa0e07329 refactor: asset files entity (#17527) 2025-04-10 13:26:27 -04:00
Jason Rasmussen 8aea07b750 refactor: album user entity (#17524) 2025-04-10 11:53:21 -04:00
Jason Rasmussen 206545356d refactor: metadata entity (#17492) 2025-04-09 11:45:30 -04:00
bo0tzz e4f83680d9 feat: use my.immich.app for externalDomain fallback (#17209)
* feat: use my.immich.app for externalDomain fallback

This is probably more useful than localhost.

* chore: remove port param

* fix: update expected value in tests

* fix: update expected value in e2e
2025-03-31 12:08:41 +01:00
Jason Rasmussen 1382b27349 refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
Jason Rasmussen fa5aeaf539 refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
Jason Rasmussen 735f8d661e refactor: test mocks (#16008) 2025-02-11 00:47:42 +01:00
Jason Rasmussen 03948a69e2 refactor: system metadata repository (#15954) 2025-02-07 17:26:49 -05: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
Zack Pollard d456d35510 refactor: config init event for first config load (#13930) 2024-11-05 16:30:56 +00: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
Daniel Dietzler 9d0f03808c chore: finishing unit tests for a couple of services (#13292) 2024-10-08 17:08:49 -04:00
Jason Rasmussen 4ea281f854 refactor: service dependencies (#13108)
refactor(server): simplify service dependency management
2024-10-02 10:54:35 -04:00
Jason Rasmussen 63437529e1 refactor(server): config file env (#13100) 2024-10-01 16:03:55 -04:00
Jason Rasmussen dfc2d5002b refactor(server): client events (#13062) 2024-09-30 15:50:34 -04:00
Jason Rasmussen a2d457b01d refactor(server): events (#13003)
* refactor(server): events

* chore: better type

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-09-30 10:35:11 -04:00
Mert 2bcd27e166 feat(server): generate all thumbnails for an asset in one job (#13012)
* wip

cleanup

add success logs, rename method

do thumbhash too

fixes

fix tests

handle `notify`

wip refactor

refactor

* update tests

* update sql

* pr feedback

* remove unused code

* formatting
2024-09-28 17:47:24 +00:00
Jason Rasmussen 005528ab5e fix(server): http error parsing on endpoints without a default response (#12927) 2024-09-25 12:05:03 -04:00
Jason Rasmussen ba57646f9f refactor(server): client emit events (#12606)
* refactor(server): client emit events

* chore: test coverage
2024-09-12 14:12:39 -04:00
Jason Rasmussen 2554cc96b0 feat(web): logout of all tabs (#12407) 2024-09-07 13:21:05 -04:00
Michel Heusschen 74f18a4523 fix(server): skip smtp validation if unchanged (#12111)
* fix(server): skip smtp validation if unchanged

* update comparison + convert config to plain object
2024-08-29 14:10:09 -04:00
Jason Rasmussen 7af6733665 refactor(server): move files to separate table (#11861) 2024-08-19 20:03:33 -04:00
Jason Rasmussen 433c7ab01d refactor: server emit events (#11780) 2024-08-15 20:12:41 +00:00
Jason Rasmussen b288241a5c refactor(server): enums (#11809) 2024-08-15 06:57:01 -04:00
Daniel Dietzler 7ecdcb3bc0 fix(server): static mail attachment extension (#11254)
* fix: static file extension

* chore: unit tests
2024-07-20 19:00:46 -04:00
Michel Heusschen cf77487c00 fix(server): skip smtp validation when there are no changes (#10991)
* fix(server): skip smtp validation when there are no changes

* rename test
2024-07-10 08:37:50 -04:00