<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/test_utils/src/lib.rs, branch v0.1.0</title>
<subtitle>Personal mirror of DanConwayDev/ngit-cli on git.upleb.uk
</subtitle>
<id>https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v0.1.0</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v0.1.0'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/'/>
<updated>2024-01-23T00:00:00+00:00</updated>
<entry>
<title>build: env specific fallback relays</title>
<updated>2024-01-23T00:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2024-01-23T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=e8ac3b6b49c6ec38cf4694dc4cb08f12c684ed7b'/>
<id>urn:sha1:e8ac3b6b49c6ec38cf4694dc4cb08f12c684ed7b</id>
<content type='text'>
to prevent tests from poluting public relays
</content>
</entry>
<entry>
<title>feat(claim): change repo event kind</title>
<updated>2024-01-22T00:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2024-01-22T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=d44fd5b33e608c3c1e3ca50bc47ec96bda73e1a0'/>
<id>urn:sha1:d44fd5b33e608c3c1e3ca50bc47ec96bda73e1a0</id>
<content type='text'>
so that it is outside the 30000 &lt;= n &lt; 40000 parameterized replacable
range
</content>
</entry>
<entry>
<title>test: add maintainers to test repo event</title>
<updated>2024-01-22T00:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2024-01-22T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=48bb73000b939a2968e48e7832650df65d7add19'/>
<id>urn:sha1:48bb73000b939a2968e48e7832650df65d7add19</id>
<content type='text'>
this doesnt effect the current tests but is more realistic
</content>
</entry>
<entry>
<title>feat(prs-list) list and pull selected as branch</title>
<updated>2023-12-01T00:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2023-12-01T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=06be0bc44011411b78217459f505ed12281b32c4'/>
<id>urn:sha1:06be0bc44011411b78217459f505ed12281b32c4</id>
<content type='text'>
- fetch prs and present as a selectable list
- create and / or checkout branch for selected pr
- apply latest patches as commits
</content>
</entry>
<entry>
<title>feat(prs-create) send to repo relays</title>
<updated>2023-11-01T00:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2023-11-01T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=57321aa9136293b24757a6695a5c92087af539ab'/>
<id>urn:sha1:57321aa9136293b24757a6695a5c92087af539ab</id>
<content type='text'>
fetch repository reference events to identify repository relays

send pr events to repository relays alongside user relays
</content>
</entry>
<entry>
<title>feat(login) fetch from discovered write relays</title>
<updated>2023-11-01T00:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2023-11-01T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=497bf71910f0f224ce66b154d58a228095a40c0a'/>
<id>urn:sha1:497bf71910f0f224ce66b154d58a228095a40c0a</id>
<content type='text'>
immediately request metadata and relay list from any newly discovered
user write relays
</content>
</entry>
<entry>
<title>feat(login) fetch user relays and metadata</title>
<updated>2023-09-30T23:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2023-09-30T23:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=e237328ec611a5891586530c1d3cb26c16c1093b'/>
<id>urn:sha1:e237328ec611a5891586530c1d3cb26c16c1093b</id>
<content type='text'>
get user relay list and metadata events from relays when keys are
used and last fetch attempt was more than an hour ago

uses user's write relays if known, otherwise uses fallback relays

to achieve this a method for intergration testing event fetching
from relays was added
</content>
</entry>
<entry>
<title>feat(prs-create) send to multiple relays</title>
<updated>2023-09-30T23:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2023-09-30T23:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=000901c0cbca8464b5a89bcc93c5474f6564bafd'/>
<id>urn:sha1:000901c0cbca8464b5a89bcc93c5474f6564bafd</id>
<content type='text'>
add tests but these currently don't work when run together
</content>
</entry>
<entry>
<title>feat(prs-create) find commits and create events</title>
<updated>2023-09-30T23:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2023-09-30T23:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=6e9245542f070c39a1975f0d53d88913c4ac667d'/>
<id>urn:sha1:6e9245542f070c39a1975f0d53d88913c4ac667d</id>
<content type='text'>
 - identify commits
 - create pull request event
 - create patch events
</content>
</entry>
<entry>
<title>feat(login) password login using encrypted nsec</title>
<updated>2023-09-01T00:00:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2023-09-01T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=96660a90e4cd296a2922d7a547de4cd9d0b1928b'/>
<id>urn:sha1:96660a90e4cd296a2922d7a547de4cd9d0b1928b</id>
<content type='text'>
Enables the user to only handle the nsec upon first use of the tool
by encrypting it with a password and storing it on disk in an
application cache.

The approach to encryption draws heavily from that used by the gossip
nostr client.
 - unencrypted nsec is zeroed from memory
 - a salt is used to defend against rainbow tables
 - computationally expensive key stretching defends against
   brute-force attacks of passwords with low entropy.

There is UX trade-off between decryption speed and key-stretching
computation. This UX challenge is exacerbated in a cli tool as
decryption must take place more regularly. Thought was put into the
selected n_log and a heavily reduced value is provided for long
passwords where security benefits are smaller.

A more granular reducing in computation was also considered by
rejected to avoided to revealing just how weak a password is as most
weak passwords are reused.
</content>
</entry>
</feed>
