<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/src/lib/client.rs, branch v2.3.0</title>
<subtitle>Personal mirror of DanConwayDev/ngit-cli on git.upleb.uk
</subtitle>
<id>https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.3.0</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.3.0'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/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/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/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(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/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/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>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/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/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>feat: add ngit issue list command</title>
<updated>2026-03-04T13:28:30+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-04T13:28:30+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=3908abbbfc5e748dd168d22bf5e3ea6aae17de61'/>
<id>urn:sha1:3908abbbfc5e748dd168d22bf5e3ea6aae17de61</id>
<content type='text'>
Non-interactive listing of NIP-34 issues (kind 1621) with status
resolution, hashtag display, and detail view.

- get_issues_from_cache: fetch GitIssue events from local cache by repo
  coordinate, mirroring get_proposals_and_revisions_from_cache
- ngit issue list: table output of ID, status, title and hashtags at end
  of each row; status resolved via existing get_status() logic
- --status: comma-separated filter (open,draft,closed,applied; default: open)
- --hashtag: comma-separated label filter (case-insensitive, OR match)
- --json: machine-readable output including hashtags and description
- --offline: skip network fetch, use local cache only
- &lt;id&gt;: optional positional argument (hex event-id or nevent) to show
  full details of a specific issue including body content
</content>
</entry>
<entry>
<title>feat: fetch and report NIP-34 issues and their statuses</title>
<updated>2026-03-04T13:12:26+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-04T13:12:26+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=a554da3ec0bdfef648921fda41f38ad0a5d53d27'/>
<id>urn:sha1:a554da3ec0bdfef648921fda41f38ad0a5d53d27</id>
<content type='text'>
Download kind-1621 issues from relays into the local cache alongside
patches and PRs. Issue IDs are tracked separately from proposal IDs
throughout the fetch pipeline so they never appear in proposal lists.

- get_fetch_filters: include Kind::GitIssue in the #a-tag filter and
  add a dedicated issue_ids parameter to fetch status events (1630-1633)
  tagged with known issue IDs
- FetchRequest: add issue_ids field populated from the local cache
- fetch_all_from_relay: track fresh_issue_roots independently of
  fresh_proposal_roots; loop continues until both are drained
- process_fetched_events: route GitIssue events into fresh_issue_roots
  and report.issues; route status events to issue_statuses or statuses
  based on whether the root ID is a known issue or proposal
- FetchReport: add issues and issue_statuses fields, consolidated across
  relays, and displayed as "N issue(s), M issue status(es)" in the report
</content>
</entry>
<entry>
<title>fix: include KIND_PULL_REQUEST IDs in proposal_ids for fetch filters</title>
<updated>2026-02-27T16:11:36+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T16:11:36+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=ba87592c87eb964b1c3a2d17543e38b9b70ed1a6'/>
<id>urn:sha1:ba87592c87eb964b1c3a2d17543e38b9b70ed1a6</id>
<content type='text'>
kind-5 deletion events that only #e-tag a PR Kind event (kind 1618)
were never fetched because proposal_ids was built from Kind::GitPatch
events only. The deleted PR event remained in the local cache and
continued to appear as a remote ref (refs/heads/pr/&lt;branch&gt;).
</content>
</entry>
<entry>
<title>fix: update fallback signer relays</title>
<updated>2026-02-27T14:26:48+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T14:18:11+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=3aa9b7a8e49d8ec5a87693d3f52ae2c77f036ff2'/>
<id>urn:sha1:3aa9b7a8e49d8ec5a87693d3f52ae2c77f036ff2</id>
<content type='text'>
Replace nsec.app with bucket.coracle.social and nos.lol.
</content>
</entry>
<entry>
<title>feat: track and display kind-5 deletion count in FetchReport</title>
<updated>2026-02-26T21:13:29+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-26T21:13:29+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=76a5e7b46dbe90ebf5e31904cb510e6cab242cf4'/>
<id>urn:sha1:76a5e7b46dbe90ebf5e31904cb510e6cab242cf4</id>
<content type='text'>
Add a deletions counter to FetchReport, incremented in
process_fetched_events for each kind-5 event received and accumulated
across relays in consolidate_fetch_reports. The count is included in
the fetch summary display (e.g. "1 deletion", "2 deletions").
</content>
</entry>
<entry>
<title>feat: request kind-5 deletions for state/announcement events by #e</title>
<updated>2026-02-26T21:12:27+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-26T21:12:27+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=a94fbc1f616128c93539c71b003495e5f6291c69'/>
<id>urn:sha1:a94fbc1f616128c93539c71b003495e5f6291c69</id>
<content type='text'>
Add a non_proposal_event_ids parameter to get_fetch_filters and a
corresponding field on FetchRequest. On each fetch, the event IDs of
cached repo announcements and the state event are collected and used to
build a dedicated kind-5 filter keyed on #e tags, as specified by
NIP-09. The existing #a-tagged filter already covers addressable-event
deletions; this new filter catches deletions from clients that follow
NIP-09 strictly and do not embed a repo coordinate in their deletion
event.
</content>
</entry>
<entry>
<title>fix: show detailed relay view when --verbose flag is set in send_events</title>
<updated>2026-02-26T15:26:21+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-26T15:02:14+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=300ab2a476f719c51966db90c9976eb55421962a'/>
<id>urn:sha1:300ab2a476f719c51966db90c9976eb55421962a</id>
<content type='text'>
The use_concise flag in send_events was computed with || instead of &amp;&amp;,
causing !is_test to short-circuit to true in production and making
--verbose have no effect on published event display.
</content>
</entry>
</feed>
