immich/web
Thomas 746252fe39
fix(web): limit max height of search results (#20727)
The height of the search results element was unrestricted, which meant that the
asset visibility calculations were completely incorrect. The consequence of
this is that assets which should not have been visible, were. In practical
terms, all assets below the viewport were rendered when they shouldn't have
been which is terrible for performance. Limiting the height of the viewport
fixes that calculation and assets are correctly hidden.

The consequence of limiting the height of the viewport is that the intersector
then incorrectly thought the scroll position was always at the end. This has
been fixed by calculating the position of sliding window against the calculated
asset layout container height.

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-06 17:05:23 -05:00
..
bin chore: dockerfile layout changes (#19673) 2025-07-18 17:56:26 -04:00
src fix(web): limit max height of search results (#20727) 2025-08-06 17:05:23 -05:00
static chore: add security.txt (#17952) 2025-04-29 13:48:06 -04:00
.browserslistrc chore: bump browserlists version and load tscompat browserlist from file (#19212) 2025-06-16 10:03:46 -05:00
.dockerignore feat(web)!: SPA (#5069) 2023-11-17 22:13:36 -06:00
.gitignore Add ablum feature to web (#352) 2022-07-15 23:18:17 -05:00
.npmrc Add web interface with admin functionality (#167) 2022-05-21 02:23:55 -05:00
.nvmrc chore(deps): update node.js to v22.18.0 (#20662) 2025-08-05 11:01:15 +00:00
.prettierignore chore(web): fix weblate conflicts (#10071) 2024-06-10 13:59:54 +01:00
.prettierrc chore(web): enable prettier json key sorting recursively (#10120) 2024-06-11 12:52:20 +01:00
Dockerfile chore: dockerfile layout changes (#19673) 2025-07-18 17:56:26 -04:00
eslint.config.js chore(deps): update dependency eslint-plugin-unicorn to v60 (#20677) 2025-08-05 10:58:13 +00:00
package-lock.json fix(deps): update typescript-projects (#20396) 2025-08-05 12:45:47 +00:00
package.json fix(deps): update typescript-projects (#20396) 2025-08-05 12:45:47 +00:00
README.md fix(web): Updated web README.md (#12899) 2024-09-25 12:59:35 +00:00
svelte.config.js feat: service worker cache static app resources, and all entry points (#18043) 2025-06-12 19:33:29 -04:00
tsconfig.json feat: timeline performance (#16446) 2025-03-18 09:14:46 -05:00
vite.config.js chore: undeclared versions/updates (#19649) 2025-06-30 23:23:41 -04: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.