<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pathways.git/.gitignore, branch main</title>
<subtitle>Photo viewer that organises a PhotoPrism library into paths.</subtitle>
<id>http://git.dax.ist/dax/pathways.git/atom/.gitignore?h=main</id>
<link rel='self' href='http://git.dax.ist/dax/pathways.git/atom/.gitignore?h=main'/>
<link rel='alternate' type='text/html' href='http://git.dax.ist/dax/pathways.git/'/>
<updated>2026-08-05T14:24:33Z</updated>
<entry>
<title>admin panel for walk-graph management; /api/import gated behind admin login</title>
<updated>2026-08-05T14:24:33Z</updated>
<author>
<name>dax</name>
<email>me@dax.ist</email>
</author>
<published>2026-08-05T14:24:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dax.ist/dax/pathways.git/commit/?id=03dcc91c96ac45ff005a1c3e14a71a5733037447'/>
<id>urn:sha1:03dcc91c96ac45ff005a1c3e14a71a5733037447</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add photo import: upload -&gt; photoprism, fix desktop file dialog</title>
<updated>2026-08-04T15:54:07Z</updated>
<author>
<name>dax</name>
<email>me@dax.ist</email>
</author>
<published>2026-08-04T15:54:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dax.ist/dax/pathways.git/commit/?id=dadf0909dd235a7764a59a63d2b51861fa81e385'/>
<id>urn:sha1:dadf0909dd235a7764a59a63d2b51861fa81e385</id>
<content type='text'>
- 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
</content>
</entry>
<entry>
<title>Code review cleanup: cache placement/adjacency, drop dead code</title>
<updated>2026-08-04T10:26:40Z</updated>
<author>
<name>dax</name>
<email>me@dax.ist</email>
</author>
<published>2026-08-04T10:26:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dax.ist/dax/pathways.git/commit/?id=56b3a602c8e992a2bc197844e1ab3de8743b8012'/>
<id>urn:sha1:56b3a602c8e992a2bc197844e1ab3de8743b8012</id>
<content type='text'>
- 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.
</content>
</entry>
<entry>
<title>pathways: photo viewer over the PhotoPrism library</title>
<updated>2026-08-04T05:21:18Z</updated>
<author>
<name>dax</name>
<email>me@dax.ist</email>
</author>
<published>2026-08-04T05:21:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dax.ist/dax/pathways.git/commit/?id=90042156c8538cf02efe77a09d0fe671c50e4ab2'/>
<id>urn:sha1:90042156c8538cf02efe77a09d0fe671c50e4ab2</id>
<content type='text'>
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.
</content>
</entry>
</feed>
