Commit Graph

258 Commits

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
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
David Bourgault 9870ad9687 fix(server): adjust type of person.birthDate (#16628)
The API currently does not respect the documentation when returning a
person's birthDate. The doc/swagger says it will be of "YYYY-MM-DD"
format but the string is a full ISO8601-with-tz string. This causes
issue #16216 because the <input> tag is strict about supported value
formats.

I believe this was introduced by #15242 which switched some queries from
TypeORM to Kysely for the person repository. TypeORM does not parse
date, but our Kysely configuration does (explicitely).

This commits updates the types to represent both possibilities and ensure
the API always returns the correct format.
2025-03-09 21:32:05 -05:00
Jason Rasmussen 1e127ae3a1 refactor: migrate library spec to factories (#16711) 2025-03-08 13:44:36 -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
Mert 7d6cfd09e6 fix(server): don't expose source types in face creation api (#16381)
* don't expose source types in face creation api

* update open-api

* remove source type reference from web
2025-02-27 17:17:07 +03:00
David Bourgault 4b55888d16 fix: ensure manually tagged faces have proper source type (#16364)
immich-app/immich#16062 added manual face tagging and deletion, but did
not add a new 'SourceType'. The create faces would default to
'machine-learning' which is incorrect, and has the annoying downside
that they will be wiped when the 'Refresh Faces' job is run.

Handling of non-machine-learning faces was previously added in
immich-app/immich#6455. This PR simply extends it to the new manually
tagged faces.
2025-02-26 20:53:21 -06: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 Antwi-Appah 34b88bb47a feat(web): support searching by EXIF rating (#16208)
* Add rating to search DTO

* Add search by EXIF rating in search query builder

* Generate OpenAPI spec

* Add rating filter on web

* Add rating filter to search docs

* Format / lint

* Hide rating filter if ratings are disabled

* chore: component order in form

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-20 16:17:06 +00: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 9d85272c2b refactor: repositories (#16036) 2025-02-11 14:08:13 -05:00
Jason Rasmussen 758449e9f0 refactor: session repository (#15957) 2025-02-07 23:16:40 +00:00
Jason Rasmussen 61b8eb85b5 feat: view album shared links (#15943) 2025-02-07 16:38:20 -05:00
Jason Rasmussen c5360e78c5 feat(web): shared link filters (#15948) 2025-02-07 13:05:15 -05:00
Jason Rasmussen 23014c263b feat(api): set person color (#15937) 2025-02-07 10:06:58 -05:00
bo0tzz 1d6a4e9318 fix: call hexOrBufferToBase64 for stripMetadata thumbhash (#15917)
Fixes #15916 (I think)
2025-02-05 09:20:46 -06: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
Alex 4efacfbb91 feat: search by description (#15818)
* feat: search by description

* wip: mobile

* wip: mobile ui

* wip: mobile search logic

* feat: using f_unaccent

* icon to fit with text search
2025-02-02 15:18:13 -06:00
David Wolff 9ac95d6845 feat: add searching by tags (#15395)
* feat: add searching by tags

* fix: fix merge

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-01-31 21:37:22 +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
Christian Kündig fe1e09e51f fix(server): Allow negative rating (for rejected images) (#15699)
Allow negative rating (for rejected images)
2025-01-27 21:54:29 -06:00
Jason Rasmussen 1f19a65d1a refactor: migrate memory repository (#15532) 2025-01-22 21:39:13 +00:00
Alex c35fd6cbdb refactor: migrate album repo to kysely (#15474) 2025-01-21 11:24:48 -06:00
Jason Rasmussen 6ce1533117 fix: activity types (#15368) 2025-01-15 23:31:26 -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
Lukas 12e55f5bf0 feat(server): Merge Faces sorted by Similarity (#14635)
* Merge Faces sorted by Similarity

* Adds face sorting to the side panel face merger

* run make open-api

* Make it one query

* Only have the single order by when sorting by closest face
2024-12-16 08:47:11 -06:00
Tim Van Onckelen 292182fa7f feat: Notification Email Templates (#13940) 2024-12-04 20:26:02 +00:00
Mert 4bf1b84cc2 feat(ml): support multiple urls (#14347)
* support multiple url

* update api

* styling

unnecessary `?.`

* update docs, make new url field go first

add load balancing section

* update tests

doc formatting

wording

wording

linting

* small styling

* `url` -> `urls`

* fix tests

* update docs

* make docusaurus happy

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-12-04 20:17:47 +00: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
weathondev f5c4af73aa feat: adding photo & video storage space to server stats (#14125)
* expose detailed user storage stats + display them in the storage per user table

* chore: openapi & sql

* fix: fix test stubs

* fix: formatting errors, e2e test and server test

* fix: upper lower case typo in spec file

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-11-15 16:38:57 -06:00
Pablo Molina 333ca8827e feat: use dateTimeOriginal to calculate album date (#14119) 2024-11-13 11:17:14 -06:00
Jason Rasmussen e84ad084d5 refactor(server): cron validation (#13990) 2024-11-07 17:27:52 +00:00
Jason Rasmussen 64831e2328 refactor: remove smart info table (#13985) 2024-11-07 11:25:10 -05:00
Mert b9096f3e99 feat(server): use tonemapx for software tone-mapping (#13785) 2024-10-31 20:48:23 -04:00
Zack Pollard 7d933ec97a feat: built-in automatic database backups (#13773) 2024-10-31 11:29:42 +00:00
Jason Rasmussen 0f668fd5c6 refactor(server): env validation (#13817) 2024-10-30 05:00:41 -04:00
Jason Rasmussen e3fc4d7b0a refactor(server): auth enums (#13552) 2024-10-17 13:17:32 -04:00
jedi04 bb694aeeeb fix(server): Allow passwordless users when oauth enabled (#13517)
* fix(server): Allow passwordless users when oauth enabled

* fix(web): Use features flags for checking oauth
2024-10-17 12:24:50 -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 4d20b11f25 feat: track upgrade history (#13097) 2024-10-01 13:33:58 -04:00
Zack Pollard 3eccff4306 feat: support and feedback modal with third party support (#13056) 2024-10-01 11:15:31 +01:00
Mert 7adb35e59e fix(server): /search/random failing with certain options (#13040)
* fix relation handling, remove pagination

* update api, sql

* update mock
2024-09-30 00:29:35 -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
Mert 995f0fda47 feat(server): separate quality for thumbnail and preview images (#13006)
* allow different thumbnail and preview quality, better config structure

* update web and api

* wording

* remove empty line?
2024-09-28 06:01:04 +00:00