| Age | Commit message (Collapse) | Author |
|
so temporarly created test directories and files are ignored
|
|
specifiy commits or commit ranges in the
same way that `git format-patch` allows
|
|
instead of no default. note: I spent hours trying to get
CliTester to support default choices and gave up.
I have a stashed the attempt and am moving on...
|
|
this enables consistancy of display with simple clients that are just taking
the output of `git format-patch`
|
|
between 5 Feb 2024 and 13 Feb 2024 backtrace began activiating in
`nix-shell` and ci during integration tests when rexpect.
this caused some error tests to fail / hang
it was not activating in the `nix-shell` when the cli
was called seperately
setting the `RUST_BACKTRACE=0` in the rexpect config surpresses
the backtrace as desired
|
|
up the pr event type to a nip34-like cover letter format
this sets the building blocks in place to enable simplier clients to
use the 'cover letter' feature in `git format-patch` to create the
experience as a pr event
|
|
- change kind number
- remove "r-" prefix from unique commit id r tag
- rename tag commit-sig to commit-pgp-sig
- a tag for repo identifer and pubkey. this serves as a vote for
this pubkey being a maintainer
- add relay hints
- change format of committer tag
- remove r references to parent commit id
- tag parent patch event if its part of change request
author and commit-message tags still need to be removed but they are
required to apply patches with gitlib2. we will need to fallback to
running the git client to apply patches.
BREAKING CHANGE: change patch/commit event kind and tags to reflect
nip34 draft. events with the older kind will no longer be found and
will not be in a valid format
|
|
nip34 specifies that repo event tags with multiple values wuch as
"relays" and "web" use theformat:
`["tag", "item", "item"...]`
instead of:
```
["tag", "item"],
["tag", "item"],
```
this update also adds clarity. it is not obvious that using a p tag
is intended to make the pubkey a co-maintainer.
BREAKING CHANGE: format of maintainers tags in repo events has
changed to reflect nip34 style and ngit will not detect the old
format
|
|
- change kind number
- do not rely on d identifiers for unique commit id. set it as default
to unique commit id shorthand.
- remove "r-" prefix from unique commit id r tag and instead add checks
for SHA1 validity
- rename tag git_server to clone
- add web tag
- use single relays tag instead of multiple relay tags
BREAKING CHANGE: change repo event kind and tags to reflect
nip34 draft. events with the older kind will no longer be found and will
not be in a valid format
|
|
this is a contribution from jk (sectore) that I rebased and squashed
into this commit.
the tests were broken in the last few commits to rush out some fixes.
this change may introduce more issues because of
Relay.respond_standard_req.
|
|
to prevent tests from poluting public relays
|
|
so that it is outside the 30000 <= n < 40000 parameterized replacable
range
|
|
this doesnt effect the current tests but is more realistic
|
|
- create yaml file with maintainers and relays
- add maintainers to repo event
- add current user as maintainer
- custom repo relays from cli argument
- save git-server in repo event
|
|
- fetch prs and present as a selectable list
- create and / or checkout branch for selected pr
- apply latest patches as commits
|
|
fetch repository reference events to identify repository relays
send pr events to repository relays alongside user relays
|
|
|
|
fix breaking changes
|
|
use a patched websocket server that releases port after x connections
enabling its use in many tests included in the same test run
|
|
immediately request metadata and relay list from any newly discovered
user write relays
|
|
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
|
|
add tests but these currently don't work when run together
|
|
- identify commits
- create pull request event
- create patch events
|
|
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.
|
|
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
|