Ashwani Agarwal and Daniel Dietzler
558ed71b7d
feat: keyboard shortcuts for person page ( #31679 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-11-05 20:34:14 +03:00
Daniel Dietzler
b7b361bed1
fix: asset viewer reactivity ( #32978 )
2026-11-05 20:34:14 +03:00
Thomas Günther
25d368790f
fix(web): smoother asset viewer gradients ( #32946 )
...
* Smoother asset viewer gradients
* Use Tailwind utilities for the gradient masks
2026-11-05 20:34:14 +03:00
Mees Frensel
beb49e8005
chore(web): refactor help and support modal ( #32835 )
2026-11-04 20:47:09 +03:00
Daniel Dietzler
87aed8305a
refactor(web): migrate from use: to attachments ( #32968 )
2026-11-04 20:47:09 +03:00
Daniel Dietzler
c3cec81b0a
fix(web): scroll memory ( #32964 )
2026-11-04 20:47:09 +03:00
Daniel Dietzler
4c4ed38353
fix: people page websockets ( #32940 )
2026-11-04 20:46:45 +03:00
Daniel Dietzler
657f24550c
fix: web error handler ( #32935 )
2026-11-04 20:46:45 +03:00
Codex
b5da1f06fb
test(web): isolate browser preferences and stabilize date input
2026-11-03 20:13:03 +03:00
Codex
d3d5374a10
chore: integrate upstream fixtures and refresh dependency lock
2026-11-03 19:57:10 +03:00
renovate[bot] and Daniel Dietzler
a8032b2e6d
chore(npm): update typescript-projects ( #32894 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-11-03 19:39:38 +03:00
Jason Rasmussen
e14fcd0a52
feat: web medium tests ( #32817 )
...
* feat: web medium tests
* chore: pr feedback
* fix: merge
2026-11-03 19:39:30 +03:00
Codex
b10d600e23
fix(web): restore fonts, upload worker and album layout updates
...
Apply upstream fixes from 5ebda1f0b9b109c9098026866a354f0abb4823a8, 8d662d75791f6a67effacbf9e54cbefc92e8d313 and a9c4e0ed65757279fdade2b0126c10a018286901.
2026-11-02 20:46:50 +03:00
Codex
2800192c76
feat: add private file storage for web and Android
2026-10-31 23:07:09 +03:00
Codex
916718b558
fix(web): normalize maintenance backup test formatting
2026-10-31 07:55:35 +03:00
Zack Pollard
b3fe177869
feat: futo backups 1.12.1 with restic's parallel scan ( #32830 )
...
(cherry picked from commit ca99e909199cfcec87a6e5b613a94bde23847249)
2026-10-31 07:23:57 +03:00
Jason Rasmussen
11900d5a8c
chore: add CLAUDE.md ( #32801 )
...
* chore: add CLAUDE.md
* chore: pr feedback
* chore: contributing guideline rules
* chore: pr feedback
(cherry picked from commit fc30140e6ec313c94405e7ca4fbab8096dc1c6c7)
2026-10-31 07:22:45 +03:00
immich-push-o-matic[bot]
5dfa7214df
chore: version v3.4.0-rc.0
...
(cherry picked from commit 81778c8c4a9e015511af21eada4bbf829296580d)
2026-10-31 07:22:44 +03:00
Paul Makles
925aaed54c
feat: backups ( #32268 )
...
Signed-off-by: izzy <me@insrt.uk >
Co-authored-by: Zack Pollard <zack@futo.org >
(cherry picked from commit 177b57b689be293bad96b8092e473dc03e068e9c)
2026-10-31 07:21:01 +03:00
Bautrell12
c76bd08f73
feat(web): enable the shortcut "f" to favorite/unfavorite in multiselection mode ( #31411 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit aeee9be333f4faac877b99cacd355329a5001c25)
2026-10-29 20:43:01 +03:00
Brent Saltzman
3c383e46d1
fix: avoid duplicate manufacturer in camera name ( #32657 )
...
* fix(web,mobile): avoid duplicate manufacturer in camera name
Some cameras (e.g. Canon) already include the manufacturer in the EXIF
model, which made the details view show "Canon Canon EOS R6m2". Only
prepend the make when the model does not already start with it.
* refactor(web,mobile): address review feedback on camera name helper
- Use toLowerCase instead of toLocaleLowerCase for the comparison
- Hoist the whitespace regex to a static in the Dart helper
- Match any word of the make, so "EASTMAN KODAK COMPANY" with
"KODAK EASYSHARE C875" is deduplicated too
- Compute the camera name once in DetailPanel
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit cb2ea1e308d8a85f2f340f50b646f161d3528670)
2026-10-29 20:41:02 +03:00
Valentin Agachi
c3933169de
feat(server): add OCR extraction workflow filter ( #32464 )
...
feat(server): add OCR workflow filter
(cherry picked from commit 2e0eb35e93dcf8468398d7015daa5ab231c7dd9c)
2026-10-29 20:41:01 +03:00
Codex
2c1f321627
Align local web integrations with updated lint rules and Cast types
2026-10-28 21:00:29 +03:00
Jason Rasmussen
6dbe72b6a1
fix: gc time for long-lived queries ( #32793 )
...
(cherry picked from commit 079568691580605e92c5d3c3c9037cfbd657f374)
2026-10-28 20:41:41 +03:00
renovate[bot]
09bb2a9fb5
fix(deps): update typescript-projects ( #32759 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit f26b9c83adb12848e94bcfc77e1b67be1756bdc9)
2026-10-28 20:41:41 +03:00
renovate[bot]
7fb7699c06
chore(deps): update dependency eslint-plugin-unicorn to v78 ( #32588 )
...
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit 72e2bc8b0bc4a7e0a84ac16c0bde7f5e538729fb)
2026-10-28 20:41:28 +03:00
Codex
8119a5ee22
Finalize local12 formatting and document guarded browser APIs
2026-10-27 23:27:18 +03:00
Codex
54881128d6
Adapt local features and dependency locks for SvelteKit 3 and local12
2026-10-27 23:17:33 +03:00
Mert
db411a4497
feat(server): add jxl as target format ( #32732 )
...
(cherry picked from commit 9560989cb97fb93cd6ab74f7811acce133a9b768)
2026-10-27 23:12:52 +03:00
bo0tzz
a93bbdf3e7
feat: inline hashes in helmet CSP ( #30529 )
...
* feat: inline hashes in helmet CSP
* tests
* fix: svelte3 merge
* chore: clean up
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
(cherry picked from commit 02a5d4b2060dad6f5779c196b7bb2b43f871ffb2)
2026-10-27 23:12:41 +03:00
renovate[bot]
7a6123f8e6
fix(deps): update dependency @immich/ui to ^0.91.0 ( #32587 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit d073539afdd20530baaf85ba414f396b94112b5c)
2026-10-27 23:12:40 +03:00
renovate[bot]
4960eddaf3
fix(deps): update typescript-projects ( #32755 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit 8aa9054366fac2738799a2356f9b760a2a441709)
2026-10-27 23:12:40 +03:00
Mees Frensel
f96816b55f
refactor(web): bulk (un)archive actions ( #32189 )
...
(cherry picked from commit d26c0eec10f1bb49117b71b667c88a8a715b2489)
2026-10-27 23:12:21 +03:00
Kairui Liu
c482c1e53e
fix: preserve stack primary asset selection ( #31380 )
...
* fix: preserve stack primary asset selection
* test: select stacked assets by id
* chore: limit dart formatting changes
* fix: address stack viewer review feedback
* fix: align stack ordering with server
* fix: keep stack primary asset first
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
(cherry picked from commit 5a5d7be11084969c3c00a294ce6c0527042f88e7)
2026-10-27 23:12:13 +03:00
cevdet
75a1d7c5c8
perf(web): reduce favicon assets ( #32594 )
...
(cherry picked from commit 5177913e0a1dba27d5d46ae4ba46222e94e17d0b)
2026-10-27 23:12:13 +03:00
Mees Frensel
5630e541e3
refactor(web): clean up ( #32627 )
...
(cherry picked from commit 5ff8436781681755042fe6416024d0c4885b851d)
2026-10-27 23:12:13 +03:00
Mees Frensel
27ccbee82d
refactor(web): use svelte builtin id generator ( #32631 )
...
(cherry picked from commit 285552785f1bd7cb5ad431c8b3423d1d5e858188)
2026-10-27 23:12:13 +03:00
Antonio Sarro
3458767d66
fix(web): downloads aborted when switching assets in the viewer ( #32663 )
...
* fix(web): downloads aborted when switching assets in the viewer
The service worker also handled the download request, so the viewer cancelling its image urls killed the download too. Only handle image requests there.
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
(cherry picked from commit 8c3fdda7ead1a70158780e45a67a11413b208dba)
2026-10-27 23:12:13 +03:00
Mees Frensel
cd28300f94
fix(web): show metadata field if it is missing for one duplicate asset ( #32601 )
...
(cherry picked from commit b203227fdddff02c4686ff8db9d6054818900929)
2026-10-27 23:12:13 +03:00
renovate[bot]
f2a502448d
chore(deps): update dependency @sveltejs/enhanced-img to v1 ( #32395 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit df50249c03ddac9417a2172cfbbaef848163ed4f)
2026-10-27 23:11:28 +03:00
Jason Rasmussen
a3ffe3b3c3
refactor: asset face queries ( #32679 )
...
(cherry picked from commit 5077a85d5e6775c48b38de7fcf25f2a3864b6a83)
2026-10-27 23:11:20 +03:00
Daniel Dietzler
8125af4859
chore: migrate web imports from .js to .ts ( #32742 )
...
(cherry picked from commit f97c2243fbe5f64a4e1bf96128b82a37cc481506)
2026-10-27 23:11:20 +03:00
Daniel Dietzler
e5b4dd1041
feat: sveltekit 3 ( #32737 )
...
(cherry picked from commit 2576ee28cfb790e99ddf401a129e1d9a18713121)
2026-10-27 23:11:06 +03:00
Mees Frensel
c48394aa6e
refactor(web): use declaration tags instead of @const ( #32639 )
...
(cherry picked from commit c6d1e15c77c5f3786b26b292def27247b258cde5)
2026-10-26 22:34:24 +03:00
5d1167a36c
refactor: apikeys, passkeys, and sessions ( #32670 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: jrasm91 <4334196+jrasm91@users.noreply.github.com >
2026-10-24 11:51:43 +03:00
Jason Rasmussen
e3bf54e2ba
refactor: album queries ( #32668 )
2026-10-24 11:51:43 +03:00
Codex
9e889bd4dc
Adapt local regression tests to new configuration queries
2026-10-22 20:48:48 +03:00
Jason Rasmussen
5f54700344
refactor: folder view queries ( #32667 )
...
(cherry picked from commit 6bf016964515ed65bb45cd1cf7b7bfadb405559a)
2026-10-22 20:43:53 +03:00
Jason Rasmussen
0991f506bb
refactor: shared link queries ( #32666 )
...
(cherry picked from commit 0a73481a8fdb3cfbab29f23da48e26133dc4c064)
2026-10-22 20:43:53 +03:00
Jason Rasmussen
fa77f168a0
refactor: notification queries ( #32653 )
...
(cherry picked from commit 8f3ba2c808e02e2a606b6acc65ce22f8ee3f9b34)
2026-10-22 20:43:53 +03:00