Commit Graph
3555 Commits
Author SHA1 Message Date
Jithendra BathalaandGitHub f0b12b9bd2 fix(web): change "View asset owners" to "Hide asset owners" when enabled (#31393)
Update the shared album options menu to display "Hide asset owners" when asset owners are currently visible, and "View asset owners" when hidden.

Fixes #31369
2026-09-11 09:05:55 -05:00
68e3409305 fix(deps): update dependency maplibre-gl to v6 [security] (#31355)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-09 13:10:22 +02:00
Daniel DietzlerandGitHub d2245c7d07 fix: memory page navigation (#31334) 2026-09-09 12:31:10 +02:00
Mees FrenselandGitHub 95bfed15d2 fix(web): use RTL-friendly layout for people panel buttons (#31266) 2026-09-08 08:28:41 -05:00
Mees FrenselandGitHub d7ae4ae1d0 fix(web): word-wrap long album names (#31265) 2026-09-08 08:25:26 -05:00
MaximALandGitHub bbd1e6d381 chore(web): Change x to typographically correct × (&times; in HTML) symbol (#31304) 2026-09-07 11:53:45 +02:00
Yohanes KiranaandGitHub 040ae6bc0e fix(web): partner sharing timeline (#31241)
* fix(web): prevent websocket assets from  leaking into scoped timelines

* test: add 1 more test case to make sure the changes didnt break the logic
2026-09-03 12:23:29 -04:00
Mees FrenselandGitHub da8131d5c2 fix(web): album date range formatting (#28564) 2026-09-03 10:31:15 +02:00
Jason RasmussenandGitHub a68937cee7 fix: fdroid link (#31219) 2026-09-02 10:14:42 -04:00
5fcfb63980 chore(deps): update typescript-projects (#31183)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-01 12:25:41 +02:00
AlexandGitHub 9dead7857f fix(web): interaction with some filter elements closes the search panel (#31107) 2026-08-31 19:58:57 +02:00
AlexandGitHub 015e5f20d7 chore: tune map icon size (#31108) 2026-08-31 08:58:05 -04:00
bo0tzzandGitHub 1a8fcf1b9f fix(web): face editor coordinates on a not-yet-loaded video (#31083) 2026-08-28 09:20:54 +00:00
immich-push-o-matic[bot] e61312084b chore: version v3.2.0-rc.0 2026-08-27 19:43:45 +00:00
rickytrevorandGitHub 25c60ef99e feat(web): view assets in map viewport (#27492) 2026-08-27 20:39:32 +02:00
Jason RasmussenandGitHub b3eb0b59ee fix(web): map (#31056)
* fix(web): map without set start/end dates

* fix(web): invalid timeline map options
2026-08-27 13:24:33 -04:00
84adce7d43 fix(web): misleading toast notification (#30976)
* Added the proper toast for each scenario in the if/else statement instead of only having toastManager.primary() for all scenarios.

* Created a test file for album.service.ts.

* chore: cleanup

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-27 13:08:54 -04:00
Daniel DietzlerandGitHub 302270a3b3 fix: draggable Immich logo (#31055) 2026-08-27 17:52:53 +02:00
f16fdafefc fix(web): preserve slideshow pause state when viewing video slides (#30278)
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-08-27 16:54:44 +02:00
Daniel DietzlerandGitHub c7d24321bf feat: allow users to re-run facial recognition for their group (#30965) 2026-08-27 16:38:07 +02:00
ZlendyandGitHub 6eb1c93882 fix(web): do not play memory video if the MemoryVideoViewer element is not visible (#30947) 2026-08-27 15:27:27 +02:00
05e84dd5db fix(web): restore timeline scroll when the asset id cannot be resolved (#30916)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-08-27 13:47:09 +02:00
bo0tzzandGitHub 6221e29c70 fix: throw a typed error on malformed api responses (#31006)
* fix: throw a typed error on malformed api responses

* fix: drop response body parse check

* fix(web): keep json response validation when overriding fetch (#31008)

* fix(cli): report malformed api responses (#31007)
2026-08-26 00:38:39 +00:00
351be95769 feat: memories view (#28675)
* wip web memories view

* paginate searchMemories

* improve memories ui

* feat(mobile): memories view

* improve memories web ui

* fix(web): avoid unnecessary memory refreshes

* refactor(web): move timline memory manager filter

* fix(web): memories infinitely loading on 0 results

* fix(web): memories resetting

* feat(web): animated memory previews

* feat(web): memory page dark styling

* chore(mobile): fix failing memory lane tests

* chore(mobile): remove old import

* chore(e2e): fix failing memory lane tests

* chore(server): revert searchMemories changes

* chore(server): lint

* chore(mobile): fix bad merge

* chore(e2e): fix memory ui tests

* chore(web): rename /memory to /memories

* chore(mobile): linting

* chore(web): linting

* fix(web): prevent duplicate memory page loading

* fix(web): lint

* fix(web): memories page improvements

* chore(mobile): lint

* fix(mobile): fix translations

* fix(mobile): build errors

* fix(web): prevent memories from infinitely loading

* chore(e2e)): fix failng memory viewer test

* chore(web): clean up types in memory manager

* chore(web): lint

* feat: update list and detail memory page layouts

* onlyFavorites through drift

* rename to get all

* mobile: use widgetWhen in memory list page

* remove redundant check

* fix: e2e

---------

Co-authored-by: Timon <mail@timonrieger.de>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-24 19:16:33 -05:00
0b75b20267 perf(web): use hash-wasm SHA-1 with pure-JS fallback for upload hashing (#30107)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-24 20:24:04 +02:00
Brandon WeesandGitHub 6f6f2362d7 chore: lint for unguarded redirect URL reading (#30950)
* chore: lint for unguarded redirect URL reading

* fix: double continue wrapper
2026-08-24 10:07:45 -04:00
Brandon WeesandGitHub cbf5d83a69 fix: maintentance return URL sanitization (#30948) 2026-08-23 17:49:11 +00:00
AlexandGitHub 7412079f88 chore: search filter animation improvement and reactive search cue example (#30866)
* chore: better animation for search form and search cue

* better search cue example

* chore: revert mise.lock changes
2026-08-21 15:11:23 -05:00
79c4c00f70 feat(web): tag renaming v2 (#27909)
* implement updated rename tag feature

* Fix tag update handler

* Ensure toast displays updated tag name

* Ensure toast displays updated tag name

* Handle updates to tag closure table, prevent slash in API filename, test case updates

* delete child tags on parent delete

* Update frontend for better handling of nested tags

* pr checklist fixes

* fix unit test for tag controller

* Hide path for top-level tags

* regenerate SQL files

* name updates optional for tag update operations

* e2e tests for new tag api changes

* changes from code review, additional test coverage

* test fixes, web component refactor

* test assets

* test asset updates

* open-api rebuild

* update unit tests

* fix tag dto tests

* Update web/src/lib/modals/TagEditModal.svelte

Fix missing color bug

Co-authored-by: Ray <3608878+Pecacheu@users.noreply.github.com>

* fix tag e2e test

* remove closure table bug fixes

* remove nullish from tag name update schema

* regenerate openapi and sql

* fix test and e2e test

* simplify tag repository update process

* minor fix and sql regenerate

* fix tests, regen open-api, update dto

* Remove unused function

* Remove accidental test asset ref

* re-add test assets

* pin submodule to main branch commit

* Update test cases based on feedback

* Server fixes based on feedback

* regenerate sql

---------

Co-authored-by: Ray <3608878+Pecacheu@users.noreply.github.com>
2026-08-21 14:55:11 -04:00
Diogo CorreiaandGitHub c9776fb990 fix(web): download archives via html POST forms (#30021)
* fix: download archives via html POST forms

* refactor: fix css of download panel, add translations and toasts

* style: run lint, formatter, check

* chore: generate open-api specs

* refactor(web): simplify download manager, use SvelteMap

* refactor(server): parse fields from x-www-form-urlencoded request

* refactor: move content-disposition to ImmichReadStream

* Pass asset ids as a comma-separated string

This fixes a bug where the 1000 parameter limit is being hit when
downloading 1000+ assets.

* Add download controller test

* Fix lint warnings
2026-08-20 20:58:41 -04:00
Sacha BroutéandGitHub c7f6197e75 feat: add oauth account management url (#30873) 2026-08-20 21:31:34 +00:00
11b1aa5ecf feat: cluster groups (#30739)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-20 20:03:00 +02:00
Jason RasmussenandGitHub f9f7311418 refactor: use public config (#30891) 2026-08-20 12:44:39 -04:00
Jason RasmussenandGitHub e529557160 feat: new config endpoints (#30881)
* refactor: config endpoints

* chore: pr feedback
2026-08-20 11:46:17 -04:00
Jason RasmussenandGitHub 47c5a3dbf6 refactor: api key response dto (#30887) 2026-08-20 11:23:12 -04:00
Ben BeckfordandGitHub 394996eb59 feat(web): new search ui (#30279) 2026-08-19 14:32:32 +02:00
Mees FrenselandGitHub d8e25b8df0 fix(web): gracefully handle map errors when WebGL is disabled (#26538) 2026-08-18 22:37:47 +00:00
Brandon WeesandGitHub 93d2d30fe0 feat: rotate an API key (#30801)
* feat: rotate an API key

* fix: test response

* chore: create new api key scope

* chore: code review
2026-08-18 16:07:39 -04:00
Daniel DietzlerandGitHub 03da1ba108 chore: single line block comments (#30852) 2026-08-18 17:55:26 +02:00
YarosandGitHub d00867d702 fix: freeze on navigating back album description (#30781) 2026-08-18 13:10:42 +02:00
20edf0051c fix(deps): update typescript-projects (#30839)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-18 12:24:54 +02:00
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
Yuichiro YamashitaandGitHub 01e40c0748 chore: speed up lint ~4x by enabling svelte-eslint-parser's ts.sys hook (#30782) 2026-08-17 19:52:43 +02:00
Jason RasmussenandGitHub b19c4a591e chore(web): remove unused code (#30768) 2026-08-14 16:04:12 -04:00
Ben BeckfordandGitHub 447cc40a50 feat: workflow logging (#29878)
* feat: workflow logging

* chore: update sql and openapi patch

* chore: include id in workflow log entries

* chore(server): update sql and lint

* chore(mobile): remove openapi files

* chore(web): lint

* chore: clean up workflow logging

* chore(server): add runId to workflow logs

* chore(server): store workflow results as enum
2026-08-13 19:18:24 -07:00
Ben BeckfordandGitHub 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
Mees FrenselandGitHub 2a1691868e chore: use import.meta.dirname instead of __dirname (#30738) 2026-08-12 18:01:30 +02:00
Daniel DietzlerandGitHub a55dc80a56 chore: enforce strict equality checks (#30718) 2026-08-11 13:15:51 -04:00
Daniel DietzlerandGitHub d1662fb2b6 fix: face label clipping (#30712) 2026-08-11 13:46:26 +00:00
renovate[bot]andGitHub 7fea9f2066 fix(deps): update dependency @immich/ui to ^0.85.0 (#30705) 2026-08-11 12:02:06 +02:00