Trek_CN/client
jubnl b5b1d32b31
feat(photos): add 1h disk cache for remote thumbnails and keep tabs mounted
Closes #686

- Add trekPhotoCache service: SHA1-keyed disk cache under uploads/photos/trek/,
  1h TTL, in-flight dedup map to prevent stampedes on concurrent requests
- Add migration 108: trek_photo_cache_meta table
- Hook cache into streamPhoto for Immich/Synology thumbnail path;
  originals bypass cache
- Add fetchImmichThumbnailBytes / fetchSynologyThumbnailBytes returning
  Buffer instead of piping, used by the cache layer
- Add scheduler entry (every 2h + startup sweep) to evict expired disk
  files and DB rows via sweepExpired()
- Client: convert journey tab conditional-mount to hidden-toggle so
  img elements stay in DOM across tab switches, preventing redundant
  thumbnail requests on rapid tab changes
- Expose invalidateSize() on JourneyMapHandle; call it on map tab
  activation to fix Leaflet rendering in previously-hidden container
2026-04-17 20:49:38 +02:00
..
public ui(trip): replace plane loading animation with TREK logo GIF 2026-04-05 17:28:04 +02:00
scripts Add PWA support for iOS home screen install 2026-03-21 22:21:23 +01:00
src feat(photos): add 1h disk cache for remote thumbnails and keep tabs mounted 2026-04-17 20:49:38 +02:00
tests feat(notifications): add ntfy as a first-class notification channel 2026-04-15 13:59:25 +02:00
index.html feat: Journey addon — travel journal with entries, photos, public sharing & PDF export 2026-04-11 19:01:34 +02:00
package-lock.json feat(notices): add system notice infrastructure 2026-04-16 14:36:33 +02:00
package.json feat(notices): add system notice infrastructure 2026-04-16 14:36:33 +02:00
postcss.config.js Initial commit — NOMAD (Navigation Organizer for Maps, Activities & Destinations) 2026-03-18 23:58:08 +01:00
tailwind.config.js Initial commit — NOMAD (Navigation Organizer for Maps, Activities & Destinations) 2026-03-18 23:58:08 +01:00
tsconfig.json test(front): add test suite frontend (WIP) 2026-04-07 12:31:09 +02:00
vite.config.js fix(csp): disable Vite module preload polyfill to prevent inline script violation 2026-04-10 01:10:32 +02:00
vitest.config.ts fix(tests): restore native AbortController for undici fetch compatibility 2026-04-14 15:08:55 +02:00