| Age | Commit message (Collapse) | Author |
|
if a local and or global account is already logged in, prompt to
logout before overwriting with new login details
|
|
previously cli args were only used during other commands to bypass
normal login
|
|
it previously only worked from within or near a git repo directory
|
|
for the simpliest UX it creates and publishes a profile and relay
list event.
|
|
rather than any key press as `esc` wasn't included as a key press
|
|
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.
|
|
* 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
|
|
note v1.5.3 is actually forked to exclude changes to init which weren't
ready for release. the tag v1.5.3 is set to commit:
0089b8fce131c0675539490b67f5a55aab377853
changelog:
- fix remote signing as nip46 update has breaking changes
- auth to relays on requests
- fix `pr/` branch name prefix issue
- fix `ngit init` error when remote added before initiation
- don't blast initiation events as munity blaster is no more
- when git-remote-nostr called directly show help instead of error
- bump rust-nostr to v0.36
- replace sqlite with lmdb due do rust-nostr deprecation
|
|
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.
|
|
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.
|
|
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
|
|
rust-nostr must have changes the order in which it
returns elements.
a proper fix would be to work out why there are duplicates!
|
|
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
|
|
bump all rust-nostr packages to latest issued version.
there have been some breaking changes to nip46 and this applies
these changes.
|
|
This reverts commit 43b5e9b38bf5dcfbac85637a2d3efc69ddfe77ac.
|
|
instead of printing an error when `git-remote-nostr` is called
directly instead of via plugin, provide some guidance
|
|
simplify api to encougage use of the git plugin
|
|
muntiny wallet has shut down and removed its blaster relay
|
|
when multiple maintainers enable opting out of storing state on nostr
this prevents other maintainers from pushing a state to the
git server which nostr servers wouldnt see because they are using the
nostr state.
|
|
by first asking if the user is the only maintainer and if so not
showing the npub selection option
|
|
based on user testing and feedback
|
|
when the user has set a remote to a nostr url but hasn't initiated
the repository on nostr - dont error but instead use the identifier
in the remote
|
|
bump all rust-nostr packages
refactoring code based on breaking changes
upgrading to patched version to address signer issue:
nostr:nevent1qvzqqqqqqypzq6xcz9jerqgqkldy8lpg7lglcyj4g3nwzy2cs6u70wejdaj7csnjqy88wumn8ghj7mn0wvhxcmmv9uqzpsw5ph8le2n2kh6uchftawt74hddazk9tp7wjmz967y2l0uva5rc7hsstq
|
|
as sqlite is depricated in rust-nostr
|
|
which includes nip46 signer change so it can be initated
without completing connection.
|
|
currently the prefix is missed when listing refs after pushing a pr
|
|
bump all rust-nostr packages
|
|
if login details are known, log in straight away and respond to auth requests.
users can make a choice whether to sign these using their nip46 signer
|
|
changelog:
- login via nip46 QR code
- enable login directly in git plugin
- add resilience to git plugin so that a poorly formated pr will
gracefully fail and won't cause issues for other prs
and state events
|
|
as it would fail to save to local git config
|
|
so that each file is ran as a seperate crate
this makes it easier to see which tests are causing other tests to
fail as they are in a smaller group.
|
|
or nostrconnect url string which is a much better UX flow for nip46
|
|
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.
|
|
as 30s is too short for those of us fumbling with
our remote signer app
|
|
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.
|
|
changelog:
* git plugin reports on event broadcasting
|
|
to both tell users where events have been sent / failed to be sent
and to provide a status update so the user doesn't think its crashed
|
|
warngins ~> warnings
|
|
changelog:
- add new nostr url format that works better for MacOS users
`nostr://<*protocol>/<npub123>/<*relay-hint>/<identiifer>`
\*optional
- status updates during clone, push and fetch
- intelligent protocol selection and fallback
- unless unusual protocol specified in clone url it will try
in this order:
- fetch: https unatuth, ssh, https
- push: ssh, https auth
- save successful protocol in git config so it is tried first
next time
- enable override from nostr url (will only use this protocol)
- enable building binaries via nix
- refactor into lib and bin structure
- bump dependnancies
|
|
from april version to current
|
|
so they match v1.8.2 used in updated git2
|
|
update nix dependancies to latest version using default update options
|
|
in the hope that it addresses the 'early EOF' error that sometimes
appears when cloning a repo.
|
|
update dependancies to latest version stated in cargo.toml
|
|
so it clear which patch is causing issues and it continues to report
the fetch problem to the git client.
we need a better solution it degrades gracefully rather than
stopping the operation.
perhaps list needs to only list PRs which it can create from existing
data objects?
perhaps list also needs fetch objects before fetch is called?
|
|
fixing what should have been picked up in:
7718a56ab05038e743401ea01628d85edc50ed34
|
|
remove the correct number of lines when reporter prints to
narrow terminals
|
|
reverting change in 73480c03e194808bec7cbbf8c2d7064743d03369
|
|
improved for push to each git server. report now reflects new
branch / tag, delete branch / tag and force flag.
|
|
which enables some failing `fetch` tests to pass
|
|
in the TUI as its not useful
|
|
ensure commit id from and two are the correct way around
|
|
so that other protocols are not tried after push was successful
|
|
if another protocol was tried first and failed
|
|
use the same approach taken with reporting remote status in `push`
as is used in `fetch`
|
|
as changes to status updates has causes many tests to fail
|
|
which enables fetch tests to pass
|
|
in progress updates as its not resolving any deltas
|
|
when they are sent via multiple messages
|
|
and slightly refactor
|
|
by avoiding bugs where lines are removed accidentally by storing
report in a mutex and rewriting the entire report at each update
|
|
so it doesn't remain in the TUI
|
|
by only removing and rewriting transfer progress
|
|
by avoiding bugs where lines are removed accidentally by storing
report in a mutex and rewriting the entire report at each update
|
|
so it is done consistantly across ngit and the remote helper
|
|
so that it only finds branch name not prefixed with `pr/` if
you are the author of the pr as there may be duplicate named prs.
|
|
as since `cl.get_branch_name` has been introduced branch names
could be prefixed with a pr and sometimes postfixed with an event id
|
|
push needs to use push_transfer_progress rather than transfer_progress
|
|
by using words or short phrases
|
|
adding new errors that are authentication related
|
|
to bring them more into line to the native git client
|
|
to bring them more into line to the native git client
|
|
based off of:
https://github.com/rust-lang/git2-rs/blob/master/examples/fetch.rs
|
|
instead of trying again over fallback protocols
|
|
so that attempts can be made to use a fallback protocol
|
|
to make it more like native git
|
|
which potentially were only identified when a dependancy was updated
|
|
so a tarball can be created per system for issuing releases
|
|
as this is not needed. it was originally added as part of diagnosing
openssl availablity
|
|
both binaries should be within the same package.
`pkg-config` and `openssl` need to be in both `nativeBuildInputs` and
`buildInputs` and dev shell `buildInputs` otherwise the build will fail.
PKG_CONFIG_PATH ev also needs to be set.
|
|
which were preventing the build process from running
|
|
using rustPlatform.buildRustPackage as used in nixpkgs
|
|
update nix dependancies to latest version using default update options
|
|
to make it easier to read and navigate
|
|
in prep for splitting git_remote_nostr tests
|
|
enable override from nostr url
clone url is filesystem use filesystem
otherwise try ssh, then https authenticated
unless clone url is http, then try ssh then http as we assume,
we are on a local trusted network.
|
|
so that it the filesystem url is shown
|
|
and don't proceed to https or http
|
|
used in fetch and tweak the error reporting
|
|
abstract the protocols and order to try under different scenarios
add some additional scenarios eg hardcoded http
tweak error reporting
|
|
as they are easier to read
|
|
enable override from nostr url
clone url is local use local
otherwise try https unathenticated, ssh, then https authenticated
|
|
to enable remote to interact with git servers over a range of
specified protocols
|
|
to make it easier to read
|
|
as it should have been used in the first place
|
|
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
|
|
the make the code more readable
this commit just moves the files, the next commit should fix the imports
|
|
add protocol and user parameters so that users can overide the
protcol in the clone url and use specific protocols for
fetch and push. see:
nostr:nevent1qvzqqqqqqypzpgqgmmc409hm4xsdd74sf68a2uyf9pwel4g9mfdg8l5244t6x4jdqyxhwumn8ghj7mn0wvhxcmmvqqsp6a5ck6grd9lq0nu25dcfzggxde67erut76w0ucal5rcfq4y5gzc7gmpzm
the override feature hasn't been implemented yet but
this is an enabler.
also added a new format so that macos (zsh) users don't
have to use quotes:
nostr://<optional-protocol>/npub123/<optional-relay>/identifer
|
|
so clone urls align to fetch rather than push.
see discussion here:
nostr:nevent1qvzqqqqx25pzpp59a0hkv5ecm45nrckvmu7pnk0sukssvly33u3wwzquy4v037hcqyxhwumn8ghj7mn0wvhxcmmvqqs2tdha5ymadffrkdprachsz6gsgsy6kc8gkntgq750mfn7u3aeu3g7xt8k9
|
|
changelog:
* when clone url is ssh use auth for `list` and `fetch` as
they are required
* when clone url is ssh, fallback to https so read events dont always
require auth
* stop asking for git server credentials when pushing `pr/` branch
* fix `no repo events at specified coordinates` error via rust-nostr
v0.34.1 upgrade
|