Trek_CN/server/src
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
..
db feat(photos): add 1h disk cache for remote thumbnails and keep tabs mounted 2026-04-17 20:49:38 +02:00
demo v2.6.2 — TREK Rebrand, OSM Enrichment, File Management, Hotel Bookings & Bug Fixes 2026-03-28 16:38:08 +01:00
mcp chore(mcp): raise default session and rate-limit caps 2026-04-11 02:29:11 +02:00
middleware feat(pwa): implement real offline mode with IndexedDB sync 2026-04-14 23:04:25 +02:00
routes feat(maps): add kill switches for Google Places autocomplete and details 2026-04-17 19:28:40 +02:00
services feat(photos): add 1h disk cache for remote thumbnails and keep tabs mounted 2026-04-17 20:49:38 +02:00
systemNotices feat(system-notices): apply version gates to v3 upgrade notices 2026-04-17 20:04:54 +02:00
utils feat: enhance Synology Photos integration with OTP, SSL skip, and better UX 2026-04-11 18:25:42 +02:00
addons.ts feat(notices): add system notice infrastructure 2026-04-16 14:36:33 +02:00
app.ts Merge branch 'feat/system-notices' into dev 2026-04-16 14:38:14 +02:00
config.ts fix(login): address review feedback on language dropdown PR 2026-04-15 03:04:25 +02:00
index.ts feat(photos): add 1h disk cache for remote thumbnails and keep tabs mounted 2026-04-17 20:49:38 +02:00
scheduler.ts feat(photos): add 1h disk cache for remote thumbnails and keep tabs mounted 2026-04-17 20:49:38 +02:00
types.ts fix(journey): fix issue #704 — active logic, archive, places rename, search, trip reminders 2026-04-17 16:59:23 +02:00
websocket.ts Add comprehensive backend test suite (#339) 2026-04-03 13:17:53 +02:00