aboutsummaryrefslogtreecommitdiff
path: root/server.mjs
AgeCommit message (Collapse)Author
2026-08-04stream import uploads to disk; advertise direct-origin fast uploads; fix ↵dax
/api/paths total
2026-08-04show upload progress and indexing state; raise upload caps and timeoutsdax
2026-08-04add photo import: upload -> photoprism, fix desktop file dialogdax
- POST /api/import with native multipart parser (no new deps); stages files then delegates indexing+thumbnailing to PhotoPrism via `photoprism cp` - pathways reflects new photos immediately via refresh() - upload UI shown only in empty-library state - nixos: PHOTOPRISM_READONLY=false; pathways service gets STAGING_ROOT and photoprism env; PATH includes /run/wrappers/bin so sudo is found - fix: stage.setPointerCapture was swallowing the import label's click on desktop, preventing the native file dialog from opening
2026-08-04Code review cleanup: cache placement/adjacency, drop dead codedax
- Cache choosePlacement and adjacentTile results per (id,dir); invalidate on addTile. Avoids O(n^3) placement scoring on every pointermove. - setCurrent now re-renders only affected navs (prev + new) instead of refreshAllNav; remove refreshAllNav entirely. - Add pointercancel handler so interrupted touch/trackpad gestures don't leave a stuck drag. - Remove dead code: placeRect, photoConnections + /api/photo route and THUMBS const on server, dangling info var in pointerup. - Trim .gitignore, remove .DS_Store, bump cache-bust to ?v=20.
2026-08-04pathways: no dead-end directions while photos remain - server extends short ↵dax
walks with library ids to 60 entries, client falls back to any remaining unplaced photo when a direction's walk is exhausted
2026-08-04pathways: four directions lead to four distinct photos - dedupe per-photo ↵dax
next ids in exit generation (server), exclude other directions' targets from placement candidates (client)
2026-08-04pathways: fix deployment (files now land in public/), cache-bust assets + ↵dax
no-cache html, stronger zoom gesture (0.04/tile)
2026-08-04pathways: native-aspect free-form mosaic, no teleports (walk to next ↵dax
unplaced), arrows on every photo, arrows inside tiles, drop path text
2026-08-04pathways: walking mosaic navigatordax
Replace the scrolling facet-grid with a walkable maze. You start on a random photo; every photo holds up to four paths (labels, keywords, camera, lens ranked by count, library as fallback), one per cardinal direction, each an ordered cycle. Arrow keys or hover-revealed buttons lock the next photo of that path onto the grid in the direction moved; visited photos form a panable mosaic with focus-jump on revisits. Server: precomputes per-photo exits; adds /api/exits/:id and /api/random. Client: zero-dependency rewrite — splash, hidden exits, drag-pan, pointer capture, reduced-motion support.
2026-08-04pathways: photo viewer over the PhotoPrism librarydax
Groups photos into paths by shared label, keyword, camera, lens and dominant colour. Node server.mjs (no build) reads the MariaDB photoprism database read-only; public/ is a zero-dependency front end with progressive reveal, a lightbox with connection chips, and a dominant-colour swatch under every thumbnail.