Min Idzelis
6c3105e3fb
refactor(web): replace per-asset viewport proximity with day-tier active indices
...
Binary search on asset positions replaces per-ViewerAsset $derived
proximity tracking. Reactive churn during scroll reduces from O(N)
per-asset deriveds to O(log N) per-day binary search.
Change-Id: Ib4bdaec5df4801d1347f41bbabd607956a6a6964
2026-05-27 00:15:29 +00:00
Alex
8682be4774
feat: workflow template ( #28553 )
...
* wip: confirm before existing and disable/enable save button condition
* fix: get correct workflow detail
* wip: add back workflow summary
* wip: add back json editor
* wip: step property badge
* wip: redesign card flow
* wip: redesign card flow
* redesign workflow summary
* wworkflow summary styling
* wip
* drag and drop
* list redesign
* refactor
* refactor
* remove deadcode
* refactor
* insert steps
* push down when dropped
* feat: workflow template
* simplify
* move template to manifest
* feat: hash manifest file
* fix: template column
* fix: migration
* fix: workflow lookup
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-05-26 16:47:05 -04:00
Brandon Wees
dc66892ca1
fix: await sync asset v2 ( #28569 )
...
* fix: await sync asset v2
* fix: support previous server versions for edit ready events
2026-05-26 15:43:12 -04:00
Fabian Wimberger
53a24783f5
fix(ml): stabilize MIGraphX inference ( #28444 )
...
* fix: stabilize ROCm MIGraphX inference
Serialize MIGraphX session runs so lazy compiles cannot overlap within a worker.
Use a fixed face-recognition batch size for MIGraphX to avoid compiling a new program for each detected face count.
* fix(ml): increase ROCm worker timeout
* fix(ml): narrow MIGraphX compile locking
* docs: format environment variables table
* docs: apply prettier to environment variables table
2026-05-26 18:41:56 +00:00
Alex
0546bc900c
chore: workflow UI ( #28536 )
...
* wip: confirm before existing and disable/enable save button condition
* fix: get correct workflow detail
* wip: add back workflow summary
* wip: add back json editor
* wip: step property badge
* wip: redesign card flow
* wip: redesign card flow
* redesign workflow summary
* wworkflow summary styling
* wip
* drag and drop
* list redesign
* refactor
* refactor
* remove deadcode
* refactor
* insert steps
* push down when dropped
* fix: query by workflow id
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-05-26 14:06:20 -04:00
Brandon Wees
7c25bcc0a7
refactor: use ControlBar UI Library component ( #28567 )
...
* refactor: use ControlBar UI Library component
* chore: ci fix
* fix: memory viewer bar
* chore: rework e2e test
* chore: more ci fixes
2026-05-26 12:03:37 -04:00
Luis Nachtigall
7905853639
fix(mobile): preserve zoom level during image loading and live photo playback ( #27960 )
...
* fix(mobile): preserve zoom level when new images load in asset viewer
* fix(mobile): use actual child size for live photo
* revert fixes
* fix(mobile): keep zoom consistent when scale boundaries change
* fix(mobile): simplify scale handling in photo_view_core.dart
2026-05-26 21:10:02 +05:30
Mees Frensel
073dcc1fbe
chore(server): deprecate total field of asset search response ( #28551 )
2026-05-26 16:20:24 +02:00
renovate[bot]
ccdaa4223c
chore(deps): update github-actions ( #28623 )
2026-05-26 15:04:51 +02:00
Aaron Liu
5386b62dc4
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](https://github.com/deepinsight/insightface/blob/2a78baec428354883e0cda39c54b555a5ed8358a/README.md ), [after](https://github.com/deepinsight/insightface/blob/70f3269ea628d0658c5723976944c9de414e96f8/README.md ), c.f. https://github.com/immich-app/immich/blob/fd7ddfef54cdf2b6256c4fc08bc5ff3f86176775/machine-learning/README.md ), and it works on my machine.
* Update uv.lock
* please excuse my incompetence
2026-05-25 12:32:50 -04:00
Ben Beckford
9733fa4872
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
2026-05-24 16:03:46 -05:00
Alex
3b34c53092
feat: command for user pages ( #28554 )
2026-05-24 16:03:12 -05:00
Alex
fd7ddfef54
fix: plugin prod build typo ( #28566 )
2026-05-22 11:01:18 -05:00
Daniel Dietzler
0975b1599c
fix: remove stray migration ( #28565 )
2026-05-22 15:20:47 +00:00
Peter Ombodi
78ac0ade01
feat(mobile): add manage media APIs to NativeSyncApi ( #28441 )
...
* feat(mobile): add manage media APIs to NativeSyncApi
* fix(mobile): remove legacy local file manager from trash sync
* refactor(mobile): move media permission methods to PermissionApi
* cleanup
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-22 17:40:11 +05:30
Mert
7b9dab872b
fix(mobile): separate group ids for separate app installs ( #28448 )
...
* separate group ids
* remove pigeon method
* Revert "remove pigeon method"
This reverts commit d699ff2094 .
2026-05-21 12:25:20 -05:00
Daniel Dietzler
6413495fb8
fix: mise lockfile ( #28541 )
2026-05-21 13:13:37 +02:00
Caltsic
b414b3d32b
fix: improve form control focus visibility ( #28512 )
...
* Improve form control focus visibility
* fix: align form input focus styles
2026-05-20 15:33:56 -05:00
renovate[bot]
20da7c4267
chore(deps): lock file maintenance (terragrunt) ( #28488 )
2026-05-20 17:20:50 +02: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
Daniel Dietzler
5a61e589e8
chore: always run ci when mise.toml changes and install flutter from aqua ( #28521 )
2026-05-20 14:43:30 +00:00
renovate[bot]
85192bb110
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.5.11 ( #28522 )
2026-05-20 14:29:17 +00:00
Timon
c7ae97fa2b
chore: handle docusaurus deprecation warning ( #28516 )
2026-05-20 15:27:33 +02:00
Timon
8d02f3625d
chore: update mobile makefile command usage instructions ( #28514 )
2026-05-20 15:26:24 +02:00
bo0tzz
a5a7380a26
feat: use lockfile for mise tools ( #28503 )
2026-05-20 11:37:33 +00:00
renovate[bot]
d9ce3d2046
chore(deps): update dependency @types/node to ^24.12.4 ( #28490 )
2026-05-20 12:41:17 +02:00
renovate[bot]
815ff677fc
chore(deps): update github-actions ( #28493 )
2026-05-19 22:22:44 +00:00
bo0tzz
915d865ce2
chore: use custom sticky-comment action ( #28505 )
2026-05-19 20:25:46 +00:00
immich-tofu[bot]
c28e5f90b6
chore: modify .github/workflows/org-zizmor.yml
2026-05-19 10:45:23 +00:00
Timon
4383473ed6
fix: cleanup nestjs-zod properties ( #28447 )
...
* fix: cleanup nestjs-zod properties
* lint
2026-05-18 15:31:08 -04:00
shenlong
77701dd5a3
refactor: migrate backup config ( #28483 )
2026-05-19 00:40:10 +05:30
shenlong
d4808fdc4d
refactor: migrate album config ( #28482 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-18 23:28:59 +05:30
renovate[bot]
7fa967a98e
chore(deps): update dependency svelte to v5.55.7 [security] ( #28434 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-05-18 17:42:01 +00:00
shenlong
9cffcc9f4e
refactor: migrate network config ( #28471 )
2026-05-18 16:22:42 +00:00
shenlong
40925f0a06
refactor: immich form and text input ( #28479 )
...
refacotr: immich form
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-18 16:21:36 +00: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
Luis Nachtigall
7384799f19
fix(mobile): asset viewer stuck on spinner after rotation ( #28019 )
2026-05-18 20:32:51 +05:30
Alex
4a7f06e8fd
feat: upload and add local asset directly to album ( #28123 )
...
* feat: manually upload local assets to album
* feat: manually upload local assets to album
* refactor
* Upload status
* pr feedback
2026-05-18 20:31:22 +05:30
Lauritz Tieste
8f662fc459
refactor: enhance shared link UI and functionality ( #26464 )
...
* feat(shared-link): enhance shared link UI and functionality with new expiry options and improved layout
* rebase & cleanup
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-18 20:29:56 +05:30
Benjamin Nguyen
24b1dae9f2
feat(mobile): "Add Tags" asset multiselect option ( #26269 )
...
* add bulk_tag_assets_action_button to general_bottom_sheet.widget
include create tag tile in 'Add Tags' action modal
* follow provider -> svc -> repo pattern for tags
* rebase and cleanup
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-18 20:29:09 +05:30
Lauritz Tieste
3a3469a5f9
feat(ui): add ImmichURLInput ( #27105 )
...
feat(ui): implement shared URL input configuration and update input fields
2026-05-18 20:28:57 +05:30
Adam Gastineau
7993619ed2
fix(ios): respect status bar scroll to top in timeline views ( #28469 )
...
* fix(ios): respect status bar scroll to top in library views
* Make sure to wrap all loading states in Scaffold
2026-05-18 20:28:01 +05:30
shenlong
4d1f6f869b
chore: cleanup mobile mise config ( #28473 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-18 19:18:52 +05:30
Yaros
3eb03f7934
chore: update readmes to match main ( #28458 )
2026-05-17 13:08:27 -05:00
Alex
03ed3daa31
chore: improve mobile slideshow ( #28460 )
2026-05-17 10:54:21 -05: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
Santo Shakil
3ab3d5cf43
fix(mobile): don't force-unwrap nil localizedTitle in ios getAlbums ( #28452 )
...
crashes on ios 26 when a PHAssetCollection returns nil for
localizedTitle. fall back to localIdentifier. ref #28428
2026-05-15 18:12:28 -05:00
Ben Beckford
0ef04d9baa
feat(mobile): slideshow view ( #28421 )
...
* feat(mobile): slideshow view
* move slideshow settings to metadata store
* remove watch in initState
* wrap progress bar in safearea
* show slideshow button on remote albums
* fix crash on unknown assets
* always show slideshow option
* add zoom effect
* add padding to slideshow settings
* chore: styling tweak
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-05-15 18:12:04 -05:00
Santo Shakil
df016f9228
fix(mobile): mounted check in ThumbnailTile hero flight listener ( #28451 )
...
When the user pops back from the asset viewer mid-flight, the hero
animation can fire its status listener after _ThumbnailTileState has
been disposed. setState then throws a null check on State._element.
Guard the listener with `if (!mounted) return;` — same pattern as
#28300 in the album sync action.
2026-05-15 21:41:04 +00:00