immich/web
Diogo Correia 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
..
bin
src fix(web): download archives via html POST forms (#30021) 2026-08-20 20:58:41 -04:00
static chore: add GHSA as contact in security.txt (#29940) 2026-07-16 12:30:44 +02:00
tests chore(web): sort imports (#27922) 2026-04-21 14:51:38 -04:00
.browserslistrc
.dockerignore
.gitignore
.npmrc
.prettierignore
.prettierrc chore(web): sort imports (#27922) 2026-04-21 14:51:38 -04:00
eslint.config.js chore: single line block comments (#30852) 2026-08-18 17:55:26 +02:00
lint-env.js chore: speed up lint ~4x by enabling svelte-eslint-parser's ts.sys hook (#30782) 2026-08-17 19:52:43 +02:00
mise.toml chore: sequence pnpm installs in mise tasks (#30412) 2026-07-30 15:12:42 -04:00
package.json fix(deps): update typescript-projects (#30839) 2026-08-18 12:24:54 +02:00
README.md
svelte.config.js fix(web): use deterministic version name in svelte config (#29172) 2026-06-17 16:42:26 +00:00
tsconfig.json chore(deps): update dependency typescript to v6 (#27577) 2026-04-07 17:15:55 +02:00
vite.config.ts chore: use import.meta.dirname instead of __dirname (#30738) 2026-08-12 18:01:30 +02:00

Immich web project

This project uses the SvelteKit web framework. Please refer to the SvelteKit docs for information on getting started as a contributor to this project. In particular, it will help you navigate the project's code if you understand the basics of SvelteKit routing.

When developing locally, you will run a SvelteKit Node.js server. When this project is deployed to production, it is built as a SPA and deployed as part of the server project.