timonrieger
32cc8ca0aa
fix(server): replace email-in-use messages to prevent user-existence oracle
...
Error messages on registration and profile-update that named whether an
email address was already taken allowed callers to enumerate registered
accounts. All three sites now return the same generic message regardless
of whether the address is in use.
2026-04-30 11:54:00 +02:00
timonrieger
b96421a083
refactor(server)!: sanitize error messages to avoid leaking resource and permission details
2026-04-30 11:53:44 +02:00
Timon
92634f923b
refactor(server)!: remove redundant error and statusCode fields from error responses ( #28140 )
...
* refactor(server)!: remove redundant error and statusCode fields from error responses
* use enum
* enhance response management
* chore: clean up header
* fix: chaining
* refactor: handle error
* fix e2e tests
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-04-28 17:54:54 -04:00
Timon
96b6165bd3
refactor(server)!: move correlationId to X-Correlation-ID response header ( #28139 )
2026-04-28 13:07:39 -04:00
Daniel Dietzler
4bfb8b36c2
chore!: migrate album owner to album_user ( #27467 )
...
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-22 16:52:23 +02:00
Jason Rasmussen
94a34436a3
chore: remove unused packages & code ( #27925 )
2026-04-20 08:39:46 -04:00
Daniel Dietzler
8ee5d3039a
chore!: remove deviceId and deviceAssetId ( #27818 )
...
chore: remove deviceId and deviceAssetId
2026-04-15 15:00:33 -04:00
Zack Pollard
6a361dae72
fix(server): use randomized cron for version check scheduling ( #27626 )
...
Also removes unnecessary rate limit
2026-04-08 19:15:38 +01:00
Alex
37823bcd51
feat: create new person in face editor ( #27364 )
...
* feat: create new person in face editor
* add delay
* fix: test
* i18n
* fix: unit test
* pr feedback
2026-04-02 15:28:40 +00:00
Brandon Wees
c29493e3a0
fix: withFilePath select edited or unedited file ( #27328 )
...
* fix: withFilePath select edited or unedited file
* chore: test
2026-04-01 08:19:38 -04:00
Michel Heusschen
144a57ddff
refactor(server): use helpers for shared link queries ( #27088 )
...
* fix(server): prevent album shared link from breaking after uploads
* update test
* add withSharedAssets helper
* remove options
* add more helpers
* update selects
2026-03-26 13:51:00 -04:00
Michel Heusschen
b36911a16b
fix(server): filter out empty search suggestions ( #27292 )
...
* fix(server): filter out empty search suggestions
* make sql
2026-03-26 09:36:04 -05:00
Jason Rasmussen
813d684aaa
fix: shared link add to album ( #27063 )
2026-03-20 13:14:07 -05:00
Daniel Dietzler
79f978ddeb
fix: writing empty exif tags ( #27025 )
2026-03-19 17:17:56 +00:00
Jason Rasmussen
044257531e
fix(server): fallback to email when name is empty ( #27016 )
2026-03-19 12:41:20 -04:00
Jason Rasmussen
38b135ff36
fix: bounding box return type ( #27014 )
2026-03-18 11:58:40 -04:00
Michel Heusschen
27f69b39b2
fix(server): use correct day ordering in timeline buckets ( #26821 )
...
* fix(web): sort timeline day groups received from server
* fix(server): use correct day ordering in timeline buckets
2026-03-11 08:49:35 -04:00
Min Idzelis
13c4260a1f
fix: resolve medium test asset paths relative to file location ( #26683 )
2026-03-04 08:23:58 -05:00
Joe Babbitt
44eeb1e088
fix: implement existing withStacked on searchAssetBuilder ( #26607 )
...
Co-authored-by: Joe <code@joebabbitt.com >
2026-03-03 11:41:29 +00:00
Min Idzelis
84abad564e
fix(server): deduplicate shared links in getAll query ( #26395 )
2026-03-01 14:41:15 -05:00
Brandon Wees
3c9fb651d0
feat(server): SyncAssetEditV1 ( #26446 )
...
* feat: SyncAssetEditV1
* fix: audit table import
* fix: sql tools table fetch
* fix: medium tests (wip)
* fix: circ dependency
* chore: finalize tests
* chore: codegen/lint
* fix: code review
2026-02-25 18:12:41 +00:00
Brandon Wees
e5722c525b
feat: getAssetEdits respond with edit IDs ( #26445 )
...
* feat: getAssetEdits respond with edit IDs
* chore: cleanup typings for edit API
* chore: cleanup types with jason
* fix: openapi sync
* fix: factory
2026-02-23 20:57:57 +00:00
Brandon Wees
e633bc3f24
fix: missing deletedAt and isVisible columns on mobile ( #26414 )
...
* feat: SyncAssetV2
* feat: mobile sync handling
* feat: request correct sync object based on server version
* fix: mobile queries
* chore: sync sql
* fix: test
* chore: switch to mapper
* fix: sql sync
2026-02-23 09:50:54 -05:00
Daniel Dietzler
db4e7abf6d
chore: refactor more queries ( #25572 )
...
* refactor: asset service queries
* chore: refactor more queries
2026-02-19 10:48:30 -05:00
Daniel Dietzler
fd0338f89c
refactor: asset service queries ( #25535 )
2026-02-19 08:54:28 -05:00
Daniel Dietzler
8f9ea6a171
fix: utc time zone upserts ( #26258 )
...
fix: utc timezone upserts
2026-02-17 18:59:52 +01:00
Jason Rasmussen
72cef8b94b
feat: shared link login ( #25678 )
2026-02-12 12:08:38 -05:00
Jason Rasmussen
4c948647fc
chore: asset-job medium tests ( #26111 )
2026-02-10 13:41:40 -05:00
Brandon Wees
8c8b11f80c
fix: person thumbnail generation on edited assets ( #26112 )
...
* fix: person thumbnail generation on edited assets
* chore: sql sync
2026-02-10 11:38:43 -06:00
Brandon Wees
0886281dd8
fix: create face exif orientation handling ( #26108 )
...
* fix: handle exif orientation when creating face
* chore: tests
2026-02-10 11:30:34 -05:00
Daniel Dietzler
71fe9192fd
chore: metadata extraction date test ( #26102 )
2026-02-10 10:05:05 -05:00
Brandon Wees
37e5968a7a
fix: face and edit handling ( #25738 )
...
* fix: handle edits when creating face
2026-02-05 19:29:46 +00:00
Daniel Dietzler
9c098109e0
fix: time zone upserts ( #25889 )
2026-02-05 12:43:03 -05:00
Jason Rasmussen
6cdebdd3b3
fix(server): deleting stacked assets ( #25874 )
...
* fix(server): deleting stacked assets
* fix: log a warning when removing an empty directory fails
2026-02-04 17:33:37 +00:00
Brandon Wees
ccc0961ba3
fix: return original thumbs when edited=false ( #25485 )
2026-01-23 23:12:18 -06:00
Daniel Dietzler
2dcb4efc40
fix: lock tags column on update ( #25435 )
2026-01-21 21:20:05 -05:00
Brandon Wees
1b56bb84f9
fix: mobile edit handling ( #25315 )
...
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2026-01-19 12:22:53 -06:00
Daniel Dietzler
07675a2de4
feat: download original asset ( #25302 )
...
Co-authored-by: bwees <brandonwees@gmail.com >
2026-01-16 19:05:13 +00:00
Daniel Dietzler
5e3f5f2b55
fix: unlock properties after successful sidecar write ( #25168 )
2026-01-12 14:01:38 +01:00
Brandon Wees
e8c80d88a5
feat: image editing ( #24155 )
2026-01-09 17:59:52 -05:00
Jason Rasmussen
191401f2f1
fix: add asset upload medium test ( #25144 )
2026-01-08 22:01:25 +00:00
Jason Rasmussen
a2ba36c16d
feat: bulk asset metadata endpoints ( #25133 )
2026-01-08 14:52:16 -05:00
lif
263f96da87
fix(server): search statistics with personIds returns 500 ( #25074 )
...
The searchAssetBuilder was incorrectly adding withFacesAndPeople
select when personIds was provided. This caused a SQL error because
the subquery referenced asset.id which wasn't selected in statistics
queries (only count(*) was selected).
The fix removes personIds from the condition that triggers adding
faces data to the select. The hasPeople filter (for personIds) is
still applied correctly for filtering.
Fixes #25003
Signed-off-by: majiayu000 <1835304752@qq.com >
2026-01-06 08:54:12 -05:00
Alex
28f6064240
feat: workflow ui ( #24190 )
...
* feat: workflow ui
* wip
* wip
* wip
* pr feedback
* refactor: picker field
* use showDialog directly
* better test
* refactor step selection modal
* move enable button to info form
* use for Props
* pr feedback
* refactor ActionItem
* refactor ActionItem
* more refactor
* fix: new schemaformfield has value of the same type
* chore: clean up
2025-12-20 21:07:07 -06:00
Daniel Dietzler
3d2196b0f2
refactor: asset update medium tests ( #24718 )
2025-12-19 16:25:04 +00:00
Daniel Dietzler
f7cbb7417c
fix: dateTimeOriginal timezone updates ( #24712 )
2025-12-19 08:42:44 -06:00
Daniel Dietzler
c15998e805
fix: asset update race condition ( #24384 )
...
* fix: asset update race condition
* fix: asset update race condition
* single statement
* update sql
* missed one
* fix `none` handling
* fix: tests
* chore: simplify update all assets
* fix: updating lockable properties
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-12-17 09:23:13 -06:00
Mert
cffb68d1c4
fix(server): do not delete offline assets ( #24355 )
...
* do not delete isOffline assets
* update sql
* add medium test
* add normal delete test
* formatting
2025-12-03 14:19:26 -06:00
Alex
f5df5fa98d
chore: change workflow column name ( #24349 )
...
chore-change-workflow-column-name
2025-12-02 14:40:17 -06:00
Jonathan Jogenfors
1bcf28c062
chore(server): sidecars in asset_files ( #21199 )
...
* fix: sidecar check job
* feat: move sidecars to asset_files
* feat: combine with handleSidecarCheck
* fix(server): improved method signatures for stack and sidecar copying
* fix(server): improved method signatures for stack and sidecar copying
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2025-12-02 13:31:43 -05:00