<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/tests/common/git_server.rs, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/atom?h=master</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/'/>
<updated>2026-01-12T14:05:51+00:00</updated>
<entry>
<title>feat: add uploadpack.allowFilter support for GRASP-01 compliance</title>
<updated>2026-01-12T14:05:51+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-12T14:05:51+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=817ce37a5ee8d6279a44cf8cce3cc6a1e4bab576'/>
<id>urn:sha1:817ce37a5ee8d6279a44cf8cce3cc6a1e4bab576</id>
<content type='text'>
Add mandatory uploadpack.allowFilter capability to support partial clones
and fetches as required by GRASP-01 specification. This enables efficient
git operations for bandwidth-constrained clients (e.g., browser-based git
clients like git-natural-api).

Changes:
- Add uploadpack.allowFilter=true to git subprocess configuration
- Update SmartGitServer test helper with filter support
- Add integration tests for filter capability advertisement and functionality
- Update documentation to reflect filter as required capability

Tests verify:
- Filter capability is advertised in info/refs
- Filtered clones with blob:none work correctly
- Filtered fetches with tree:0 work correctly
</content>
</entry>
<entry>
<title>fix: eliminate port binding race condition in SimpleGitServer</title>
<updated>2026-01-09T23:00:59+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-09T23:00:59+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=be1f21aa1ec9d8666f96005ee203413441e6d220'/>
<id>urn:sha1:be1f21aa1ec9d8666f96005ee203413441e6d220</id>
<content type='text'>
SimpleGitServer had a TOCTOU race where find_free_port() would bind a port,
immediately release it, then the caller would try to bind it - allowing another
process to grab the port in between. This caused intermittent test failures.

Changed to bind the port once and keep it bound while converting from std to
tokio listener, matching the pattern already used in SmartGitServer.

Deleted the now-unused find_free_port() helper function.
</content>
</entry>
<entry>
<title>chore: upgrade nostr-* packages to rev 4767ad13</title>
<updated>2026-01-08T10:57:51+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-08T10:57:51+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=075307804bf66bba10f5bc55cb40e2e6a98a65ee'/>
<id>urn:sha1:075307804bf66bba10f5bc55cb40e2e6a98a65ee</id>
<content type='text'>
- Update nostr-relay-builder, nostr-sdk, nostr-lmdb to latest revision
- Update grasp-audit nostr-sdk dependency
- Fix clippy warnings:
  - Replace .clone() with std::slice::from_ref() in src/git/sync.rs
  - Change &amp;PathBuf to &amp;Path in tests/common/git_server.rs
  - Replace vec![] with array literal in src/purgatory/sync/functions.rs
- Update PR_TEST_COMMIT_HASH in grasp-audit due to event generation changes

All 249 tests passing, no breaking changes required.
</content>
</entry>
<entry>
<title>chore: cargo fmt</title>
<updated>2026-01-08T00:50:54+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-08T00:50:54+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=f75e1c59aacf5ce668fd327e4e3d827511661c2a'/>
<id>urn:sha1:f75e1c59aacf5ce668fd327e4e3d827511661c2a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test: fix hanging unit tests issue</title>
<updated>2026-01-07T22:04:33+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-07T21:54:53+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=fba872909559c42ac48b6acd697e61ab987e0f71'/>
<id>urn:sha1:fba872909559c42ac48b6acd697e61ab987e0f71</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test: add WIP SmartHttpServer to test</title>
<updated>2026-01-07T21:33:22+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-07T21:33:22+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=0550b3229f35ef3ee125bac47d85bbd08d1250b1'/>
<id>urn:sha1:0550b3229f35ef3ee125bac47d85bbd08d1250b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test: add SimpleGitServer helper for dumb HTTP git serving</title>
<updated>2026-01-07T17:36:44+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-07T17:36:44+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=e7c18cf2a96b1f45e5f21a83ee1fe2e18a6dc7e2'/>
<id>urn:sha1:e7c18cf2a96b1f45e5f21a83ee1fe2e18a6dc7e2</id>
<content type='text'>
Add a test helper that serves git repositories over HTTP using git's
dumb HTTP protocol. This enables integration tests that need to fetch
git data from an external URL without requiring a full git HTTP backend.

Features:
- Creates bare clone of source repository
- Runs git update-server-info to generate required metadata
- Serves static files over HTTP using hyper
- Automatic cleanup on drop
- Path traversal protection

Tests included:
- Server starts and stops correctly
- info/refs endpoint is accessible
- git ls-remote works against server
- git fetch works against server
- Path traversal is blocked

This helper will be used in Phase 3 to test PR clone tag sync,
where the PR event's clone URL points to an external git server
that is NOT an ngit-grasp relay.
</content>
</entry>
</feed>
