<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/src/lib/mod.rs, branch v2.4.2</title>
<subtitle>Personal mirror of DanConwayDev/ngit-cli on git.upleb.uk
</subtitle>
<id>https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/atom?h=v2.4.2</id>
<link rel='self' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/atom?h=v2.4.2'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/'/>
<updated>2026-03-04T16:24:29+00:00</updated>
<entry>
<title>add NIP-21 content tags (q/p) to issues, comments, PRs and patches</title>
<updated>2026-03-04T16:24:29+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-04T16:24:29+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=af016dd23101537ccc8ecd5a992bf3b7c6d3abe9'/>
<id>urn:sha1:af016dd23101537ccc8ecd5a992bf3b7c6d3abe9</id>
<content type='text'>
- parse nostr: URI mentions in issue bodies, comment bodies, PR
  descriptions, patch commit messages and cover letters
- npub/nprofile mentions produce p tags; note/nevent/naddr mentions
  produce q tags per NIP-22
- naddr q tag value uses raw &lt;kind&gt;:&lt;pubkey-hex&gt;:&lt;identifier&gt; format
- nevent pubkey field populated from embedded author or local cache lookup
- dedup_tags() removes duplicate p tags and suppresses q tags whose
  event-id is already covered by an existing e threading tag
- all parsing errors are non-fatal: invalid nostr: tokens are skipped
</content>
</entry>
<entry>
<title>fix IPv6 connection failures with Happy Eyeballs (RFC 8305)</title>
<updated>2026-02-25T11:48:13+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-25T11:21:45+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=319bb7fa2c984da45422fa81d12b4a5226beb493'/>
<id>urn:sha1:319bb7fa2c984da45422fa81d12b4a5226beb493</id>
<content type='text'>
Implement a custom WebSocketTransport that races IPv6 and IPv4 connections
with a 250ms head start for IPv6, matching browser behavior. This prevents
broken IPv6 from blocking all relay connections indefinitely.

This is a temporary fix until the upstream async-wsocket PR is merged:
https://github.com/shadowylab/async-wsocket/pull/42
</content>
</entry>
<entry>
<title>extract grasp/maintainership helpers to lib and auto-accept on push</title>
<updated>2026-02-20T21:21:48+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T20:09:09+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=64747526c9f6ab43f9dac461d056bb42992573b4'/>
<id>urn:sha1:64747526c9f6ab43f9dac461d056bb42992573b4</id>
<content type='text'>
move apply_grasp_infrastructure, latest_event_repo_ref to lib/repo_ref.rs
and wait_for_grasp_servers + grasp_servers_from_user_or_fallback to a
new lib/accept_maintainership.rs so both binaries can share them.

add accept_maintainership_with_defaults which publishes the co-maintainer's
own Kind:30617 announcement with defaults (user grasp servers, shared
metadata from existing events) then waits for grasp server provisioning
and updates nostr.repo config and origin remote.

replace the push error block with a call to accept_maintainership_with_defaults
so pushing now silently accepts co-maintainership instead of failing.
</content>
</entry>
<entry>
<title>feat: handle missing optional patch tags for pr/ flow</title>
<updated>2026-02-18T14:48:20+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-18T14:48:20+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=fcff4541e1f36b6575596c353637b25aeae9bdcf'/>
<id>urn:sha1:fcff4541e1f36b6575596c353637b25aeae9bdcf</id>
<content type='text'>
- Add mbox_parser module to extract metadata from patch content
- Extract author/committer from From: and Date: headers when tags missing
- Extract commit message body as fallback for description tag
- Implement best-guess parent commit logic using committer timestamps
- Update patch_supports_commit_ids to accept mbox-parseable patches
- Enable patches without optional tags to appear as pr/ branches
</content>
</entry>
<entry>
<title>feat(list): add PR fetch and checkout support</title>
<updated>2025-08-19T06:48:16+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-08-18T16:25:50+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=b7d4c5a81f0a008524dcc5b4f286f0cf700013c0'/>
<id>urn:sha1:b7d4c5a81f0a008524dcc5b4f286f0cf700013c0</id>
<content type='text'>
abstracted git remote helper fetch functions

added support to `ngit list` to fetch PR data and checkout as proposal
branch
</content>
</entry>
<entry>
<title>refactor: move push helpers to lib</title>
<updated>2025-07-25T21:39:23+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-07-25T21:26:59+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=e5cc566be82bbebb78f2c27ee13f3a5fafa4a0c8'/>
<id>urn:sha1:e5cc566be82bbebb78f2c27ee13f3a5fafa4a0c8</id>
<content type='text'>
to enable forthcoming ngit sync cmd
</content>
</entry>
<entry>
<title>refactor: move `utils` and `list` helpers to lib</title>
<updated>2025-07-25T21:17:23+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-07-25T20:02:26+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=513fce723c7e37aa353844303f36022517f2db43'/>
<id>urn:sha1:513fce723c7e37aa353844303f36022517f2db43</id>
<content type='text'>
to enable forthcoming `ngit sync` cmd
</content>
</entry>
<entry>
<title>fix: remove blossom url trailing slash</title>
<updated>2025-05-23T06:53:32+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-05-23T06:53:32+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=2596140ba29dc959643ae02fb2db4de980ee12e9'/>
<id>urn:sha1:2596140ba29dc959643ae02fb2db4de980ee12e9</id>
<content type='text'>
when creating announcment with `ngit init`
</content>
</entry>
<entry>
<title>chore: bump nix flake rust nightly `fmt` overlay</title>
<updated>2024-12-16T09:46:30+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2024-12-16T09:00:46+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=4ee83e2fe5335a8afd78439c35f029c4a472e797'/>
<id>urn:sha1:4ee83e2fe5335a8afd78439c35f029c4a472e797</id>
<content type='text'>
update the rust nightly `fmt` overlay which needs to be pinned
to a specific version (this case by date)

update formatting in main files via `cargo fmt`
</content>
</entry>
<entry>
<title>refactor: fix imports, etc based on restructure</title>
<updated>2024-09-04T13:23:54+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2024-09-04T10:32:05+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=771f944af447c202eba045936a36dee71ab797ac'/>
<id>urn:sha1:771f944af447c202eba045936a36dee71ab797ac</id>
<content type='text'>
move some functions out of ngit and into lib/mod
and lib/git_events

remove MockConnect from binaries so it is only used in the library.
this was done:
* mainly because automocks were not being imported from
  lib into each binary
* but also because the these functions were being
  tested with MockConnect
</content>
</entry>
</feed>
