<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/flake.nix, 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-04-10T20:39:10+00:00</updated>
<entry>
<title>release: v1.0.2</title>
<updated>2026-04-10T20:39:10+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-04-10T20:15:58+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=dd9a69e6fe79e866004ed7366093bf82030b02eb'/>
<id>urn:sha1:dd9a69e6fe79e866004ed7366093bf82030b02eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: only run unit tests during Nix build, skip integration tests</title>
<updated>2026-01-11T16:05:06+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-11T16:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=149a6af5ebe7d92f8063734104e444f48b33b012'/>
<id>urn:sha1:149a6af5ebe7d92f8063734104e444f48b33b012</id>
<content type='text'>
Changed from selectively skipping test modules to running only --lib
tests (unit tests). This is cleaner and more maintainable.

Integration tests (tests/*.rs) require:
- git binary in PATH
- Ability to spawn subprocesses
- Network access for some tests
- TestRelay fixture (spawns ngit-grasp)

These requirements don't work in the Nix sandbox, so we run only
unit tests (--lib) during package build. Full integration test suite
runs in environments where git is available:
- Local dev (nix develop includes git)
- CI/CD (git installed)
- Manual testing (cargo test runs all tests)
</content>
</entry>
<entry>
<title>fix: skip integration tests that require git in Nix build</title>
<updated>2026-01-11T15:59:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-11T15:59:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=59f429cb18f218993a5052e4c36199fa96a82d2d'/>
<id>urn:sha1:59f429cb18f218993a5052e4c36199fa96a82d2d</id>
<content type='text'>
Extended test skipping to include integration tests in tests/common/
that create git repos and spawn git processes:

- common::git_server:: - Tests that create git repos and run git daemon
- common::purgatory_helpers:: - Helper tests that init git repos

These tests are integration tests that verify git interaction, they
run successfully in:
- Local development (git available in devShell)
- CI/CD pipelines (git installed)
- Docker builds (git installed in image)

The Nix sandbox intentionally isolates builds and doesn't provide git
during the package build phase. We skip these tests to allow clean
builds while maintaining test coverage in appropriate environments.
</content>
</entry>
<entry>
<title>fix: skip git-dependent tests during Nix build</title>
<updated>2026-01-11T15:53:20+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-11T15:53:20+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=a1d649f643a10c653c8b20dd1cc53df89b4335be'/>
<id>urn:sha1:a1d649f643a10c653c8b20dd1cc53df89b4335be</id>
<content type='text'>
Tests that spawn git subprocesses fail in the Nix sandbox because
git is not available in PATH during the build phase. These tests
are integration tests that verify git subprocess interaction, not
unit tests of core functionality.

Skipping test modules:
- git::subprocess::tests - Tests git upload-pack/receive-pack spawning
- git::tests - Tests that create git repos and manipulate refs
- purgatory::helpers::tests - Tests that init git repos

The skipped tests still run in:
- Local development (git is in devShell)
- CI/CD pipelines (git is installed)
- Integration test suite (uses TestRelay fixture)

This fix allows the package to build cleanly in Nix while maintaining
test coverage in appropriate environments.
</content>
</entry>
<entry>
<title>fix: convert nostr dependency hash to SRI format</title>
<updated>2026-01-11T15:47:11+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-11T15:47:11+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=c9a8b2a3b78babcdfbd178e374bb68c46dbdea4b'/>
<id>urn:sha1:c9a8b2a3b78babcdfbd178e374bb68c46dbdea4b</id>
<content type='text'>
The hash for the nostr-0.44.1 dependency was in Nix base32 format
(sha256-02cawkx...) but needs to be in SRI base64 format
(sha256-DwcWmwxNUQRR...) for compatibility with modern Nix.

This was causing nixos-rebuild to fail with:
  error: invalid SRI hash '02cawkx6bxfi3bn1sb5ws8cn9wzcwsk8cdv1vx8h8lad1jdic1qg'
</content>
</entry>
<entry>
<title>feat: add NixOS module for deployment</title>
<updated>2026-01-10T21:55:28+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-10T21:55:28+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=8536be07962ee6b23ecca0f1c084db11a3c104e0'/>
<id>urn:sha1:8536be07962ee6b23ecca0f1c084db11a3c104e0</id>
<content type='text'>
- Create nix/module.nix with comprehensive systemd service
- Support both relayOwnerNsecFile and relayOwnerNsec options
- Auto-generate nsec if neither specified
- Add security hardening (NoNewPrivileges, ProtectSystem, etc.)
- Expose as nixosModules.default and nixosModules.ngit-grasp
- Include example configuration in nix/example-configuration.nix
- Add outputHashes for nostr git dependency
</content>
</entry>
<entry>
<title>feat: implement NIP-01 compliant Nostr relay</title>
<updated>2025-11-04T10:42:18+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-04T10:42:18+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=9394657613014891ff91db6cd0a01b21bb257053'/>
<id>urn:sha1:9394657613014891ff91db6cd0a01b21bb257053</id>
<content type='text'>
- WebSocket-based relay using tokio-tungstenite
- Full NIP-01 protocol support (EVENT, REQ, CLOSE)
- Event validation (signature and ID)
- In-memory event storage
- Filter support (IDs, authors, kinds, since/until)
- Configuration via environment variables
- Nix flake for reproducible builds
- Test automation script

All 6 NIP-01 smoke tests passing (100%)
</content>
</entry>
</feed>
