upleb.uk

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

summaryrefslogtreecommitdiff
path: root/src/sub_commands
AgeCommit message (Collapse)Author
2024-02-20feat(list): download or apply with git amDanConwayDev
add the option to download patches or apply them with git am give more granular messages about the state of proposals. add support for replacing old proposal version with a new one
2024-02-20refactor: simplify commit msg extractionDanConwayDev
and create functions to use this for non-root patches
2024-02-20fix: cover letter description from patchDanConwayDev
if description isn't present this was causing an breaking error
2024-02-19fix: ingore patch diff in descrition fallbackDanConwayDev
the description is not currently displayed so no tests where written
2024-02-16refactor: added code commentsDanConwayDev
to reflect the requirement for certain tags
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-16refactor: use event_id in get_most_recent_accestorDanConwayDev
instead of commit ids as part of nip34 compliance and to enable applying proposals to tip of master in the future
2024-02-16refactor: remove reliance on 'commit' tagDanConwayDev
as part of nip34 compliance
2024-02-15fix(list): filter for repo event ref tagDanConwayDev
previously filtering for d tag rather than a tag this kind of bug should be picked up by tests when our mock relay is applying filters before sending events
2024-02-15fix: allow optional description and webDanConwayDev
also add a default web
2024-02-14feat: find repo event by nevent or naddrDanConwayDev
if repo event cannot be found using unique commit the user can find it via a nevent or naddr also handle no PRs found
2024-02-14feat: send to default relays, blast repo eventDanConwayDev
improve the distribution of events by sending to default relays in addition to user and repo relays. for better discoverability of repo events, this is also blasted. a temporary fix to blast everything was removed. the less reliable purplepages.es relay is moved to more_fallback_relays that currently isn't used
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-02-13feat!: nip34 set pr kind to patch kindDanConwayDev
this enables consistancy of display with simple clients that are just taking the output of `git format-patch`
2024-02-13feat!: nip34 make pr event optionalDanConwayDev
use first patch as thread root if pr event isn't present. begin renaming pr event to cover letter. fix patch ordering upon creation. patches were in youngest first order which caused: - `PATCH n/t`to be in reverse order - the youngest patch was the marked root - oldest patch replied to the youngest fix finding most recent patch event. when a patch in a set is the most recent it will share a created_at with other patches. previously the first patch recieved from relay in the set would be used. now it finds the first patch with that created_at which isn't also a parent of another patch with the same created_at.
2024-02-13feat(prs-create)!: pr to nip34-like cover letterDanConwayDev
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
2024-02-09refactor(git): find root commit from headDanConwayDev
this is simpler there is no need to check whether main or master exist because one does 99+% of the time the root commit wil be te same for head as master 99+% of the time
2024-02-09feat(prs-create): add `PATCH n/n` to contentDanConwayDev
format patch as a series in the patch event content unless it is 1/1 and there is no pr (cover letter) event
2024-02-02feat(prs-create)!: use nip34 patch kind and tagsDanConwayDev
- 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
2024-02-02feat(repo_ref)!: use nip34 kind and tagsDanConwayDev
- 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
2024-01-26chore: upgrade rust-nostr v0.27.0v0.1.1DanConwayDev
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.
2024-01-26fix: use correct fallback relaysDanConwayDev
instead of the `more_fallback_relays`
2024-01-26feat(claim): add blaster to relay listDanConwayDev
this is a temporary fix until we handle relays more effectively
2024-01-26fix(claim): use correct fallback relaysDanConwayDev
use fallback relays instead of more fallback relays
2024-01-23fix(prs-create): remove d tag from pr eventDanConwayDev
this shouldn't be present
2024-01-23feat(pull): check for clean repoDanConwayDev
before applying changes and bail if not
2024-01-23feat(prs-list): check for clean repoDanConwayDev
before checking out PR branch add confirm prompt before checking out branch and applying changes
2024-01-22feat(git) save pgp sig in patch eventDanConwayDev
so that commit ids can be maintained
2024-01-22feat(claim): improve no remote error messageDanConwayDev
so that the user knows why a remote is required
2023-12-12feat(claim) create yaml add maintainers and relaysDanConwayDev
- 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
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-12-01feat(prs-list) list and pull selected as branchDanConwayDev
- fetch prs and present as a selectable list - create and / or checkout branch for selected pr - apply latest patches as commits
2023-11-01feat(prs-create) add pr tag branch-name and titleDanConwayDev
tag pr event with title, description and the name of the current checkedout branch
2023-11-01feat(prs-create) use r instead of t tag for refsDanConwayDev
r tags are indexed by relays in they same way as t tags and are a more appropriate for referencing commits
2023-11-01feat(prs-create) send to repo relaysDanConwayDev
fetch repository reference events to identify repository relays send pr events to repository relays alongside user relays
2023-11-01refactor(claim) move repo_ref.rsDanConwayDev
file created in the wrong folder in error
2023-11-01refactor(claim) remove setter flowDanConwayDev
we dont need to th verbose of getters and setters for this right now
2023-11-01refactor(claim) add RepoRef structDanConwayDev
enable wider usage of repoistory reference details
2023-11-01feat(claim) create basic eventDanConwayDev
replacable event with root-commit, name, description and relay tags
2023-11-01feat(prs-create) send to user relaysDanConwayDev
reuse client across login and send events
2023-11-01refactor(client) simply connect flowDanConwayDev
connect immediately before requesting or sending events no longer waiting for all relays to connect before interacting with any of them
2023-11-01build(deps) update nostr nostr-sdkDanConwayDev
fix breaking changes
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