<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mono.git/cgithub/views/_nav.eta, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://git.mou.fo/2026/mono.git/atom/cgithub/views/_nav.eta?h=main</id>
<link rel='self' href='http://git.mou.fo/2026/mono.git/atom/cgithub/views/_nav.eta?h=main'/>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/'/>
<updated>2026-09-04T02:16:44Z</updated>
<entry>
<title>Link blobs to their history and back</title>
<updated>2026-09-04T02:16:44Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-09-03T05:37:35Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=a61a96c6d72d4297b2539f4033fbfbd0a3d178ab'/>
<id>urn:sha1:a61a96c6d72d4297b2539f4033fbfbd0a3d178ab</id>
<content type='text'>
Nothing in a commits payload says whether the path it lists is a file or
a directory: currentBlobPath, despite the name, is only the path filter,
and is set for a directory just the same. GitHub's own UI cannot tell
either, and points its browse button at /blob/&lt;oid&gt;/&lt;path&gt; so that the
redirect resolves a file to its blob. We do the same, and the blob route
already turns that redirect into one of our own tree URLs.

Breadcrumbs now stay in the view they were clicked from, so walking up
from a history lands in the history of each parent directory rather than
in its listing. The last crumb remains the page you are already on.

A path with no commits now says so rather than rendering an empty page.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01R7pRKdmTvNDgT4ZXrwkbH8
</content>
</entry>
<entry>
<title>Keep the ref picker on the current view and path</title>
<updated>2026-08-11T21:37:02Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-08-11T17:32:44Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=866f99c414cb3d102483ce21c68a0e62b394baaa'/>
<id>urn:sha1:866f99c414cb3d102483ce21c68a0e62b394baaa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Abbreviate commit hashes in branch picker</title>
<updated>2026-08-11T12:25:43Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-08-11T12:25:08Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=5526d976f645def4caae9fbd2c1d75349029764e'/>
<id>urn:sha1:5526d976f645def4caae9fbd2c1d75349029764e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add async branch/tag dropdown and latest-commit bar</title>
<updated>2026-07-23T03:25:26Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-07-21T21:46:58Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=6240cf1c6b73b7ed34ff5816b53333382c229f5c'/>
<id>urn:sha1:6240cf1c6b73b7ed34ff5816b53333382c229f5c</id>
<content type='text'>
Adds two lazily-fetched UI pieces to match vanilla GitHub while keeping
initial page loads plain server-rendered HTML: a branch/tag selector
(native &lt;dialog&gt;, CSS anchor-positioned to its button, light-dismissed
via closedby="any") and a latest-commit bar above the file listing.
Both are populated by new /api/:owner/:repo/refs/:type and
/api/:owner/:repo/latest-commit/:branch/:path routes; the latter calls
GitHub's own /latest-commit JSON endpoint (the same one the React UI
uses) rather than scraping the full commit history page.
</content>
</entry>
<entry>
<title>Split branch and path bread crumbs into separate section</title>
<updated>2026-01-27T22:21:42Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-01-27T21:58:56Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=64c397e256b01a2e542e84529e947e237c07edd6'/>
<id>urn:sha1:64c397e256b01a2e542e84529e947e237c07edd6</id>
<content type='text'>
</content>
</entry>
</feed>
