upleb.uk

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

summaryrefslogtreecommitdiff
path: root/src/main.rs
AgeCommit message (Collapse)Author
2024-07-30refactor: add struct `RepoState`DanConwayDev
to more easily access state details
2024-07-26feat(remote): add nostr git remote helperDanConwayDev
as a simple proxy to the first git server listed in announcement parse clone url as `nostr://naddr123...`
2024-07-19feat: integrate `fetch` into `push`DanConwayDev
as part of a project to use `fetch` and the stored cache everywhere
2024-07-15feat(fetch): fetch events and save to cacheDanConwayDev
enabler to add simplicity, efficency and offline capability to other functions improve repo announcement selection
2024-06-28feat(login): login with nip46 remote signerDanConwayDev
and save details in git config
2024-03-22chore: nix flake updateDanConwayDev
update nix dependancies to latest version using default update options
2024-03-04fix: typo in help content@RandyMcMillan
change donwload ~> download
2024-02-23refactor: remove confusing options, improve helpDanConwayDev
from_branch and to_branch have been replaced by specifying revision ranges
2024-02-23feat(push): add `--force` to issue revisionDanConwayDev
wrapping `send --in-reply-to` unless branch up-to-date
2024-02-22refactor: fix spellingDanConwayDev
ammended should read amended
2024-02-16refactor: rename PR to proposalDanConwayDev
PR is a problematic term when it ambiguous whether the set of patches are PR-like or email-patch like.
2024-02-16feat: improve helpDanConwayDev
improve summary for help commands
2024-02-14feat!: move `claim` > `init`DanConwayDev
this aligns with gitstr and is more intuative the idea behind using claim to indicate that it is only for maintainersto do is valid but its too confusing
2024-02-14feat!: move `prs create`>`send`, `prs list`>`list`DanConwayDev
remove unnecessary hierachy of `prs` which is also a troublesome term replace the concept of `create` which aligns more to the PR github model to `send` which aligns more with the git patch model
2024-01-31fix: intermittent crashing by removing block_onDanConwayDev
a crashing bug was identifed when users ran ngit with large relay sets. the test suite would also stop at random tests and produce a ...running for over 60 seconds error but only on nix configuration and not when using rustup. this change fixes this so the ngit must have been crashing more often when ran with the reduced resources of a nix shell. the test suite consistantly runs successfully under nix when this change is applied to v0.1.0. later changes were made to mitigate this and other issues as hot fixes which either intentionally broke tests (to rush the change through as a hotfix) or unintentionally in the case of nostr 0.27 upgrade in fc3f22eac2bb81823f170f61ba9d39baff76b933 changes introduced in e0f543e8adb144f6deff6ff7ea0c412c9fcac5b4, specifically queuing up relays, are probably not needed so I have increased the number of relays proccessed at any one time from 5 to 15
2023-12-08feat(push) push commits to existing prDanConwayDev
- find pr with a branch-name that matches checked out branch - check branch isnt behind latest patch on pr - push new commits a patches associated with pr
2023-12-07feat(pull) pull commits for checked out pr branchDanConwayDev
- find pr event which matches branch name - fetch and apply latest commits
2023-11-01refactor(claim) move repo_ref.rsDanConwayDev
file created in the wrong folder in error
2023-11-01feat(claim) create basic eventDanConwayDev
replacable event with root-commit, name, description and relay tags
2023-10-01feat(login) fetch user relays and metadataDanConwayDev
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
2023-10-01feat(prs-create) send to multiple relaysDanConwayDev
add tests but these currently don't work when run together
2023-10-01feat(prs-create) send commit to relayDanConwayDev
- add client - use client to send event - add async functionality - enabler for relay interaction whilst getting cli input
2023-10-01feat(prs-create) find commits and create eventsDanConwayDev
- identify commits - create pull request event - create patch events
2023-09-01feat(login) password login using encrypted nsecDanConwayDev
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.
2023-09-13refactor: rebuild app skeletonDanConwayDev
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