Commit Graph

654 Commits (01310c6d86c3d304699538075af38c3c42bacd3d)

Author SHA1 Message Date
github-actions 7729fe80fa chore: version v1.131.1 2025-03-31 20:36:48 +07:00
github-actions 5b63b9fc8b chore: version v1.131.0 2025-03-31 18:41:13 +07:00
Eli Gao 5c80e8734b
feat: original-sized previews for non-web-friendly images (#14446)
* feat(server): extract full-size previews from RAW images

* feat(web): load fullsize preview for RAW images when zoomed in

* refactor: tweaks for code review

* refactor: rename "converted" preview/assets to "fullsize"

* feat(web/server): fullsize preview for non-web-friendly images

* feat: tweaks for code review

* feat(server): require ASSET_DOWNLOAD premission for fullsize previews

* test: fix types and interfaces

* chore: gen open-api

* feat(server): keep only essential exif in fullsize preview

* chore: regen openapi

* test: revert unnecessary timeout

* feat: move full-size preview config to standalone entry

* feat(i18n): update en texts

* fix: don't return fullsizePath when disabled

* test: full-size previews

* test(web): full-size previews

* chore: make open-api

* feat(server): redirect to preview/original URL when fullsize thumbnail not available

* fix(server): delete fullsize preview image on thumbnail regen after fullsize preview turned off

* refactor(server): AssetRepository.deleteFiles with Kysely

* fix(server): type of MediaRepository.writeExif

* minor simplification

* minor styling changes and condensed wording

* simplify

* chore: reuild open-api

* test(server): fix media.service tests

* test(web): fix photo-viewer test

* fix(server):  use fullsize image when requested

* fix file path extension

* formatting

* use fullsize when zooming back out or when "display original photos" is enabled

* simplify condition

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-03-31 13:24:28 +07:00
Jonathan Jogenfors faabda4446
fix(server): multiple exclusion patterns (#17221) 2025-03-31 09:16:30 +07:00
Daniel Dietzler 238c151ac3
chore: finish migrating eslint config files; bump unicorn (#17200) 2025-03-31 12:18:25 +07: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 +07:00
renovate[bot] e163808348
fix(deps): update typescript-projects (#17080)
* fix(deps): update typescript-projects

* fix: otel

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-03-27 22:33:58 +07:00
github-actions 43f8f473e9 chore: version v1.130.3 2025-03-27 15:54:30 +07:00
github-actions 2f8725c66f chore: version v1.130.2 2025-03-26 15:34:54 +07:00
Jonathan Jogenfors 9fbd6369b9
fix(server): check asset against multiple import paths (#17128)
* fix sql logic

* refactor: map import paths into not or sql statements

---------

Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-26 10:10:53 +07:00
github-actions 4cf7c55680 chore: version v1.130.1 2025-03-25 20:25:01 +07:00
renovate[bot] aa4d6405f4
chore(deps): update base-image to v202503251114 (major) (#17085)
* chore(deps): update base-image to v202503251114

* fix: geocoding changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-03-25 20:15:02 +07:00
github-actions 42b1efb679 chore: version v1.130.0 2025-03-25 13:48:45 +07:00
Alex f5e6042eb1
fix: extend e2e test cookie expiration date (#17007)
fix: extend e2e test cookie
2025-03-20 16:17:55 +07:00
renovate[bot] db8155f738
fix(deps): update typescript-projects (#16945)
* fix(deps): update typescript-projects

* fix: very weird variables

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-03-18 20:29:21 +07:00
Min Idzelis e96ffd43e7
feat: timeline performance (#16446)
* Squash - feature complete

* remove need to init assetstore

* More optimizations. No need to init. Fix tests

* lint

* add missing selector for e2e

* e2e selectors again

* Update: fully reactive store, some transitions, bugfixes

* merge fallout

* Test fallout

* safari quirk

* security

* lint

* lint

* Bug fixes

* lint/format

* accidental commit

* lock

* null check, more throttle

* revert long duration

* Fix intersection bounds

* Fix bugs in intersection calculation

* lint, tweak scrubber ui a tiny bit

* bugfix - deselecting asset doesnt work

* fix not loading bucket, scroll off-by-1 error, jsdoc, naming
2025-03-18 09:14:46 +07:00
renovate[bot] 6c2985df26
chore(deps): update dependency @types/node to ^22.13.10 (#16944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 12:15:07 +07:00
renovate[bot] a1a61f19eb
chore(deps): update typescript-projects (#16795)
* chore(deps): update typescript-projects

* fix: aria

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-03-12 23:20:26 +07:00
renovate[bot] 8cd5aec4c5
chore(deps): update dependency @types/node to ^22.13.9 (#16792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 22:43:16 +07: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 +07: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 +07:00
github-actions 31dd15ce8a chore: version v1.129.0 2025-03-05 19:47:50 +07:00
Jonathan Jogenfors 22d348beca
feat(server): e2e for missing jobs (#15910)
* feat: test face detection

* Add duplicate and smart search fixes and tests

* do e2e instead

* Remove ML e2e jobs
2025-03-04 20:44:31 +07:00
renovate[bot] 0dcfc43461
chore(deps): update node (#16538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 14:31:34 +07:00
renovate[bot] 8b24c31d20
fix(deps): update typescript-projects (#16540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 09:38:24 +07:00
renovate[bot] eb74fafb00
chore(deps): update dependency globals to v16 (#16534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 14:11:44 +07:00
renovate[bot] 9b842d4cca
chore(deps): update tensorchord/pgvecto-rs:pg14-v0.2.0 docker digest to 739cdd6 (#16530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 12:13:38 +07:00
github-actions dc143046e3 chore: version v1.128.0 2025-02-28 18:54:08 +07:00
Jonathan Jogenfors bfcde05b1c
chore(server): trash e2e cleanup (#16423) 2025-02-28 12:45:30 +07:00
Jonathan Jogenfors d20e2e268a
fix(server): don't reimport files more than once (#16375)
* fix(server) don't reimport files more than once

* fix: test

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-27 16:45:16 +07:00
github-actions 5f7f88ff17 chore: version v1.127.0 2025-02-26 15:18:50 +07:00
Jason Rasmussen e4b6efc1f5
fix: cross site scripting issue on /share pages (#16255) 2025-02-22 11:32:53 +07:00
renovate[bot] 376282e538
chore(deps): update dependency @types/node to ^22.13.4 (#16206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-19 14:54:12 +07:00
renovate[bot] a31bc94460
fix(deps): update typescript-projects (#16203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 21:35:50 +07:00
renovate[bot] 516709ffe1
chore(deps): update dependency @types/node to ^22.13.2 (#16200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 15:10:44 +07:00
renovate[bot] 425cf62482
fix(deps): update typescript-projects (#16178)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-02-18 20:40:09 +07:00
Jonathan Jogenfors 0cae20033c
fix(server): more e2e library flakiness cleanup (#16176) 2025-02-17 19:04:38 +07:00
Jonathan Jogenfors bfdd6eac01
fix(server): flaky library e2e tests (#16174) 2025-02-17 18:26:44 +07:00
renovate[bot] b3fbd0809b
chore(deps): update redis:6.2-alpine docker digest to 148bb54 (#16140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-17 14:23:03 +07:00
renovate[bot] c524fcf084
chore(deps): update node.js to v22.14.0 (#16132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 21:29:33 +07:00
renovate[bot] 194c567a45
chore(deps): update redis:6.2-alpine docker digest to 785233c (#16114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 12:10:44 +07:00
Jonathan Jogenfors 5407a28533
feat(server): Nullable asset dates (#15669)
* nullable dates

* wip

* don't search for null dates

* Add placeholder type

* cleanup
2025-02-13 15:30:12 +07:00
renovate[bot] d2575d8f00
fix(deps): update typescript-projects (#16023)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-02-11 18:50:18 +07:00
renovate[bot] 2271984dbd
chore(deps): update dependency @types/node to ^22.13.1 (#16013)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-11 00:19:02 +07:00
github-actions 8794c84e9d chore: version v1.126.1 2025-02-10 17:54:02 +07:00
github-actions feba590de7 chore: version v1.126.0 2025-02-10 16:10:06 +07:00
Jason Rasmussen 61b8eb85b5
feat: view album shared links (#15943) 2025-02-07 16:38:20 +07:00
Jason Rasmussen 23014c263b
feat(api): set person color (#15937) 2025-02-07 10:06:58 +07:00
Lukas 0bb1219b5f
fix(server): for individual shares not showing thumbnails (#15895)
* Fix for individual shares not showing thumbnails

* synced sql

* chore: add e2e test

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2025-02-04 09:07:50 +07:00
Jonathan Jogenfors b730aa60ed
fix(server): queue missing metadata (#15864)
fix: queue missing metadata
2025-02-04 04:00:39 +07: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 +07:00
github-actions 4fd8c1b3c1 chore: version v1.125.7 2025-01-29 17:41:38 +07:00
Jason Rasmussen a0aea021a1
fix(server): restore user (#15763) 2025-01-29 16:49:08 +07: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 +07:00
github-actions f44669447f chore: version v1.125.6 2025-01-28 02:58:27 +07:00
github-actions 64d926581f chore: version v1.125.5 2025-01-27 20:04:50 +07:00
github-actions e5794e6cfc chore: version v1.125.4 2025-01-27 18:44:12 +07:00
Alex f6cbc9db06
fix(server): cannot render album page when all assets of an album are in trash (#15690)
* fix(server): cannot render album page when all assets of an album are in trash

* inner join

* add e2e test

* check empty albums too

* render add to album button on empty album

* lint

* count 0 if undefined

* fix album card test

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-01-26 21:18:34 +07:00
github-actions 72a55c13b6 chore: version v1.125.3 2025-01-26 14:14:48 +07:00
Mert 05a446c259
fix(server): avoid duplicate rows in album queries (#15670)
* avoid duplicate rows

* left join, handle null vs. undefined

* update sql
2025-01-25 22:37:19 +07:00
Carsten Otto 4f725b95e1
fix(server): do not count deleted assets for album summary (#15668)
fixes #15645
fixes #15646
2025-01-25 16:45:13 +07:00
github-actions 9871a04d54 chore: version v1.125.2 2025-01-24 19:09:06 +07:00
Mert ba105d9f19
fix(server): `searchRandom` response (#15580)
* fix searchRandom

* add e2e

* set outer limit
2025-01-24 00:41:54 +07:00
github-actions 50a2f6193f chore: version v1.125.1 2025-01-23 16:52:23 +07:00
github-actions 49a16045bd chore: version v1.125.0 2025-01-23 16:23:47 +07:00
Alex afc6e91c66
fix(web): No EXIF info on stack navigation (#15533)
* fix(web): No EXIF info on stack navigation

* fix(web): No EXIF info on stack navigation

* add exif info to get stack query

* e2e test
2025-01-23 15:22:27 +07:00
renovate[bot] fa3b5a4c8f
chore(deps): update node (#15554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-23 08:32:14 +07:00
renovate[bot] d1d26c60d6
fix(deps): update typescript-projects (#14892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-01-22 22:15:38 +07:00
Jason Rasmussen 1f19a65d1a
refactor: migrate memory repository (#15532) 2025-01-22 21:39:13 +07:00
renovate[bot] c7a1f2944f
chore(deps): update vitest monorepo to v3 (major) (#15528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 20:28:41 +07:00
Jason Rasmussen 8d6cbb51e2
fix: get asset by id for stacks (#15522) 2025-01-22 18:13:09 +07:00
renovate[bot] c8abe9a2fd
chore(deps): update node.js to v22.13.1 (#15503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 16:16:46 +07: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 +07:00
Alex c35fd6cbdb
refactor: migrate album repo to kysely (#15474) 2025-01-21 11:24:48 +07:00
renovate[bot] 58d5cc1e4b
chore(deps): update dependency @types/node to ^22.10.7 (#15479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 11:54:47 +07:00
renovate[bot] 8eac82c5a3
chore(deps): update dependency eslint-config-prettier to v10 (#15428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-18 14:04:46 +07:00
Daniel Dietzler 3d13da7f11
refactor: migrate shared-link repository to kysely (#15289)
* refactor: migrate shared-link repository to kysely

* fix duplicate individual shared link return in getAll when there are more than 1 asset in the shared link

* using correct order condition

* using eb.table

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-01-18 13:25:15 +07:00
Jason Rasmussen 2d2966caa0
chore: use port 2286 for the auth server (#15369) 2025-01-15 15:03:20 +07:00
Alex 79726acc72
refactor: migrate sessions repository to kysely (#15268)
* wip: search

* wip: getByToken

* wip: getByToken

* wip: getByUserId

* wip: create/update/delete

* remove unused code

* clean up and pr feedback

* fix: test

* fix: e2e test

* pr feedback
2025-01-13 20:45:52 +07:00
imakida a39fbcb8ac
feat: #15237 toggle password visibility on shared albums (#15238)
* feat: toggle password visibility on shared albums

* feat: toggle password visibility on shared albums

* use password-field component

* remove div wrapping PasswordField

---------

Co-authored-by: Ian <ian@zetabyte.dev>
2025-01-11 22:08:08 +07:00
renovate[bot] f3dbbfa16d
chore(deps): update redis:6.2-alpine docker digest to 905c4ee (#15245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-11 22:06:30 +07:00
renovate[bot] 8b4390c247
chore(deps): update dependency @types/node to ^22.10.5 (#15246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-11 22:06:18 +07:00
renovate[bot] 2301affd7e
chore(deps): update node.js to v22.13.0 (#15249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-11 22:04:22 +07:00
Mert 2e12c46980
refactor(server): use kysely (#12857) 2025-01-09 11:15:41 +07:00
github-actions 8d836ae04f chore: version v1.124.2 2025-01-08 23:16:35 +07:00
Jonathan Jogenfors bab04378dc
fix(server): generate thumbnails for external assets (#15183)
fix: thumbnail generation of external assets
2025-01-08 17:12:39 +07:00
github-actions cc10fc15c3 chore: version v1.124.1 2025-01-08 16:16:15 +07:00
github-actions 840d99ed25 chore: version v1.124.0 2025-01-07 19:00:42 +07:00
Jonathan Jogenfors 23f3e737fd
fix(server): don't delete offline files from disk when trash empties (#14777)
fix: don't delete offline files from disk when emptying trash

Move logic to asset deletion check
2025-01-07 18:25:43 +07:00
Jonathan Jogenfors c3be74c450
fix(server): support import paths with special chars (#14856) 2024-12-22 16:22:16 +07:00
Jonathan Jogenfors 4bc2aa5451
feat(server): Handle sidecars in external libraries (#14800)
* handle sidecars in external libraries

* don't add separate source
2024-12-21 20:50:07 +07:00
renovate[bot] 207bb527bb
chore(deps): update dependency exiftool-vendored to v28.8.0 (#13924)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-18 18:14:30 +07:00
Daniel Dietzler 6a855f6331
chore: update deps (#14755) 2024-12-18 14:19:48 +07:00
renovate[bot] 0d060ebb32
chore(deps): update node (#14736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-17 15:21:01 +07:00
github-actions fd34a914a6 chore: version v1.123.0 2024-12-17 16:00:50 +07:00
renovate[bot] 59d6af54c7
chore(deps): update node.js to v22.12.0 (#14650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 10:12:44 +07:00
github-actions c52f1bae81 chore: version v1.122.3 2024-12-11 21:15:03 +07:00
Mert 25ca3b1124
refactor(server): use `includeNull` in query for search suggestions (#14626)
* use `includeNull`

* push down `includeNull` into query, inner joins

* remove filter

* update sql

* fix tests

* maybe fix e2e

* more e2e tests

* handle no exif row

* whoops

* update sql
2024-12-10 16:22:37 +07:00
github-actions 03eb5903fe chore: version v1.122.2 2024-12-08 23:41:22 +07:00
github-actions 97c1eb7289 chore: version v1.122.1 2024-12-06 13:49:14 +07:00
github-actions 37220a342a chore: version v1.122.0 2024-12-05 16:29:46 +07: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 +07:00
renovate[bot] 45ba0cc3ac
fix(deps): update typescript-projects (#13939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2024-11-21 14:07:06 +07:00
Jason Rasmussen 9e1e9b1fbf
refactor: rename searchMetadata to searchAssets (#14151) 2024-11-20 14:47:25 +07:00
github-actions 98c9ae1f7d chore: version v1.121.0 2024-11-20 16:15:53 +07:00
Alex f8bbc6eabe
fix: mobile album sync always triggered when opening the app (#14233)
* fix: mobile album sync always triggered when opening the app

* send lastModifiedAssetTimestamp when get individual album
2024-11-19 21:36:55 +07:00
Michel Heusschen 32f908baf1
fix: show tags when viewing stacked assets (#14199)
fix: refresh tags when viewing stacked assets
2024-11-18 07:50:04 +07: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 +07:00
Lena Tauchner 6729782c3f
fix(cli): Concurrency not fully using queue potential (#11828) 2024-11-15 13:09:56 +07:00
renovate[bot] 4ca27a3e7f
chore(deps): update redis:6.2-alpine docker digest to eaba718 (#14114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 07:12:30 +07:00
renovate[bot] 93346496fc
chore(deps): update redis:6.2-alpine docker digest to 77c6e37 (#14098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 01:15:30 +07:00
github-actions 31a1e64b58 chore: version v1.120.2 2024-11-12 17:30:29 +07:00
renovate[bot] bda97c4e0e
chore(deps): update node (#14090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 07:32:52 +07:00
Jason Rasmussen 64831e2328
refactor: remove smart info table (#13985) 2024-11-07 11:25:10 +07:00
github-actions 599b489f81 chore: version v1.120.1 2024-11-07 15:31:19 +07:00
github-actions f1b8a9374f chore: version v1.120.0 2024-11-06 16:17:29 +07:00
renovate[bot] 7134d26a19
chore(deps): update base-image to v20241105 (major) (#13826) 2024-11-05 21:24:36 +07:00
renovate[bot] 42ee7f1290
chore(deps): update typescript-projects (#13922)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-11-05 20:04:39 +07:00
renovate[bot] 5d7a04367c
chore(deps): update dependency @types/node to ^22.8.6 (#13937)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 14:28:13 +07:00
renovate[bot] 1d55b5bfc0
chore(deps): update dependency @types/node to ^22.8.5 (#13923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 06:48:01 +07:00
renovate[bot] 60afd7b400
chore(deps): update node (#13918)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 19:52:23 +07:00
renovate[bot] d34d92dca3
fix(deps): update dependency exiftool-vendored to v28.7.0 (#13790)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 12:49:21 +07:00
Carsten Otto cdabd08139
fix(server): wrong image dimensions for RAW files (RAF, CR2) (also fixes face preview) (#13377) 2024-11-01 10:34:34 +07:00
renovate[bot] a28b92b3cc
chore(deps): update dependency node to v22 (#13855)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-31 14:21:45 +07:00
renovate[bot] 066682f48d
chore(deps): update dependency @types/node to ^22.8.1 (#13854)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-31 14:20:26 +07:00
renovate[bot] 9d75c5b999
chore(deps): update typescript-projects (#13789)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 15:03:32 +07:00
renovate[bot] 92ad03615c
chore(deps): update node to v22 (major) (#13792)
* chore(deps): update node to v22

* fix: deprecated constructor

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-10-30 16:05:02 +07:00
Jason Rasmussen 2efba6326d
chore(server): telemetry env clean up (#13813) 2024-10-29 19:20:32 +07:00
github-actions 00dd9419a5 chore: version v1.119.1 2024-10-29 13:33:36 +07:00
renovate[bot] 490fcc5591
chore(deps): update dependency @types/node to ^20.17.0 (#13787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 21:55:44 +07:00
github-actions 8449e78c8f chore: version v1.119.0 2024-10-28 14:41:08 +07:00
renovate[bot] c124cf9ace
chore(deps): update typescript-projects (#13676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 19:28:58 +07:00
renovate[bot] 0cb9c0d20d
chore(deps): update dependency @types/node to ^20.16.12 (#13660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 11:58:43 +07:00
renovate[bot] c6227b49ff
fix(deps): update typescript-projects (#13662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 11:58:27 +07:00
Jonathan Jogenfors b411e30796
fix(server): only allow absolute import paths (#13642)
fix: only allow absolute paths
2024-10-21 09:12:12 +07:00
github-actions e8015dc7d7 chore: version v1.118.2 2024-10-16 18:44:39 +07:00
renovate[bot] 263d2ba161
fix(deps): update dependency exiftool-vendored to v28.6.0 (#13454)
* fix(deps): update dependency exiftool-vendored to v28.6.0

* fix: incorrect day light savings date time

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-10-16 05:45:09 +07:00
renovate[bot] 7d3ed6bd55
chore(deps): update typescript-projects (#13453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-16 04:57:57 +07:00
github-actions edd7dfb5d8 chore: version v1.118.1 2024-10-15 20:44:10 +07:00
Jason Rasmussen 4c55597478
fix(server): mobile oauth login (#13474) 2024-10-15 16:41:19 +07:00
renovate[bot] f2b799cd6f
chore(deps): update node (#13449) 2024-10-15 14:39:55 +07:00
github-actions 8f69d9d0ec chore: version v1.118.0 2024-10-15 10:48:53 +07:00
Daniel Dietzler 3b7bf76db9
chore: library unit tests (#13357) 2024-10-11 14:40:29 +07:00
Jonathan Jogenfors b59abdff3d
chore(e2e): dont check for immich folder (#13298)
chore: dont check immich folder
2024-10-10 15:42:59 +07:00
Jason Rasmussen 465f4639da
feat: align compose ports (#13185) 2024-10-09 16:01:52 +07:00
Jonathan Jogenfors b7dcc97712
fix(cli): allow special characters in paths (#13282)
* fix(cli): commas in import paths

* adding more test cases
2024-10-09 18:15:50 +07:00
renovate[bot] f5e0cdedbc
chore(deps): update redis:6.2-alpine docker digest to 2ba50e1 (#13266)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 15:27:47 +07:00
renovate[bot] 60e0698110
chore(deps): update typescript-projects (#13272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-07 22:44:28 +07:00
renovate[bot] 48c6c1ad2f
chore(deps): update dependency node to v20.18.0 (#13271)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-07 22:42:33 +07:00
renovate[bot] 680bf34042
chore(deps): update dependency @types/node to ^20.16.10 (#13269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 02:05:31 +07:00
Jonathan Jogenfors 5b00bc499f
fix(server): Allow commas and braces in import paths (#13259)
fix commas and braces in paths
2024-10-07 15:43:21 +07:00
Jason Rasmussen 08db817d14
chore: remove deprecated controller (#13189) 2024-10-04 15:10:03 +07:00
Carsten Otto bb3b4c8086
fix(server): update exiftool-vendored to v28.3.1 (#13176)
fixes #13141
2024-10-04 09:30:49 +07:00
github-actions 6b8462402b chore: version v1.117.0 2024-10-03 01:59:28 +07:00
Carsten Otto 67aa124de9
feat(server): parse offset from "Image_UTC_Data" (Samsung) (#13080)
* fix(deps): update dependency exiftool-vendored to v28.3.0

* feat(server): parse offset from "Image_UTC_Data" (Samsung)

A Samsung phone might provide the local time (e.g. 09:00) without any timezone or
offset information. If the file also includes the non-standard trailer tag
"TimeStamp" in "Image_UTC_Data", we can use the unix timestamp contained within to
deduce the offset.

As an example, if the local date/time is "2024-09-15T09:00" and the unix timestamp is
1726408800 (which is 2024-09-15T16:00 UTC), we know that the offset is -07:00.

The actual computation/fix is done in exiftool-vendored.

Also see
0f63a78090/lib/Image/ExifTool/Samsung.pm (L996-L1001)
https://github.com/photostructure/exiftool-vendored.js/issues/209

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 12:08:06 +07:00
renovate[bot] 67ddba0b13
chore(deps): update typescript-projects (#13073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 11:16:34 +07:00
renovate[bot] 14e6d23eeb
chore(deps): update dependency @types/node to ^20.16.9 (#13069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 01:26:39 +07: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 +07:00
github-actions 8bbcd5c31e chore: version v1.116.2 2024-09-27 18:17:49 +07:00
github-actions 7c15e11efc chore: version v1.116.1 2024-09-27 15:32:16 +07:00
github-actions 60679a6369 chore: version v1.116.0 2024-09-26 14:51:27 +07:00
Jonathan Jogenfors b2f2be3485
refactor(server): library syncing (#12220)
* refactor: library scanning

fix tests

remove offline files step

cleanup library service

improve tests

cleanup tests

add db migration

fix e2e

cleanup openapi

fix tests

fix tests

update docs

update docs

update mobile code

fix formatting

don't remove assets from library with invalid import path

use trash for offline files

add migration

simplify scan endpoint

cleanup library panel

fix library tests

e2e lint

fix e2e

trash e2e

fix lint

add asset trash tests

add more tests

ensure thumbs are generated

cleanup svelte

cleanup queue names

fix tests

fix lint

add warning due to trash

fix trash tests

fix lint

fix tests

Admin message for offline asset

fix comments

Update web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

add permission to library scan endpoint

revert asset interface sort

add trash reason to shared link stub

improve path view in offline

update docs

improve trash performance

fix comments

remove stray comment

* refactor: add back isOffline and remove trashReason from asset, change sync job flow

* chore(server): drop coverage to 80% for functions

* chore: rebase and generated files

---------

Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2024-09-25 18:26:19 +07:00
renovate[bot] 56f680ce04
chore(deps): update typescript-projects (#12882)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 22:05:04 +07:00
Zack Pollard bcd416477b
feat: serve map tile styles from tiles.immich.cloud (#12858)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-09-23 20:30:23 +07:00
Jason Rasmussen 0cce7ebf25
fix: web e2e (#12869) 2024-09-23 15:16:25 +07:00
Jason Rasmussen 6740c67ed8
fix: empty and restore over 1,000 items (#12751) 2024-09-18 09:57:52 +07:00
renovate[bot] ab5dd4d66a
chore(deps): update typescript-projects (#12536)
* chore(deps): update typescript-projects

* chore: import

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-17 22:31:12 +07:00
martin c468da589a
fix: update the profile picture in the navigation-bar (#12723)
* fix: update the profile picture in the navigation-bar

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-17 01:48:15 +07:00
github-actions 230eff4e1a chore: version v1.115.0 2024-09-12 15:37:59 +07:00
renovate[bot] 95987c9777
chore(deps): update node (#12528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 21:30:05 +07:00
Jason Rasmussen 01c7adc24d
feat(web): unlink live photos (#12574)
feat(web): unlink live photo
2024-09-11 16:26:29 +07:00
Jonathan Jogenfors 233372303b
feat(server): default exclusion patterns (#12566)
* Add default exclusion patterns

* simplify

* fix tests
2024-09-11 09:40:52 +07:00
Jason Rasmussen 27050af57b
feat(web): manually link live photos (#12514)
feat(web,server): manually link live photos
2024-09-10 08:51:11 +07:00
renovate[bot] c6cff180b2
chore(deps): update redis:6.2-alpine docker digest to 2d14632 (#12470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-08 20:23:51 +07:00
renovate[bot] 2bf6a46927
chore(deps): update redis:6.2-alpine docker digest to fd1b540 (#12448)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-07 14:52:04 +07:00
renovate[bot] 0dabb890cf
chore(deps): update redis:6.2-alpine docker digest to d72905e (#12423)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-07 13:20:00 +07:00
github-actions 068904f746 chore: version v1.114.0 2024-09-06 13:49:08 +07:00
Michel Heusschen 529b7fe748
fix(web): show focus outline for asset thumbnails again (#12382)
* fix(web): show focus outline for asset thumbnails again

* fix e2e test
2024-09-06 08:18:45 +07:00
Michel Heusschen 9fc30d6bf6
fix(web): auth on navigation from shared link to timeline (#12385) 2024-09-06 08:15:48 +07:00
BugFest 77e6a6d78b
feat(server): Import face regions from metadata (#6455)
* feat: faces-from-metadata - Import face regions from metadata

Implements immich-app#1692.
- OpenAPI spec changes to accomodate metadata face import configs. New settings to enable the feature.
- Updates admin UI compoments
- ML faces detection/recognition & Exif/Metadata faces compatibility

Signed-off-by: BugFest <bugfest.dev@pm.me>

* chore(web): remove unused file confirm-enable-import-faces

* chore(web): format metadata-settings

* fix(server): faces-from-metadata tests and format

* fix(server): code refinements, nullable face asset sourceType

* fix(server): Add RegionInfo to ImmichTags interface

* fix(server): deleteAllFaces sourceType param can be undefined

* fix(server): exiftool-vendored 27.0.0 moves readArgs into ExifToolOptions

* fix(server): rename isImportFacesFromMetadataEnabled to isFaceImportEnabled

* fix(server): simplify sourceType conditional

* fix(server): small fixes

* fix(server): handling sourceType

* fix(server): sourceType enum

* fix(server): refactor metadata applyTaggedFaces

* fix(server): create/update signature changes

* fix(server): reduce computational cost of Person.getManyByName

* fix(server): use faceList instead of faceSet

* fix(server): Skip regions without Name defined

* fix(mobile): Update open-api (face assets feature changes)

* fix(server): Face-Person reconciliation with map/index

* fix(server): tags.RegionInfo.AppliedToDimensions must be defined to process face-region

* fix(server): fix shared-link.service.ts format

* fix(mobile): Update open-api after branch update

* simplify

* fix(server): minor fixes

* fix(server): person create/update methods type enforcement

* fix(server): style fixes

* fix(server): remove unused metadata code

* fix(server): metadata faces unit tests

* fix(server): top level config metadata category

* fix(server): rename upsertFaces to replaceFaces

* fix(server): remove sourceType when unnecessary

* fix(server): sourceType as ENUM

* fix(server): format fixes

* fix(server): fix tests after sourceType ENUM change

* fix(server): remove unnecessary JobItem cast

* fix(server): fix asset enum imports

* fix(open-api): add metadata config

* fix(mobile): update open-api after metadata open-api spec changes

* fix(web): update web/api metadata config

* fix(server): remove duplicated sourceType def

* fix(server): update generated sql queries

* fix(e2e): tests for metadata face import feature

* fix(web): Fix check:typescript

* fix(e2e): update subproject ref

* fix(server): revert format changes to pass format checks after ci

* fix(mobile): update open-api

* fix(server,movile,open-api,mobile): sourceType as DB data type

* fix(e2e): upload face asset after enabling metadata face import

* fix(web): simplify metadata admin settings and i18n keys

* Update person.repository.ts

Co-authored-by: Jason Rasmussen <jason@rasm.me>

* fix(server): asset_faces.sourceType column not nullable

* fix(server): simplified syntax

* fix(e2e): use SDK for everything except the endpoint being tested

* fix(e2e): fix test format

* chore: clean up

* chore: clean up

* chore: update e2e/test-assets

---------

Signed-off-by: BugFest <bugfest.dev@pm.me>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-04 18:23:58 +07:00
Alex 6f37ab6a9e
fix(server): empty trash for archived assets (#12281)
* fix(server): empty trash for archived assets

* use withArchived

* add e2e test
2024-09-03 16:04:35 +07:00
github-actions 48da4c9317 chore: version v1.113.1 2024-09-03 14:12:24 +07:00
renovate[bot] 03ceca8552
chore(deps): update typescript-projects (#12251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 08:59:17 +07:00
renovate[bot] 53609d45fe
chore(deps): update dependency @types/node to ^20.16.2 (#12250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 08:53:35 +07:00
Jonathan Jogenfors 39141d3f1c
fix(server): remove offline assets from trash (#12199)
* use port not taken by immich-dev for e2e

* remove offline files from trash
2024-09-02 01:06:35 +07:00
Michel Heusschen 67468ea367
fix(web): avoid deleting empty album unexpectedly (#12175) 2024-08-31 12:24:38 +07:00
Jason Rasmussen 5e6ac87eaf
chore: object shorthand linting rule (#12152)
chore: object shorthand
2024-08-30 14:38:53 +07:00
github-actions cc88cbb456 chore: version v1.113.0 2024-08-30 17:16:21 +07:00
Jason Rasmussen 9b1a985d29
fix(server): tag upsert (#12141) 2024-08-30 12:44:24 +07:00
Jonathan Jogenfors aa04ded311
chore(e2e): change e2e ports to some not used by immich-dev (#12132)
use port not taken by immich-dev for e2e
2024-08-30 08:04:02 +07:00
Jason Rasmussen d08a20bd57
feat: tags (#11980)
* feat: tags

* fix: folder tree icons

* navigate to tag from detail panel

* delete tag

* Tag position and add tag button

* Tag asset in detail panel

* refactor form

* feat: navigate to tag page from clicking on a tag

* feat: delete tags from the tag page

* refactor: moving tag section in detail panel and add + tag button

* feat: tag asset action in detail panel

* refactor add tag form

* fdisable add tag button when there is no selection

* feat: tag bulk endpoint

* feat: tag colors

* chore: clean up

* chore: unit tests

* feat: write tags to sidecar

* Remove tag and auto focus on tag creation form opened

* chore: regenerate migration

* chore: linting

* add color picker to tag edit form

* fix: force render tags timeline on navigating back from asset viewer

* feat: read tags from keywords

* chore: clean up

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-29 12:14:03 +07:00
Jonathan Jogenfors bab5ad7ebd
fix(server): ensure new exclusion patterns work (#12102)
* add test for bug

* find excluded paths when checking offline

* fix filename

* fix unit tests

* bump picomatch

* fix e2e paths

* improve e2e

* add unit tests

* cleanup e2e

* set correct asset count

* fix e2e test

* fix lint
2024-08-28 19:51:25 +07:00
Jonathan Jogenfors 363c558db7
fix(server): don't crash when refreshing large libraries (#7934)
* add job to check for offline files

* fix lint

* only check for offline when using checkForOffline

* improve tests

* remove old test

* wip

* remove trie

* refactor batches

* also check offline status

* fix spelling

* don't do offline scan

* rename scan to check

* fix job statuses

* fix lint

* cleanup

* add test

* open-api

* fix test

* fix spinner

* reset text

* don't double batch

* fix comments from mert

* remove tries

* fix tests

* fix e2e

* fix test

* fix test

* add tests

* fix lint

* fix e2e

* interweave scans

* fix errors

* fix messages

* fix test

* add mock

* fix sql

* fix e2e

* use library batch size

* save -> update

* add file extensions

* update specs

* test for import paths

* check import paths when testing offline

* fix lint

* normalize import path

* remove console logs

* decrease batch size to 1000

* add test for import path

* add test for already-online assets

* fix merge

* fix lint

* add library job back

* add offline job to correct queue

* library spec compiles now

* move one test to new e2e

* fix comments

* fix comments

* fix lint

* refactor path validation

* fix loop bug

* remove logging

* expect responses

* fix asset mock

* take the straightforward approach

* use generator correctly

* fix vitest on file edit

* bump vitest to 1.6.0

* test for offline check

* add e2e tests for offlining assets depending on import path

* cleanup e2e test after finish

* cleanup library service

* paginate the walk generator

* fix tests

* fix typo

* refactoring handleOfflineCheck

* better testing of handleOfflineCheck

* fix lint

* handle large library deletions

* dont check if library is deleted

* fix mock

* add a 100k page size to library

* fix loading animation

* better log messages

* Better logging for offline asset removal

* fix sql and tests

* fix number format

* Remove submodule

* fix format

* chore: cleanup

* chore: fix tests

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-28 13:05:48 +07:00
renovate[bot] cc4e5298ff
fix(deps): update typescript-projects (#11927)
* fix(deps): update typescript-projects

* chore: clean up

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-28 12:00:10 +07:00
renovate[bot] 365facfc51
chore(deps): update node (#12063)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 08:52:49 +07:00
Ben 72ab664936
feat(web): announce notifications to screen readers (#12071) 2024-08-27 17:13:17 +07:00
renovate[bot] 4f02412493
chore(deps): update dependency node to v20.17.0 (#12040)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-25 22:50:51 +07:00
Jason Rasmussen 7fbf50a75e
fix: remove `asset.resized` (#11983)
fix: remove resized
2024-08-22 23:24:49 +07:00
Min Idzelis 837b1e4929
feat(web): Scroll to asset in gridview; increase gridview perf; reduce memory; scrollbar ticks in fixed position (#10646)
* Squashed

* Change strategy - now pre-measure buckets offscreen, so don't need to worry about sub-bucket scroll preservation

* Reduce jank on scroll, delay DOM updates until after scroll

* css opt, log measure time

* Trickle out queue while scrolling, flush when stopped

* yay

* Cleanup cleanup...

* everybody...

* everywhere...

* Clean up cleanup!

* Everybody do their share

* CLEANUP!

* package-lock ?

* dynamic measure, todo

* Fix web test

* type lint

* fix e2e

* e2e test

* Better scrollbar

* Tuning, and more tunables

* Tunable tweaks, more tunables

* Scrollbar dots and viewport events

* lint

* Tweaked tunnables, use requestIdleCallback for garbage tasks, bug fixes

* New tunables, and don't update url by default

* Bug fixes

* Bug fix, with debug

* Fix flickr, fix graybox bug, reduced debug

* Refactor/cleanup

* Fix

* naming

* Final cleanup

* review comment

* Forgot to update this after naming change

* scrubber works, with debug

* cleanup

* Rename scrollbar to scrubber

* rename  to

* left over rename and change to previous album bar

* bugfix addassets, comments

* missing destroy(), cleanup

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-08-21 21:15:21 +07:00
Alex 817bd2ee94
fix(server): skip bad e2e test (#11957) 2024-08-21 13:57:37 +07:00
Jason Rasmussen ef9a06be5c
fix(server): album statistics endpoint (#11924) 2024-08-20 07:50:36 +07:00
Jason Rasmussen c7801eae7e
fix: random e2e test (#11932) 2024-08-20 07:49:35 +07:00
renovate[bot] 8d89eba3a9
fix(deps): update dependency exiftool-vendored to v28.2.1 (#11934)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-20 04:39:57 +07:00
renovate[bot] 2fba9f9547
chore(deps): update dependency @types/node to ^20.14.15 (#11920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-20 00:30:28 +07:00
Jason Rasmussen 8338657eaa
refactor(server): stacks (#11453)
* refactor: stacks

* mobile: get it built

* chore: feedback

* fix: sync and duplicates

* mobile: remove old stack reference

* chore: add primary asset id

* revert change to asset entity

* mobile: refactor mobile api

* mobile: sync stack info after creating stack

* mobile: update timeline after deleting stack

* server: update asset updatedAt when stack is deleted

* mobile: simplify action

* mobile: rename to match dto property

* fix: web test

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-08-19 12:37:15 +07:00
Jason Rasmussen f230b3aa42
feat(server): granular permissions for api keys (#11824)
feat(server): api auth permissions
2024-08-16 09:48:43 +07:00
Jason Rasmussen 32c05ea950
feat(server): do not automatically download android motion videos (#11774)
feat(server): do not automatically download embedded android motion videos
2024-08-15 20:06:16 +07:00
Jason Rasmussen a4506758aa
refactor: auth service (#11811) 2024-08-15 09:14:23 +07:00
Alex The Bot f7bfde6a32 Version v1.112.1 2024-08-15 00:00:22 +07:00
Jason Rasmussen 44c26c20b6
chore: update submodule (#11789) 2024-08-14 22:06:11 +07:00
Jason Rasmussen da6f269008
refactor: asset e2e performance (#11779) 2024-08-14 14:42:33 +07:00
Alex The Bot 228a7710e6 Version v1.112.0 2024-08-14 15:51:18 +07:00
martin fdf0b16fe3
feat(web): add privacy step in the onboarding (#11359)
* feat: add privacy step in the onboarding

* fix: remove console.log

* feat:Details the implications of enabling the map on the settings page

Added a link to the guide on customizing map styles as well

* feat: add map implication

* refactor: onboarding style

* fix: tile provider

* fix: remove long explanations

* chore: cleanup

---------

Co-authored-by: pcouy <contact@pierre-couy.dev>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-13 17:01:30 +07:00
renovate[bot] e384692025
chore(deps): update typescript-projects (#11743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-13 08:17:17 +07:00
renovate[bot] 54b276c984
chore(deps): update dependency @types/node to ^20.14.14 (#11737)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-12 23:31:57 +07:00
Michel Heusschen c2965c4408
fix(web): detail panel out of sync when reopening (#11713)
* fix(web): detail panel out of sync when reopening

* extract event handler
2024-08-12 08:10:43 +07:00
Christoph Suter f33dbdfe9a
feat(web): add Exif-Rating (#11580)
* Add Exif-Rating

* Integrate star rating as own component

* Add e2e tests for rating and validation

* Rename component and async handleChangeRating

* Display rating can be enabled in app settings

* Correct i18n reference

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

* Star rating: change from slider to buttons

* Star rating for clarity

* Design updates.

* Renaming and code optimization

* chore: clean up

* chore: e2e formatting

* light mode border and default value

---------

Co-authored-by: Christoph Suter <christoph@suter-burri.ch>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-09 17:45:52 +07:00
renovate[bot] ea135cc310
chore(deps): update dependency @types/node to ^20.14.13 (#11604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-06 22:59:26 +07:00
renovate[bot] 82d934d09d
chore(deps): update dependency eslint to v9 (#11601)
* chore(deps): update dependency eslint to v9

* chore: migrate to eslint flat config files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-08-05 16:13:16 +07:00
renovate[bot] 2821e0bf95
chore(deps): update typescript-eslint monorepo to v8 (major) (#11598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-08-05 19:13:00 +07:00
Justin Forseth d3a5490e71
feat(server): search unknown place (#10866)
* Allow submission of null country

* Update searchAssetBuilder to handle nulls

andWhere({country:null}) produces `"exifInfo"."country" = NULL`. We want
`"exifInfo"."country" IS NULL`, so we have to treat NULL as a special
case

* Allow null country in frontend

* Make the query code a bit more straightforward

* Remove unused brackets import

* Remove log message

* Don't change whitespace for no reason

* Fix prettier style issue

* Update search.dto.ts validators per @jrasm91's recommendation

* Update api types

* Combine null country and state into one guard clause

* chore: clean up

* chore: add e2e for null/empty city, state, country search

* refactor: server returns suggestion for null values

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-02 03:27:40 +07:00
Michel Heusschen 1f0f880ecb
fix(web): websocket over ipv6 (#11508) 2024-08-01 07:36:31 +07:00
Michel Heusschen 281cfc95a4
refactor(web): asset viewer actions (#11449)
* refactor(web): asset viewer actions

* motion photo slot and more refactoring
2024-07-31 12:25:38 +07:00
renovate[bot] 3a3ea6135e
chore(deps): update typescript-projects (#11437)
* chore(deps): update typescript-projects

* chore: formatting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-07-31 15:40:23 +07:00
Jason Rasmussen c44271e9b2
fix(deps): vitest@2 (#11491) 2024-07-31 11:26:35 +07:00
renovate[bot] cf54829b3b
chore(deps): update dependency eslint-plugin-unicorn to v55 (#11435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 08:49:35 +07:00
Alex The Bot 919fd7d41f Version v1.111.0 2024-07-30 19:06:39 +07:00
renovate[bot] a29660aae3
chore(deps): update dependency exiftool-vendored to v28 (#11440)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-30 07:30:25 +07:00
Michel Heusschen 434bcec5cc
fix(server): correct person birth date across timezones (#11369)
* fix(server): correct person birth date across timezones

* fix test

* update e2e tests

* use Optional decorator
2024-07-29 19:52:04 +07:00
Jason Rasmussen ebc71e428d
feat(server): reverse geocoding endpoint (#11430)
* feat(server): reverse geocoding endpoint

* chore: rename error message
2024-07-29 18:17:26 +07:00
eleith a70cd368af
fix(server): use fqdn for og:image meta tag value (#11082)
* attempt to use fqdn for og:image

opengraph image specifies that the url contains http or https, thus
implying a fqdn.

this change uses the external domain from the server config to attempt
to make the og:image have both the existing path to the thumbnail along
with the desired domain

if the server setting is empty, the old behavior will persist

please note, some og implementations do work with relative paths, so not
all og image checkers may still pass, but not all implementations have
this fallback and thus will not find the image otherwise

* tests and ssr for og:image value as fqdn

* formatting

* fix test

* formatting

* formatting

* fix tests

getConfig was requiring authentication. using already initiated global stores instead

* load config in shared link service itself

* join host and pathname/params safely

* use origin instead of host for full domain string

also fixes lint and address the imageURL type which is optional

* chore: clean up

---------

Co-authored-by: eleith <eleith@lemon.localdomain>
Co-authored-by: eleith <online-github@eleith.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-07-29 21:38:47 +07:00
Michel Heusschen 2e059bfbfd
fix(web): avoid nesting buttons inside links (#11425) 2024-07-29 10:36:10 +07:00
renovate[bot] 7bb7f63d57
chore(deps): update dependency node to v20.16.0 (#11421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 10:33:01 +07:00
Jonathan Jogenfors 65a4f86154
chore: bump vitest to 1.6.0 (#11386)
bump vitest to 1.6.0
2024-07-26 16:26:17 +07:00
Alex The Bot 04340b3a62 Version v1.110.0 2024-07-26 15:38:20 +07:00
Michel Heusschen 8e6bc13540
feat: people infinite scroll (#11326)
* feat: people infinite scroll

* add infinite scroll to show & hide modal

* update unit tests

* show total people count instead of currently loaded

* update personsearchdto
2024-07-25 15:59:28 +07:00
renovate[bot] 152421e288
chore(deps): update redis:6.2-alpine docker digest to e3b17ba (#11303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 15:20:11 +07:00
Jason Rasmussen 9f6ef92f0b
fix(deps): exiftool-vendored (#11338) 2024-07-24 17:38:22 +07:00
renovate[bot] 9e60c107ca
chore(deps): update node (#11322)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-24 16:13:24 +07:00
renovate[bot] b259095899
chore(deps): update node (#11300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-23 08:22:15 +07:00
Michel Heusschen 8725656fd2
fix(server): DateTimeOriginal overwrite issue with sidecar file (#11306)
* fix(server): DateTimeOriginal overwrite issue with sidecar file

* update unit test
2024-07-23 07:59:46 +07:00
Michel Heusschen 849bc6e3aa
fix(server): correct openapi response type for getServerLicense() (#11261)
* fix(server): correct openapi response type for getServerLicense()

* return 404 error when license doesn't exist

* update e2e test
2024-07-22 08:50:45 +07:00
Alex The Bot b9fc59ca9f Version v1.109.2 2024-07-18 19:33:29 +07:00
Alex The Bot 01ba859567 Version v1.109.1 2024-07-18 17:55:58 +07:00
Alex The Bot c77702279c Version v1.109.0 2024-07-18 16:03:42 +07:00
Alex ef0e1a81b9
feat(web): license UI (#11182) 2024-07-18 10:56:27 +07:00
pokjay 4f89195702
feat(server): country geocoding for remote locations (#10950)
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-07-18 13:27:07 +07:00
Zack Pollard fb8d9d8c40
fix: downgrade exiftool-vendored to fix motion photo extraction (#11145)
* Revert "chore(server): update exiftool and migrate off deprecated method signatures (#10367)"

This reverts commit 1b67ea2d

* fix: downgrade exiftool-vendored to 26.0.0

* chore: change motionphoto filenames to be kebab-case

* test: add pixel 6 pro motionphoto e2e test case

* test: add pixel 8a motion photo

* chore: update test-assets submodule pointer
2024-07-16 19:55:51 +07:00
renovate[bot] 04e6e879a2
chore(deps): update typescript-projects (#11129)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-15 23:53:41 +07:00
Jason Rasmussen 25a380d023
feat(server): userinfo signing (#10756)
* feat(server): userinfo signing

* chore: e2e tests
2024-07-11 07:55:00 +07:00