upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/lib
AgeCommit message (Collapse)Author
2024-11-26test(login): update `ngit login` testDanConwayDev
to reflect the new interface and testing only nsec login
2024-11-26feat(login): add help contentDanConwayDev
add some basic copy under help
2024-11-26feat(login): add prompt to failed nsec loginDanConwayDev
as a minor UI improvement
2024-11-26refactor: err msgs 'cannot' > 'failed to'DanConwayDev
in nearly all cases 'cannot' was used when an action was tried and failed. 'failed to' is strictly better because: * just because the action didn't work that time doesnt mean it cannot work * it is better at drawing the users attention to a problem
2024-11-25feat(list): report on action selectionDanConwayDev
there was a bug in `Interactor` so that reports were turned off by default for choices. This was embodied into the CLI tests but this turns them on in these scenarios.
2024-11-25fix: restore interactor report defaultDanConwayDev
which should always be true but was defaulting to false when the `dont_report` functions were added
2024-11-25test: fix cli interactor without promptDanConwayDev
reverts a change in f79014235e85554e3661b3f2a02b8fa88bc192ff which caused a subtle change to how choices were displayed that caused the cli tester error when choices without prompts were displayed eg. in `ngit list` tests
2024-11-25fix(login): handle git config save errorsDanConwayDev
to guide the users how to login dispite the git config errors
2024-11-22feat(login): tweak local login wordingDanConwayDev
because a user might be logged in to the same account locally and globally
2024-11-22feat(login): `ngit login` prompt to logoutDanConwayDev
if a local and or global account is already logged in, prompt to logout before overwriting with new login details
2024-11-22feat(login): `ngit login` use cli argsDanConwayDev
previously cli args were only used during other commands to bypass normal login
2024-11-22feat(login): add create accountDanConwayDev
for the simpliest UX it creates and publishes a profile and relay list event.
2024-11-22feat(login): exit help with ctrl + cDanConwayDev
rather than any key press as `esc` wasn't included as a key press
2024-11-22feat(login): auto-proceed upon signer responseDanConwayDev
don't ask the user to press any key to proceed once the signer successfully responds. various approaches were to tried await either any key press or the signer reponse such as `tokio::oneshot`, `tokio::mpsc` and `tokio::watch` but all would keep the process running until key press. this solution of aborting with `signal::ctrl_c` prevents the work around of asking the user to press any key upon the signer reponse.
2024-11-21feat(login): overhaul login experienceDanConwayDev
* simplify login menu, making it more accessable to newcomers and easier to select remote signer options * enable `ngit login` to work from anywhere (not just a git repo) * assume fresh login details saved to global git config but fallback to local repository * maintain local repository login via `ngit login --local` * maintain login via CLI arguments eg `ngit send --nsec nsec123` * nudge users to remember nsec when pasting in ncryptsec for a better UX, whilst maintaining the option to be prompted for password everytime * create placeholder menu items for help menu and create account
2024-11-12fix: send event error messageDanConwayDev
rust-nostr v35/v36 changed the `pool.send_event_to` error message to use 'event/s not published' instead of the error message from the relay. `relay.send_event` supplies the useful error message.
2024-11-12test: prevent signer commentaryDanConwayDev
identification of signer has been removed from rust-nostr. until it is added back in we must always prompt the user about signing as if its a local signer the message will be removed before the user sees it. unfortunately this is picked up by the tests so we must only prompt the user when not running tests.
2024-11-12fix: get correct nip46 npub in edge caseDanConwayDev
when there is an npub listed in git config but login was via direct cli arguments to the current process, the wrong npub would be used. this is the case for the ngit_init tests. this can be more eligantly if rust-nostr NostrConnect::new() were updated to accept user public key as requested here: https://gitworkshop.dev/r/naddr1qvzqqqrhnypzq6xcz9jerqgqkldy8lpg7lglcyj4g3nwzy2cs6u70wejdaj7csnjqy88wumn8ghj7mn0wvhxcmmv9uqq5un4wd6z6mn0wd68y2z2qh0/issues/note1qa2pty0mnjhsme3thza24u3nv8u7859fqw2qg6fuyx9w00e2gekqvl3yg9
2024-11-11fix(login): only get signer npub when unknownDanConwayDev
on get the user public key from the remote signer when it is unknown so that read operations aren't blocked by being unable to reach remote signer
2024-11-11chore: bump rust-nostr v0.36DanConwayDev
bump all rust-nostr packages to latest issued version. there have been some breaking changes to nip46 and this applies these changes.
2024-10-31fix(init): remove broken blasterDanConwayDev
muntiny wallet has shut down and removed its blaster relay
2024-10-28chore: bump rust-nostr to patch near v0.36.0DanConwayDev
bump all rust-nostr packages refactoring code based on breaking changes upgrading to patched version to address signer issue: nostr:nevent1qvzqqqqqqypzq6xcz9jerqgqkldy8lpg7lglcyj4g3nwzy2cs6u70wejdaj7csnjqy88wumn8ghj7mn0wvhxcmmv9uqzpsw5ph8le2n2kh6uchftawt74hddazk9tp7wjmz967y2l0uva5rc7hsstq
2024-10-28refactor: replace sqlite with lmdbDanConwayDev
as sqlite is depricated in rust-nostr
2024-10-02chore: apply patched rust-nostrDanConwayDev
which includes nip46 signer change so it can be initated without completing connection.
2024-09-25chore: bump rust-nostr v0.35DanConwayDev
bump all rust-nostr packages
2024-09-24fix(login): locally when globally logged inDanConwayDev
as it would fail to save to local git config
2024-09-24feat(login): login via nip46 QR codeDanConwayDev
or nostrconnect url string which is a much better UX flow for nip46
2024-09-23fix(remote): enable login through remote helperDanConwayDev
originally this was disabled because there was a concern that it would effect the operation of the remote helper due as it prints to stdout. it now only writes to stderr.
2024-09-23fix(remote): extend nip46 login timeout to 10mDanConwayDev
as 30s is too short for those of us fumbling with our remote signer app
2024-09-23fix(remote): add resilience to `prs`DanConwayDev
make poorly formatted patches fail silently. we stop trusting that the `commit` tag in the latest patch can be produced by apply the patches. to achieve this we must recreate the commit during the list command, which require fetching the parent oids. support patches without optional `commit` and `parent-commit` tags.
2024-09-18test: fix gitlib2 version in sampleDanConwayDev
so they match v1.8.2 used in updated git2
2024-09-17feat(remote): store successful protocol in configDanConwayDev
if another protocol was tried first and failed
2024-09-13refactor: abstract find pr from branch nameDanConwayDev
so it is done consistantly across ngit and the remote helper
2024-09-12fix(remote): `push` status updatesDanConwayDev
push needs to use push_transfer_progress rather than transfer_progress
2024-09-12fix(remote): update copyDanConwayDev
to make it more like native git
2024-09-11refactor: fix fmt and clippy issuesDanConwayDev
which potentially were only identified when a dependancy was updated
2024-09-06fix(remote): `fetch` and `list` status copyDanConwayDev
so that it the filesystem url is shown
2024-09-06fix(remote): `list` apply protocols selectionDanConwayDev
used in fetch and tweak the error reporting
2024-09-06fix(remote): improve protocol selction / fallbackDanConwayDev
abstract the protocols and order to try under different scenarios add some additional scenarios eg hardcoded http tweak error reporting
2024-09-06refactor: render ServerProtocols lowercaseDanConwayDev
as they are easier to read
2024-09-06feat(remote): fetch protocol selection / fallbackDanConwayDev
enable override from nostr url clone url is local use local otherwise try https unathenticated, ssh, then https authenticated
2024-09-06add `CloneUrl`DanConwayDev
to enable remote to interact with git servers over a range of specified protocols
2024-09-04refactor(remote): split into modulesDanConwayDev
to make it easier to read
2024-09-04refactor: use FromStr trait for NostrUrlDecodedDanConwayDev
as it should have been used in the first place
2024-09-04refactor: fix imports, etc based on restructureDanConwayDev
move some functions out of ngit and into lib/mod and lib/git_events remove MockConnect from binaries so it is only used in the library. this was done: * mainly because automocks were not being imported from lib into each binary * but also because the these functions were being tested with MockConnect
2024-09-04refactor: organise into lib and bin structureDanConwayDev
the make the code more readable this commit just moves the files, the next commit should fix the imports