Andreas Heinz
bfcf34d8b5
feat(web): persist state of file path information in details panel ( #27770 )
...
feat(enhancement): persist state of file path info in details panel
2026-04-13 12:18:34 -05:00
renovate[bot]
921c8a8de3
chore(deps): update dependency typescript to v6 ( #27577 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-04-07 17:15:55 +02: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
Min Idzelis
2166f07b1f
refactor(web): rename DayGroup to TimelineDay ( #27446 )
...
Rename DayGroup class to TimelineDay to better convey that it represents
a single day within the timeline. Updates the file, class, and all
references across 13 files.
Change-Id: I9faef9bad73cd5b11f40daaf5eb140dd6a6a6964
2026-04-01 19:30:54 -04:00
Michel Heusschen
4eb531197e
fix(web): prevent AssetUpdate from adding unrelated timeline assets ( #27369 )
2026-04-01 08:14:28 -04:00
Jason Rasmussen
17d4941089
refactor: asset select manager ( #27330 )
2026-03-30 15:45:57 +01:00
Jason Rasmussen
5889c42eb6
refactor: asset select manager ( #27329 )
2026-03-27 14:23:33 -04:00
Jason Rasmussen
14cce0cba3
refactor: asset select manager ( #27327 )
2026-03-27 13:48:51 -04:00
Jason Rasmussen
9b80ffd9c6
refactor: selection mananger ( #27325 )
2026-03-27 12:41:52 -04:00
Min Idzelis
2d950db940
refactor(web): replace intersection booleans with enum ( #27306 )
...
Change-Id: I0c9703d5960031142ae47fef23805e0a6a6a6964
2026-03-27 08:37:12 -04:00
Min Idzelis
4b9ebc2cff
refactor(web): migrate isFaceEditMode from standalone store to assetViewerManager ( #27307 )
2026-03-27 13:20:15 +01:00
Jason Rasmussen
7d58d5be12
refactor: memory manager ( #27206 )
2026-03-26 17:36:25 +00:00
Jason Rasmussen
7877097b3f
refactor: asset viewing store ( #27204 )
2026-03-26 13:22:40 -04:00
Jason Rasmussen
940a1d4ab8
refactor: change location ( #27201 )
2026-03-26 13:22:14 -04:00
Jason Rasmussen
f2445ecab1
fix(web): stop in-progress uploads on logout ( #27021 )
2026-03-19 13:05:11 -04:00
Jason Rasmussen
48e6e17829
feat: primary notifications ( #26988 )
2026-03-17 17:54:11 -04:00
rthrth-svg
2c6d4f3fe1
fix(web): copy yearMonth in MonthGroup to avoid shared object reference with asset ( #26890 )
...
Co-authored-by: Min Idzelis <min123@gmail.com>
2026-03-13 22:27:08 +01:00
Mees Frensel
9996ee12d0
refactor(web): crop area tool ( #26843 )
2026-03-11 18:58:26 +01:00
Min Idzelis
8764a1894b
feat: adaptive progressive image loading for photo viewer ( #26636 )
...
* feat(web): adaptive progressive image loading for photo viewer
Replace ImageManager with a new AdaptiveImageLoader that progressively
loads images through quality tiers (thumbnail → preview → original).
New components and utilities:
- AdaptiveImage: layered image renderer with thumbhash, thumbnail,
preview, and original layers with visibility managed by load state
- AdaptiveImageLoader: state machine driving the quality progression
with per-quality callbacks and error handling
- ImageLayer/Image: low-level image elements with load/error lifecycle
- PreloadManager: preloads adjacent assets for instant navigation
- AlphaBackground/DelayedLoadingSpinner: loading state UI
Zoom is handled via a derived CSS transform applied to the content
wrapper in AdaptiveImage, with the zoom library (zoomTarget: null)
only tracking state without manipulating the DOM directly.
Also adds scaleToCover to container-utils and getAssetUrls to utils.
* fix: don't partially render images in firefox
* add passive loading indicator to asset-viewer
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-03-11 09:48:46 -05:00
Michel Heusschen
45eff1c663
fix(web): prevent unrelated assets from appearing in tag view ( #26816 )
2026-03-10 17:43:30 +01:00
Min Idzelis
8e50d25f45
feat(web): animate zoom toggle with cubicOut easing ( #26731 )
2026-03-10 10:42:02 -05:00
Snowknight26
4791d9c0c3
fix(web): show the correct cursor at crop bounds when editing an asset ( #26748 )
2026-03-09 19:39:01 +01:00
Michel Heusschen
a47b232235
fix(web): refresh recent albums sidebar after album changes ( #26757 )
2026-03-09 17:11:32 +01:00
Timon
011ecbb43d
refactor(web): remove replaceAsset action ( #26444 )
2026-03-04 09:05:44 -06:00
Paul Makles
f94e0fbc39
fix(maintenance mode): wait for valid server config on restart ( #26456 )
...
Signed-off-by: izzy <me@insrt.uk>
2026-03-04 11:16:21 +00:00
Mees Frensel
a284e38890
fix(web): timeline and asset viewer RTL support ( #26513 )
2026-03-03 09:01:54 +01:00
Min Idzelis
062546c168
refactor: rename image cancel method ( #26381 )
2026-03-02 09:23:20 -05:00
Michel Heusschen
771816f601
feat(web): map timeline sidepanel ( #26532 )
...
* feat(web): map timeline panel
* update openapi
* remove #key
* add index on lat/lng
2026-02-26 12:03:23 -05:00
Daniel Dietzler
55ee9f76da
chore: eslint 10 ( #26490 )
2026-02-24 08:24:18 -05: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
Jason Rasmussen
1d11106dd0
refactor: add to album ( #26366 )
2026-02-19 15:27:30 -05:00
Michel Heusschen
ceef65154d
fix(web): clear cache when asset changes ( #26257 )
...
* fix(web): clear cache when asset changes
* formatting
2026-02-17 11:43:08 +01:00
Michel Heusschen
9ab887d5d2
perf(web): speed up multi asset operations ( #26217 )
2026-02-14 15:24:47 -05:00
Jason Rasmussen
5bf4e9595c
refactor: purchase store ( #25734 )
2026-02-12 13:32:17 -05:00
dolfje
5f18110e97
fix(web): removing a person in an asset, doesn't remove the asset in … ( #26068 )
...
* fix(web): removing a person in an asset, doesn't remove the asset in the persons view (without refresh)
* prettier
---------
Co-authored-by: Nikos Verschore <nikos@uwsoftware.be>
2026-02-09 11:51:02 -06:00
Michel Heusschen
211dc3c056
fix: add missing translations for image editor ( #25957 )
2026-02-06 13:08:24 +01:00
Michel Heusschen
57e0835b46
fix: ensure theme stays in sync with @immich/ui ( #25922 )
2026-02-05 08:36:20 -05:00
Michel Heusschen
fdf06a91cc
fix: improve asset editor exit handling ( #25917 )
2026-02-05 12:01:54 +01:00
Michel Heusschen
5212bca3d0
fix: reset zoom when navigating between assets ( #25863 )
2026-02-03 11:07:06 -06:00
Daniel Dietzler
94965f6d66
chore: rework tags sidebar ( #25855 )
2026-02-03 16:06:26 +00:00
Brandon Wees
1a04caee29
fix: reset and unsaved change states in editor ( #25588 )
2026-01-29 15:18:30 -06:00
Jason Rasmussen
10b53b525d
refactor: event manager ( #25565 )
2026-01-29 08:52:18 -05:00
Brandon Wees
f467a5e2c8
fix(web): edit order handling ( #25496 )
...
* fix(web): edit order handling
* chore: tests
* simplify normalization function
* chore: refactor
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-01-27 10:55:10 -06:00
Brandon Wees
b5c3d87290
fix: clear ocr and asset cache when edits are applied ( #25533 )
...
* fix: clear ocr and asset cache when edits are applied
* use event manager
* fix: undefined check
2026-01-26 18:48:34 +00:00
Min Idzelis
646bb372ab
feat: add onMany to BaseEventManager ( #25492 )
...
Use a map of events instead of array of tuples for better ergonomics.
2026-01-26 10:34:26 -05:00
Jason Rasmussen
4fedae4150
refactor: event manager ( #25481 )
...
* refactor: event manager
* fix: broken downloadFile endpoint
2026-01-23 18:02:23 -05:00
Jason Rasmussen
b52e8cd570
refactor: asset navbar ( #25480 )
2026-01-23 16:19:46 -05:00
Jason Rasmussen
af51a11b1b
refactor: asset navbar ( #25476 )
2026-01-23 14:06:19 -05:00
Min Idzelis
a96a08939e
refactor: rename preloadManager to imageManager ( #25436 )
...
rename: preloadManager to imageManager
2026-01-22 21:11:57 -06:00
Jason Rasmussen
417af66f30
refactor(web): on person thumbnail ( #25422 )
2026-01-21 13:13:02 -05:00