<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/flake.nix, branch v1.1.2</title>
<subtitle>Personal mirror of DanConwayDev/ngit-cli on git.upleb.uk
</subtitle>
<id>https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v1.1.2</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v1.1.2'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/'/>
<updated>2024-04-09T08:45:57+00:00</updated>
<entry>
<title>chore: update rust nightly in nix</title>
<updated>2024-04-09T08:45:57+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2024-04-09T08:45:57+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=7415be21c725e4d1758cff4924783dd4623c2554'/>
<id>urn:sha1:7415be21c725e4d1758cff4924783dd4623c2554</id>
<content type='text'>
whilst fmt is using nightly it doesnt appear that clippy is

previous attempts to update the rustfmt nightly version have resulted
in a large number of errors which needed resolving. the change was
backed out because of other priorities.

It appears  now that clippy is not using the nightly version
and there are no regressions
</content>
</entry>
<entry>
<title>build(deps) update nix</title>
<updated>2023-12-06T08:14:53+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2023-12-06T08:14:53+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=f811835ca768d6cbcef24f2873c43b51e63578ce'/>
<id>urn:sha1:f811835ca768d6cbcef24f2873c43b51e63578ce</id>
<content type='text'>
- update nix flake
- bump hard coded reference to rustfmt nightly version
- fix warning that latest version of rustfmt produced
</content>
</entry>
<entry>
<title>fixup! refactor: rebuild app skeleton</title>
<updated>2023-10-06T16:35:30+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2023-10-06T16:35:30+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=aa48a626c08cec353d5563a8831239d2e69c9f3d'/>
<id>urn:sha1:aa48a626c08cec353d5563a8831239d2e69c9f3d</id>
<content type='text'>
</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>
<entry>
<title>refactor: rebuild app skeleton</title>
<updated>2023-09-13T09:24:49+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=6423baebd92e45c9be85157c443dff42e65d8d14'/>
<id>urn:sha1:6423baebd92e45c9be85157c443dff42e65d8d14</id>
<content type='text'>
Create skeleton for a complete rebuild of the prototype as a production
ready product.

Includes design patterns for:
 - dependency injection
 - unit testing with dependency mocking
 - integration testing
 - error handling
 - config storage

BREAKING-CHANGE: ground-up redesign with incompatible protocol standards
</content>
</entry>
</feed>
