Trek_CN/server
jubnl 7c9e945b8c
fix: serve real thumbnails for local photos instead of full-resolution originals (#822)
Add thumbnailService that lazy-generates a WebP thumbnail (800px max, q80) on
first GET /api/photos/:id/thumbnail request using sharp. The generated file is
stored at uploads/journey/thumbs/<sha1>.webp and the path is persisted to
trek_photos.thumbnail_path so subsequent requests are served directly from disk.
Also populates width/height as a side-effect.

streamPhoto now branches on kind for local file_path rows — thumbnail requests
use the stored/generated thumb path; original requests (and fallback when thumb
generation fails) continue to serve the full file. Remote providers (Immich,
Synology) are unaffected.
2026-04-22 15:56:34 +02:00
..
assets refactor: move airports.json out of server/data into server/assets 2026-04-18 02:02:09 +02:00
public chore(CRLF): normalize index.html line endings to LF 2026-04-05 04:35:17 +02:00
scripts docs: add full wiki with 74 pages, assets, and CI workflow 2026-04-20 10:11:53 +02:00
src fix: serve real thumbnails for local photos instead of full-resolution originals (#822) 2026-04-22 15:56:34 +02:00
tests fix(trips): copy todo_items and budget_category_order when duplicating a trip 2026-04-21 20:38:53 +02:00
.env.example feat(login): add language dropdown, browser auto-detection and configurable default 2026-04-12 20:03:57 -03:00
package-lock.json fix: serve real thumbnails for local photos instead of full-resolution originals (#822) 2026-04-22 15:56:34 +02:00
package.json fix: serve real thumbnails for local photos instead of full-resolution originals (#822) 2026-04-22 15:56:34 +02:00
reset-admin.js Stabilize core: better-sqlite3, versioned migrations, graceful shutdown 2026-03-22 17:52:24 +01:00
tsconfig.json some fixes 2026-03-30 06:59:24 +02:00
vitest.config.ts refactor(mcp): replace direct DB access with service layer calls 2026-04-04 18:12:53 +02:00