<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/src/lib/git_events.rs, branch v2.4.1</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.1</id>
<link rel='self' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/atom?h=v2.4.1'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/'/>
<updated>2026-03-05T14:23:07+00:00</updated>
<entry>
<title>feat(cover-note): add kind-1624 cover notes for PRs, patches, and issues</title>
<updated>2026-03-05T14:23:07+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T14:19:49+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=37244449d6d0d58bb639f181bd15092de1acaaee'/>
<id>urn:sha1:37244449d6d0d58bb639f181bd15092de1acaaee</id>
<content type='text'>
Implements experimental kind-1624 cover note events:

- KIND_COVER_NOTE constant and process_cover_note() in git_events.rs;
  replaceable semantics (latest created_at, hex-id tiebreak), author or
  maintainer only
- kind-1624 events fetched alongside labels in the fetch pipeline;
  cover_notes count added to FetchReport display
- ngit pr/issue view: cover note displayed in place of description with
  a clear 'Cover Note:' header; maintainer-authored notes identify the
  author; original description shown only with --comments; cover_note
  object included in --json output
- ngit pr set-cover-note / ngit issue set-cover-note: publish a
  kind-1624 event; nostr: mentions in --body converted to q/p tags via
  tags_from_content (same rules as issue --body)
- Fix pre-existing clippy::too_many_lines on repo/mod.rs show_info
</content>
</entry>
<entry>
<title>feat(subject): add pr/issue set-subject via NIP-32 kind-1985 labels</title>
<updated>2026-03-05T13:03:50+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T13:03:50+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=f3fcf863aae000964753f574b00e9fb9f5fcd452'/>
<id>urn:sha1:f3fcf863aae000964753f574b00e9fb9f5fcd452</id>
<content type='text'>
Adds the ability to update the displayed title of a PR or issue after
creation using a kind-1985 label event with the #subject namespace.
Only the author or a repository maintainer may set the subject. The
latest authorised event wins with tiebreak by lexicographically larger
event ID (NIP-1 replaceable event semantics). Branch names and commit
messages are never affected.

- Split get_labels() into process_labels() (additive #t) and
  process_subject() (replaceable-style #subject), with a shared
  get_labels_and_subject() entry point that processes both from a
  single pre-fetched slice of kind-1985 events
- All list/view/JSON display paths apply the subject override silently
- New ngit pr set-subject &lt;id&gt; --subject &lt;text&gt; command
- New ngit issue set-subject &lt;id&gt; --subject &lt;text&gt; command
</content>
</entry>
<entry>
<title>feat(labels): fetch and apply NIP-32 kind-1985 label events</title>
<updated>2026-03-05T11:28:36+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T11:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=0e493c455a0345c206dd1c5b0dfb5322b8a4e3e9'/>
<id>urn:sha1:0e493c455a0345c206dd1c5b0dfb5322b8a4e3e9</id>
<content type='text'>
- Add KIND_LABEL (kind 1985) constant to git_events.rs
- Add get_labels() merging inline t-tags with external kind-1985 events,
  gating each on author-or-maintainer permission
- Extend get_fetch_filters() to request kind-1985 events for all known
  issue and proposal IDs
- Track label event counts in FetchReport (field + Display + consolidation)
- Update issue_list.rs and list.rs to fetch label events from cache and
  pass them through get_labels() instead of reading t-tags inline
</content>
</entry>
<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>feat: fetch and display NIP-22 comment counts on issues and proposals</title>
<updated>2026-03-04T14:50:01+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-04T13:54:32+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=6d9b0cc8fff65447849d0d55db177dcdff315c48'/>
<id>urn:sha1:6d9b0cc8fff65447849d0d55db177dcdff315c48</id>
<content type='text'>
Download kind-1111 NIP-22 comments from relays and show a comment count
in the detail view of `ngit list &lt;id&gt;` and `ngit issue list &lt;id&gt;`.

- git_events: add KIND_COMMENT constant (kind 1111)
- client: import KIND_COMMENT; add `comments` field to FetchReport;
  route kind-1111 events into report.comments in process_fetched_events;
  consolidate comments across relay reports; display "N comment(s)" in
  FetchReport; add a #E-tagged kind-1111 filter in get_fetch_filters
  covering all known issue and proposal root IDs
- issue_list: add get_comment_counts() to query the local cache for
  kind-1111 events by #E tag and count per issue; extend the filtered
  tuple with comment_count; show a CMTS column in the table, a
  "Comments: N" line in the detail view, and a "comments" field in JSON
- list: add KIND_COMMENT import; add resolve_event_id() helper and
  get_comment_count_for_proposal() to look up the count for a single
  proposal from the local cache; pass comment_count into
  show_proposal_details(); display "Comments: N" in plain text and
  "comments" in JSON; align detail-view labels
</content>
</entry>
<entry>
<title>fix: remove outdated patch_supports gate and fix fetch parent fallback</title>
<updated>2026-02-18T22:00:35+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-18T22:00:35+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=56b3c149df70af5d441e8527ec1225e5038bde8e'/>
<id>urn:sha1:56b3c149df70af5d441e8527ec1225e5038bde8e</id>
<content type='text'>
Remove the patch_supports_commit_ids gates in checkout.rs and list.rs
that pre-dated the mbox fallback logic. apply_patch_chain already
handles all fallback cases. Also replace the main-branch TODO fallback
in make_commits_for_proposal with get_parent_commit_from_patch, which
uses timestamp-based best-guess when the parent-commit tag is absent.
</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(send): add `merge-base` tag to PR (Update)</title>
<updated>2025-10-17T09:20:43+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-10-17T08:30:35+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=2bf98e91e5b5a7d1b18557e65711b5ef3d1a54a3'/>
<id>urn:sha1:2bf98e91e5b5a7d1b18557e65711b5ef3d1a54a3</id>
<content type='text'>
following its inclusion in the NIP-34 spec
</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>Merge branch 'add-prs-to-ngit-send'</title>
<updated>2025-08-07T16:52:22+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-08-07T16:52:22+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=92c2362a9bed1bc1f256e7948e087c4102b7c4f9'/>
<id>urn:sha1:92c2362a9bed1bc1f256e7948e087c4102b7c4f9</id>
<content type='text'>
</content>
</entry>
</feed>
