<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror, branch v1.0.1</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/atom?h=v1.0.1</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/atom?h=v1.0.1'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/'/>
<updated>2026-02-27T18:05:03+00:00</updated>
<entry>
<title>release: v1.0.1</title>
<updated>2026-02-27T18:05:03+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T18:05:03+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=05b7edb5f5797100d8e0f59905e16488680928ec'/>
<id>urn:sha1:05b7edb5f5797100d8e0f59905e16488680928ec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: apply cargo fmt and fix clippy warnings</title>
<updated>2026-02-26T15:42:09+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-26T15:42:09+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=9d86cf15f0275ffeee4519bd054e3b61dc8992ac'/>
<id>urn:sha1:9d86cf15f0275ffeee4519bd054e3b61dc8992ac</id>
<content type='text'>
Fix pre-existing clippy lints:
- &amp;PathBuf -&gt; &amp;Path in audit_cleanup.rs
- too_many_arguments on process_newly_available_git_data,
  process_purgatory_announcements, and HttpService::new
- clone_on_copy for PublicKey (Copy type) in purgatory cleanup loop
</content>
</entry>
<entry>
<title>fix: ignore peeled tag entries (^{}) in state event ref parsing</title>
<updated>2026-02-26T15:38:51+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-26T15:38:51+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=a2ecfc5a63311570f0f90c7ee40117e289639cb8'/>
<id>urn:sha1:a2ecfc5a63311570f0f90c7ee40117e289639cb8</id>
<content type='text'>
State events (kind 30618) can include refs/tags/&lt;name&gt;^{} entries which
are git's notation for the dereferenced commit behind an annotated tag.
These are not real git refs and are never sent as part of a push.

extract_refs_from_state and RepositoryState::from_event were treating
them as real refs, causing can_satisfy_state to reject valid annotated
tag pushes: the would-be state after the push lacked the spurious ^{}
entry, so the exact-equality check always failed.
</content>
</entry>
<entry>
<title>send auth rejection reason to git client via ERR pkt-line</title>
<updated>2026-02-26T12:19:31+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-26T12:19:06+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=b13c6d924f7de5ff34405254b8bb21adf33c78c0'/>
<id>urn:sha1:b13c6d924f7de5ff34405254b8bb21adf33c78c0</id>
<content type='text'>
Previously push auth failures returned HTTP 403 which git clients
display as a generic transport error. Now they return HTTP 200 with
an ERR pkt-line containing the rejection reason (e.g. 'authorisation
failed: No state events in purgatory'), which git displays directly.

Remove GitError::Unauthorized as it is no longer used. GitError
variants now represent only transport/infrastructure failures; app-level
rejections use ERR pkt-line responses.
</content>
</entry>
<entry>
<title>release: v1.0.0</title>
<updated>2026-02-26T09:27:13+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-26T09:26:01+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=fd6b098f41baf8621551f15114c50891642b5872'/>
<id>urn:sha1:fd6b098f41baf8621551f15114c50891642b5872</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: remove comparison doc and update architecture to reflect announcement purgatory</title>
<updated>2026-02-25T15:14:46+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-25T15:14:46+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=8cd232727ae31613abba7a3d0485a1cb94fda2f3'/>
<id>urn:sha1:8cd232727ae31613abba7a3d0485a1cb94fda2f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>drop nostr-db backend support, keep only lmdb and memory</title>
<updated>2026-02-25T15:07:40+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-25T15:07:40+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=5ad9d9093fcbe7037e5474a9d8fa20a0b64fb79a'/>
<id>urn:sha1:5ad9d9093fcbe7037e5474a9d8fa20a0b64fb79a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>show probe help when invoked with no arguments</title>
<updated>2026-02-25T14:41:37+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-25T14:41:37+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=4fc3b279d3eb86993f7748959a3986be5a6c49a7'/>
<id>urn:sha1:4fc3b279d3eb86993f7748959a3986be5a6c49a7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update README to document probe subcommand with checks, flags, and timeout behaviour</title>
<updated>2026-02-25T14:37:16+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-25T14:37:16+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=9573bb1b5feaa82dad67f9817ec1e9df9639acdb'/>
<id>urn:sha1:9573bb1b5feaa82dad67f9817ec1e9df9639acdb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>make read-only the default probe mode; add --create-repo to opt into write path</title>
<updated>2026-02-25T14:35:14+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-25T14:35:14+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=98f9cbf256151cf576f2b307d5fe4d8f4b35bf43'/>
<id>urn:sha1:98f9cbf256151cf576f2b307d5fe4d8f4b35bf43</id>
<content type='text'>
</content>
</entry>
</feed>
