immich/web
Afonso Mendonça Ribeiro 95c1f0efeb
fix: timestamp handling for database backup in Web UI (#27359)
* Fix #26502: Fix timestamp handling for database backup in Web UI

Frontend parsed backup timestamps as UTC, but they were in the
server's local timezone, causing wrong relative times.

Add `timezone` field to DatabaseBackupDto to expose server timezone.
Update frontend to parse timestamps using this timezone.
Convert timestamps to user's local timezone before rendering.
Fallback to browser timezone if server timezone is missing.

Ensures correct relative time display in Web UI.

* fix: regenerate open-api types and remove custom backup type

- Ran `make open-api` to update types based on backend changes
- Removed custom BackupWithTimezone type in MaintenanceBackupsList
- Updated timezone props to use the newly generated native type

* fix: simplify timezone handling for database backups

- Updated DatabaseBackupDto to make timezone a required property
- Removed manual DateTime.local().zoneName fallbacks
- Cleaned up type casts after regenerating OpenAPI types

* fix: Add missing newline at end of spec file
2026-04-06 17:27:48 +02:00
..
bin chore: build sdk while server is starting (#22083) 2025-09-16 12:48:31 -04:00
src fix: timestamp handling for database backup in Web UI (#27359) 2026-04-06 17:27:48 +02:00
static chore: update PWA support (#26491) 2026-03-02 11:35:53 +00:00
tests chore(web): bump immich/ui for tooltips (#24632) 2026-01-05 19:51:03 +00:00
.browserslistrc chore: bump browserlists version and load tscompat browserlist from file (#19212) 2025-06-16 10:03:46 -05:00
.dockerignore
.gitignore
.npmrc
.nvmrc chore(deps): update node.js to v24.14.1 (#27412) 2026-03-31 12:46:38 +02:00
.prettierignore
.prettierrc
eslint.config.js feat(web): wasm justified layout, sync edition (#23194) 2025-10-25 00:06:05 -05:00
mise.toml chore: update task commands in web/mise.toml to use pnpm (#26345) 2026-02-19 16:10:55 -05:00
package.json chore(deps): update node.js to v24.14.1 (#27412) 2026-03-31 12:46:38 +02:00
README.md fix(web): Updated web README.md (#12899) 2024-09-25 12:59:35 +00:00
svelte.config.js chore: quiet down dotenv (#26245) 2026-02-15 22:25:18 -06:00
tsconfig.json refactor(web): Extract VirtualScrollManager base class from TimelineManager (#23017) 2025-10-17 17:37:54 +00:00
vite.config.ts chore: add vitest project names and fix server config root paths (#26684) 2026-03-04 08:20:43 -05: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.