Daniel Dietzler
03da1ba108
chore: single line block comments ( #30852 )
2026-08-18 17:55:26 +02:00
renovate[bot]
11755e5a53
chore(deps): update dependency eslint-plugin-unicorn to v73 ( #30844 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-18 12:00:16 +02:00
Jason Rasmussen
b19c4a591e
chore(web): remove unused code ( #30768 )
2026-08-14 16:04:12 -04:00
Ben Beckford
a939561e70
feat: workflow asset tag trigger/filter/action ( #29043 )
...
* feat: workflow asset tag trigger and filter
* feat(web): show tag names in workflow editor
* fix(web): tag picker in schema config editor
* fix: invalid plugin manifest
* chore: update workflow method wrapper type
* chore: update tag filter method declaration
* feat: workflow action to add tags to assets
2026-08-12 16:26:03 -07:00
Daniel Dietzler
a55dc80a56
chore: enforce strict equality checks ( #30718 )
2026-08-11 13:15:51 -04:00
renovate[bot]
df970da59e
chore(deps): update dependency eslint-plugin-unicorn to v70 - abandoned ( #29684 )
...
* chore(deps): update dependency eslint-plugin-unicorn to v70
* fix: linting
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-20 23:47:14 -04:00
Matthias Keim
89d0a9d59f
fix(web): attach file picker input to DOM so iOS Safari fires change … ( #29660 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-20 19:03:42 +00:00
renovate[bot]
a3dd19cd2f
fix(deps): update typescript-projects ( #29633 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-16 20:14:05 +02:00
Yaros
fe3eb7d865
feat(web): undo archive from toast ( #27061 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-07-16 17:53:02 +02:00
Diogo Correia
c50a807bc1
feat(web): add wake lock when uploading assets ( #29820 )
2026-07-16 12:41:37 +02:00
Mees Frensel
19313e75fd
chore(web): fix testing deprecations ( #29799 )
2026-07-10 14:30:12 +02:00
Daniel Dietzler
4e25db2989
fix: chinese browser locales recognition ( #29622 )
2026-07-06 09:42:47 -05:00
bo0tzz
13d17b3a11
fix: re-add gCastEnabled negation ( #29499 )
2026-07-03 11:05:22 +02:00
Daniel Dietzler
ad9817c582
fix: web i18n ( #29175 )
2026-06-17 11:36:48 -05:00
Mees Frensel
14f6f2c04f
refactor(web): simplify places page controls and use ui's Select ( #29102 )
2026-06-17 10:31:49 -04:00
Mees Frensel
1fa034125c
fix(web): language selector ( #29065 )
2026-06-16 15:49:47 +02:00
Mees Frensel
5f1a180d1a
chore(web): remove dead code ( #29092 )
2026-06-15 14:54:51 +02:00
Mees Frensel
892397807c
chore(web): add switch case exhaustiveness lint ( #29015 )
2026-06-12 09:30:19 -04:00
Jason Rasmussen
c3e23a6b3a
fix: schema configuration ( #29000 )
2026-06-11 18:05:07 -05:00
Alex
aa6af7ce36
chore: workflow trigger i18n ( #28992 )
2026-06-11 10:55:18 -05:00
Daniel Dietzler
fb798a8f29
chore: remove person workflow elements ( #28974 )
2026-06-10 18:49:33 +02:00
Pedro Vieira
a7b5f81701
fix: normalize diacritics in person name search in Web & Mobile ( #28887 )
2026-06-10 12:05:07 +02:00
Daniel Dietzler
b6938614b2
feat: latest language requests ( #28858 )
2026-06-05 18:01:27 +02:00
Abhijeet Sanjiv Bonde
b3d49045de
feat: user upload heatmap ( #28593 )
...
* Feat - Heatmap
* Implemented Comments to prettify and code cleanup
* fixing code to pass cases.
* fixing errors for OpenAPI Clients
* Improving the code.
* Fix code
* Rerun generated client check
* Rerun generated client
* feat: command for user pages (#28554 )
* fix(web): timeline stuttering with many assets in 1 day (#28509 )
* fix(web): timeline stuttering with many assets in 1 day
* cache isInOrNearViewport per day
* skip inOrNearViewport check on first run
* chore(ml): allow insightface 1.x (#28595 )
* chore(ml): allow insightface 1.x
The new insightface 1.0 release appears to have no breaking code changes nor relevant license changes ([before](2a78baec42/README.md ), [after](70f3269ea6/README.md ), c.f. fd7ddfef54/machine-learning/README.md ), and it works on my machine.
* Update uv.lock
* please excuse my incompetence
* Triggering the actions.
* bad merge
* Fix code
* Code clear
* Resolve conflict
* Resolve conflict
* Resolve conflict
* Resolve errors
* Resolve errors
* Resolve errors more
* chore: clean up
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Ben Beckford <ben@benjaminbeckford.com>
Co-authored-by: Aaron Liu <aaronliu0130@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-06-04 15:36:09 -04:00
Jason Rasmussen
cf991e7b1b
feat: workflow actions ( #28639 )
2026-05-27 10:24:31 -04:00
renovate[bot]
92b6778d2d
fix(deps): update typescript-projects ( #28371 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-05-20 16:56:27 +02:00
Oliver Roed Schøler
0544d22902
feat: Selectable metadata in duplicates utility with diffing ( #26328 )
2026-05-18 17:49:51 +02:00
Jason Rasmussen
3d075f2bf8
feat: workflows & plugins ( #26727 )
...
feat: plugins
chore: better types
feat: plugins
2026-05-18 11:09:33 -04:00
Min Idzelis
02581e81a7
fix(web): work around Chrome HDR image seam lines during zoom ( #27715 )
...
Change-Id: Ic5a5b1a476c2af93b465ef23dabc601a6a6a6964
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-05-16 02:15:24 +00:00
Ben Beckford
e142e3aca7
feat: recently added assets page ( #28272 )
...
* feat(server): add ordering date option to time buckets
* feat(web): add recently added page
* feat(server): recently created assets in explore data
* feat(web): recently added in explore tab
* fix: recently added assets ordering
* fix(server): failing bucket test
* feat(web): improve recently added preview
* chore: update e2e explore/timeline tests
* chore: rename and refactor timeline ordering dates
* fix(web): invalid timeline option
* feat(mobile): recently added page
* fix(server): sync tests
* fix(mobile): resync assets to get uploadedAt column
* chore: rename assetorderby enum
* chore(mobile): formatting
* minor fixes
* stylings
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-05-11 21:35:10 +00:00
Daniel Dietzler
2039c129f2
refactor: settings accordion reactivity ( #28281 )
2026-05-07 19:00:23 +00:00
Michel Heusschen
2015f95ff5
fix(web): correct timeline yesterday label across month boundaries ( #28183 )
2026-05-04 13:46:11 +02:00
Timon
3decc864b5
refactor(server)!: structured validation error responses ( #28204 )
...
* refactor(server)!: structured validation error responses
* refactor(server): clarify comment on removing duplicate HTTP response fields
* enhance validation error tests
* make path and message required
* fmt
* fix e2e test
* fmt
* feat: enhance error handling in getServerErrorMessage function
2026-05-04 00:00:03 -04:00
Mees Frensel
3d320d9751
fix(web): fix shared link /s/photos.* navigation after password login ( #27788 )
...
* fix(web): fix shared link navigation after password login
* use regex after all
* chore: use special case for shared link with slug route
* dont use onMount
* fix lint
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-05-02 09:26:35 -04:00
Mert
b554664791
chore!: duration in milliseconds ( #28003 )
...
* server changes
* openapi
* web changes
* mobile changes
* assume 3.0 client
* deprecate
* review feedback
* update medium tests
* linting
2026-04-30 09:44:27 -04:00
Min Idzelis
45ccdb37fb
refactor(web): replace asset-viewer listener based face hover with overlay elements ( #27400 )
2026-04-27 12:08:34 +02:00
renovate[bot]
dfacde5af8
fix(deps): update typescript-projects ( #28025 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-04-22 16:49:28 +02:00
Junghwan
317afe9e3b
fix(web): normalize underscore locale codes in dynamic language selection ( #27900 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-04-22 13:28:33 +00:00
Jason Rasmussen
a16d233a0c
chore(web): sort imports ( #27922 )
...
* feat: sort imports
* fix: something?
2026-04-21 14:51:38 -04:00
renovate[bot]
c2786978cd
fix(deps): update typescript-projects ( #28008 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-04-21 15:29:34 +02:00
Freddie Floydd
36ebcaf00c
fix(web): compute hashes for uploads in chunks ( #27878 )
...
* add @noble/hashes as a dep for web
* hash files in chunks
* drop old reference to crypto in test code
* use web worker for file hashing
2026-04-17 19:08:46 -04:00
Daniel Dietzler
41968fdcac
feat: cache shared link ( #27889 )
2026-04-17 08:17:39 -04:00
Mees Frensel
7d181f0686
fix!: set duration to null when not present ( #26982 )
2026-04-17 11:57:10 +02:00
Jason Rasmussen
6aadb7b5bd
feat: dynamic languages ( #27869 )
...
Co-authored-by: xantin <github@xantin.be>
2026-04-16 12:37:37 -04:00
Jason Rasmussen
4ffa26c969
feat: auth logout page ( #27831 )
...
* feat: auth logout page
* feat: skip login if already logged in
2026-04-15 16:33:52 -04:00
Daniel Dietzler
8ee5d3039a
chore!: remove deviceId and deviceAssetId ( #27818 )
...
chore: remove deviceId and deviceAssetId
2026-04-15 15:00:33 -04:00
Timon
7d8f843be6
refactor!: migrate class-validator to zod ( #26597 )
2026-04-14 23:39:03 +02:00
Jason Rasmussen
1ba0989e15
refactor: auth manager ( #27638 )
2026-04-14 08:49:24 -04:00
Min Idzelis
de9ec95db1
fix(web): handle unhandled promise rejection in CancellableTask ( #27553 )
...
When a concurrent caller awaits `this.complete` inside `execute()` and
`cancel()` is called, the promise rejects with `undefined` outside of any
try/catch, causing "Uncaught (in promise) undefined" console spam during
rapid timeline scrolling.
- Wrap the `await this.complete` path in try/catch, returning 'CANCELED'
- Guard the `finally` block to only null `cancelToken` if it still belongs
to this call, preventing a race condition with `cancel()` to `init()`
Change-Id: I65764dd664eb408433fc6e5fc2be4df56a6a6964
2026-04-07 09:22:29 -05:00
Min Idzelis
649d14822a
refactor(web): rename MonthGroup to TimelineMonth ( #27447 )
...
Rename MonthGroup class to TimelineMonth to better convey that it represents a single month within the timeline. Updates the file, class, and all references across 16 files.
Change-Id: Id50fd6d4b7d0e431571b67c0f81c0e316a6a6964
2026-04-03 13:27:12 -04:00