<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/src/lib, branch v2.2.3</title>
<subtitle>Personal mirror of DanConwayDev/ngit-cli on git.upleb.uk
</subtitle>
<id>https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.2.3</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.2.3'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/'/>
<updated>2026-02-27T17:19:20+00:00</updated>
<entry>
<title>fix: skip ^{} peeled-tag refs in sync to prevent invalid refspec crash</title>
<updated>2026-02-27T17:19:20+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T17:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=e7d7f933cd7eac19434f09096a311adeb5e60747'/>
<id>urn:sha1:e7d7f933cd7eac19434f09096a311adeb5e60747</id>
<content type='text'>
Regression introduced in 28ad5440: ngit sync crashed with
'invalid refspec refs/remotes/origin/v1.4.4^{}:refs/tags/v1.4.4^{}'
on repos with annotated tags. Fixed by guarding all three iteration
sites in sync.rs and identify_remote_sync_issues in list.rs; also
corrected the always-false logic bug in invalid_nostr_state_ref.
</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: annotated tags missing from list due to dropped peeled refs</title>
<updated>2026-02-27T15:46:37+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T15:40:24+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=28ad5440c7184de9833f8448bc90153ee4499c83'/>
<id>urn:sha1:28ad5440c7184de9833f8448bc90153ee4499c83</id>
<content type='text'>
RepoState::try_from was explicitly discarding all refs/tags/*^{} entries
("peeled" refs) when parsing the nostr state event. This meant the list
command only advertised the tag object OID, but git requires two lines for
annotated tags:

  &lt;tag-object-oid&gt; refs/tags/v1.0.0
  &lt;commit-oid&gt;     refs/tags/v1.0.0^{}

Without the ^{} peeled line git cannot resolve the tag to a commit, so
git fetch --prune treats it as unresolvable and deletes it.

The nostr state event already stores both entries correctly (written by
generate_updated_state in push.rs). The fix simply stops try_from from
discarding the ^{} entries on read, so they flow through to the list
output unchanged.
</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>fix: deselected items re-appear as selected when adding new item</title>
<updated>2026-02-27T14:25:36+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T14:10:06+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=b4eb83de8637b56d7d742f5e64bda454ef8c2410'/>
<id>urn:sha1:b4eb83de8637b56d7d742f5e64bda454ef8c2410</id>
<content type='text'>
Sync the defaults vector to the user's actual selections after each
prompt in multi_select_with_custom_value, so deselected items are not
shown as checked on the next loop iteration.
</content>
</entry>
<entry>
<title>fix: connect to relay before user acknowledges nostrconnect QR/URL</title>
<updated>2026-02-27T14:25:34+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T13:49:28+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=bccac9db18b93a08e5087578231ca9ac0df1903c'/>
<id>urn:sha1:bccac9db18b93a08e5087578231ca9ac0df1903c</id>
<content type='text'>
Previously NostrConnect was only instantiated after the user selected
'waiting for signer app to connect...', so any connection made while
the prompt was visible was missed. Now listening starts immediately
after the QR/URL is displayed, with a spinner that auto-resolves on
connection rather than requiring a manual prompt dismissal.
</content>
</entry>
<entry>
<title>feat: only show login profile search and warnings in verbose mode</title>
<updated>2026-02-27T14:24:58+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T10:23:23+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=7b393f2e249e3bda141994d0c67aa9812d87302a'/>
<id>urn:sha1:7b393f2e249e3bda141994d0c67aa9812d87302a</id>
<content type='text'>
reduces noise in normal usage; messages still appear with -v flag
</content>
</entry>
<entry>
<title>feat: add --bunker-url to account login for non-interactive use</title>
<updated>2026-02-27T14:24:57+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T10:07:30+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=2c48e37f8341e0d207dd3260c439a0729464b03d'/>
<id>urn:sha1:2c48e37f8341e0d207dd3260c439a0729464b03d</id>
<content type='text'>
allows non-interactive bunker:// URL login without requiring --nsec,
by connecting to the remote signer and saving credentials to git config
</content>
</entry>
<entry>
<title>feat: show and allow changing signer relays in nostrconnect flow</title>
<updated>2026-02-27T14:24:52+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-27T09:31:45+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=436b707b2bdecb995bbdb374a029714c9f4c5159'/>
<id>urn:sha1:436b707b2bdecb995bbdb374a029714c9f4c5159</id>
<content type='text'>
display signer relays below QR code and nostrconnect URL with an option
to change them via the existing multiselect UI before connecting
</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>
</feed>
