renovate[bot]
95fa8fbdab
chore(deps): update machine-learning ( #26970 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 11:32:08 -04:00
renovate[bot]
687b7cad6f
chore(deps): update dependency terragrunt to v1 ( #27860 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 10:36:15 -04:00
Steven Massaro
ac2ebcee37
chore: improve randomness of /search/random endpoint ( #27531 )
2026-04-16 14:36:05 +00:00
bo0tzz
3356e81c85
fix!: do not allow insecure oauth requests by default ( #27844 )
...
* fix!: do not allow insecure oauth requests by default
* fix: format
* fix: make open-api
* fix: tests
* nit: casing
* chore: migration to allow insecure if current oauth uses http
2026-04-16 10:11:58 -04:00
renovate[bot]
9c642bd6fc
chore(deps): update github-actions ( #27857 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 15:29:48 +02:00
bo0tzz
9da0cb3cf4
chore: link to PR template in auto-close message ( #27756 )
2026-04-16 09:14:36 -04:00
renovate[bot]
4ff6cca4da
fix(deps): update dependency pillow to >=12.2,<12.3 [security] ( #27773 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 09:13:39 -04:00
renovate[bot]
2b7ae4981f
chore(deps): update dependency pytest to v9.0.3 [security] ( #27777 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 09:12:49 -04:00
renovate[bot]
e63df4121a
chore(deps): update dependency @types/node to ^24.12.2 ( #27856 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 13:12:38 +00:00
renovate[bot]
03b4ab2935
fix(deps): update dependency simple-icons to v16 ( #27855 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 13:07:35 +00:00
bo0tzz
facd3bd331
fix: oauth issuerUrl validation ( #27848 )
2026-04-16 09:06:55 -04:00
renovate[bot]
20ddf2e7d2
fix(deps): update dependency nestjs-cls to v6 ( #27852 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 13:45:42 +02:00
renovate[bot]
7f0025b3fc
chore(deps): update dependency @types/nodemailer to v8 ( #27851 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 13:28:23 +02:00
Mees Frensel
60f4dedb29
chore(web): small fixes for location picker modal ( #27822 )
2026-04-16 11:49:24 +02:00
Min Idzelis
d5d2ebd9bf
fix(web): close edit faces panel on Escape key press ( #27519 )
...
Move `showEditFaces` state to `assetViewerManager` so the edit faces
panel open/close state is globally accessible. Add Escape key handling
to `PersonSidePanel` that closes the assign-face sub-panel first, then
the edit faces panel. Guard the asset viewer's global Escape-to-close
action so it doesn't fire while either face panel is open.
Change-Id: I0c947fe0758aef0eac473f4cc72f6a3b6a6a6964
2026-04-15 20:22:20 -05:00
Yaros
37abbeba52
fix(mobile): readonly redirect when not logged in ( #27728 )
2026-04-15 20:20:08 -05:00
Min Idzelis
50557002b7
fix(web): stale adaptive image when original overlays preview ( #27621 )
...
AdaptiveImage stacks quality layers (thumbnail → preview → original) as they load. Without compositor layer promotion on the container, the browser could render a stale frame when the original-quality layer was overlaid on top of the preview-quality layer.
Add `will-change: transform` as a class on AdaptiveImage's root element so it gets a dedicated compositor layer from first paint. This also subsumes the imperative `style.willChange = 'transform'` that zoomImageAction was applying to the same element (the zoom target from photo-viewer is the AdaptiveImage root), so drop that now-redundant code.
Change-Id: Icd866a2bb5a5fce299c36404547fa0546a6a6964
2026-04-15 20:19:18 -05:00
Min Idzelis
4aa31d38bf
fix(web): svelte regression - cancel video preview fetch when bind:this is cleared early ( #27713 )
...
fix(web): cancel video preview fetch when bind:this is cleared early
In Svelte 5.53.9, `bind:this` is now cleared earlier in the unmount
sequence ("better bind:this cleanup timing"). The video thumbnail's
$effect was relying on the old order to read the bound `player` element
and clear its `src` to abort the in-flight `/api/assets/{id}/video/playback`
range request — but the bind is now `undefined` by the time the effect
runs, so the cleanup is silently skipped. The detached <video> keeps
its src, and Firefox does not abort an in-flight media fetch when the
element is detached/GC'd. Long-lived 206 range requests then saturate
Firefox's 6-connection HTTP/1.1 per-host limit and freeze the timeline
(see #27585 ).
Capture the player reference inside the effect and tear down via the
effect cleanup return — Svelte runs the prior cleanup (with the captured
ref) before `bind:this` is cleared. Use the canonical
`pause() / removeAttribute('src') / load()` sequence which actually aborts
the fetch in Firefox, even on a detached element.
Fixes #27585
Change-Id: I4d9fba859955f5c54f603c345e61d4206a6a6964
2026-04-15 20:18:59 -05:00
Min Idzelis
3d8df74b43
refactor(web): turn thumbhash action into Thumbhash component ( #27741 )
...
refactor(web): extract thumbhash canvas into Thumbhash component
Change-Id: If78955bed48b6e690df398e5e2ae61fb6a6a6964
2026-04-15 20:18:49 -05:00
renovate[bot]
2ff9f95527
chore(deps): update dependency python-multipart to v0.0.26 [security] ( #27838 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-15 19:06:27 -04:00
Jason Rasmussen
a69eecf3bc
chore!: remove without assets ( #27835 )
...
* chore!: remove without assets
* fix: linting and e2e
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-04-15 18:34:22 -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
Jason Rasmussen
ac06514db5
feat: album map markers endpoint ( #27830 )
2026-04-15 15:58:34 -04:00
Jason Rasmussen
792cb9148b
chore!: rename API key schemas ( #27828 )
...
chore!: rename API schemas
2026-04-15 15:58:26 -04:00
Daniel Dietzler
8ee5d3039a
chore!: remove deviceId and deviceAssetId ( #27818 )
...
chore: remove deviceId and deviceAssetId
2026-04-15 15:00:33 -04:00
Jason Rasmussen
d410131312
chore!: remove old timeline sync endpoints ( #27804 )
2026-04-15 13:58:48 -04:00
bo0tzz
5334a6254a
fix: make web build stage deterministic ( #27823 )
2026-04-15 19:31:23 +02:00
shenlong
79fccdbee0
refactor: yeet old timeline ( #27666 )
...
* refactor: yank old timeline
# Conflicts:
# mobile/lib/presentation/pages/editing/drift_edit.page.dart
# mobile/lib/providers/websocket.provider.dart
# mobile/lib/routing/router.dart
* more cleanup
* remove native code
* chore: bump sqlite-data version
* remove old background tasks from BGTaskSchedulerPermittedIdentifiers
* rebase
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-04-15 23:00:27 +05:30
Brandon Wees
6dd6053222
feat: mobile editing ( #25397 )
...
* feat: mobile editing
fix: openapi patch
this sucks :pepehands:
chore: migrate some changes from the filtering PR
chore: color tweak
fix: hide edit button on server versions
chore: translation
* chore: code review changes
chore: code review
* sealed class
* const constant
* enum
* concurrent queries
* chore: major cleanup to use riverpod provider
* fix: aspect ratio selection
* chore: typesafe websocket event parsing
* fix: wrong disable state for save button
* chore: remove isCancelled shim
* chore: cleanup postframe callback usage
* chore: clean import
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2026-04-15 09:26:40 -05:00
Mees Frensel
8454cb2631
chore: exit open-api script on errors ( #27815 )
2026-04-15 10:09:51 -04:00
Daniel Dietzler
603fc7401f
fix: redirect original ( #27759 )
2026-04-15 15:43:09 +02:00
Jason Rasmussen
ed70e0febf
chore: stop using legacy partner create endpoint ( #27806 )
2026-04-15 16:16:43 +05:30
Jason Rasmussen
5f5e3344d5
chore!: remove unused token response param ( #27805 )
2026-04-15 00:58:00 -04:00
Brandon Wees
6da2d3d587
chore!: remove getRandom api endpoint ( #27780 )
...
* chore!: remove getRandom api endpoint
* chore: sync openapi
* fix: test
* chore: more cleanup
2026-04-14 21:32:12 -04:00
Jason Rasmussen
41d2d84b21
chore!: remove deprecated env variables ( #27802 )
2026-04-14 21:30:31 -04:00
Jason Rasmussen
6ba17bb86f
refactor!: remove my shared link dto ( #27023 )
...
refactor!: remove deprecated shared link apis
2026-04-14 20:58:02 -04:00
Jason Rasmussen
e1a84d3ab6
refactor!: remove replace asset ( #27022 )
2026-04-14 20:21:05 -04:00
Timon
7d8f843be6
refactor!: migrate class-validator to zod ( #26597 )
2026-04-14 23:39:03 +02:00
OdinOxin
3753b7a4d1
feat: sort users alphabetically when adding to album ( #27731 )
2026-04-14 21:21:22 +02:00
Jonathan Jogenfors
84a1fb27ca
feat(web): lazy load library and server statistics ( #26406 )
...
* feat: add offline library statistics
* fix comments
* feat: add offline library statistics
* fix comments
* fix Daniel's comments
* fix Daniels comment 2
2026-04-14 12:54:09 -04:00
Yaros
81780b0cc0
fix(web): add partner photo to album from multiselect ( #27767 )
...
* fix(web): add partner photo to album
* chore: fix formatting
* fix: run-job assets
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-04-14 16:48:39 +00:00
Min Idzelis
5e81a5a054
feat(web): remove delay from Skeleton ( #27580 )
...
Change-Id: I95a37f1af832c005a8f009d6f07df8ac6a6a6964
2026-04-14 12:47:37 -04:00
Miguel Raposo
e4e2f586b5
fix(server): render storage template date/time tokens in UTC ( #24350 ) ( #26917 )
2026-04-14 18:45:14 +02:00
OdinOxin
a001adf14a
feat: filter users on share ( #27732 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-04-14 16:43:45 +00:00
Daniel Dietzler
136814540a
fix: asset multi select download shortcut ( #27784 )
2026-04-14 12:29:55 -04:00
Jason Rasmussen
fed5cc1ae1
feat: upgrade immich/ui ( #27792 )
2026-04-14 16:18:12 +00:00
Yaros
641ab51b80
fix(web): selection clearing on preview ( #27702 )
...
* fix(web): selection clearing on preview
* chore: remove unnecessary checks
2026-04-14 10:06:32 -05:00
Yaros
3b47ca1c37
fix(mobile): add keys for person tiles in search ( #27689 )
...
* fix(mobile): key for person tiles in search
* chore: add key to avatar
* chore: use simple personId
* chore: rename key in person page
2026-04-14 10:05:09 -05:00
Jason Rasmussen
8fb2c7755d
feat: commands ( #27546 )
2026-04-14 09:34:46 -04:00
Jason Rasmussen
1ba0989e15
refactor: auth manager ( #27638 )
2026-04-14 08:49:24 -04:00