upleb.uk

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

summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-01-23fix(prs-create): remove d tag from pr eventDanConwayDev
this shouldn't be present
2024-01-23build: env specific fallback relaysDanConwayDev
to prevent tests from poluting public relays
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): apply pgp sig event tag to commitDanConwayDev
to maintain correct commit ids which is required to apply multiple commits its noted that no tests are written and the scenario where the author and committer differ has not been tested clearly the validate_patch_applied function has code that corrects an error where the author / committer 'signatures' do not apply correctly. this will not be fixed under a pgp signed commit scenario.
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
2024-01-22feat(login): reduced cache usage delayDanConwayDev
so that changes to relays changes can be picked up
2024-01-22feat(claim): change repo event kindDanConwayDev
so that it is outside the 30000 <= n < 40000 parameterized replacable range
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-06build(deps) update nixDanConwayDev
- update nix flake - bump hard coded reference to rustfmt nightly version - fix warning that latest version of rustfmt produced
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:(cli_interactor) add choice selectorDanConwayDev
add single choice selector as an enabler for selecting pr from a list
2023-11-01feat(git) create and checkout branchDanConwayDev
add RepoActions trait methods to checkout ref, create branch at commit and check if a commit exists
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-11-01feat(login) fetch from discovered write relaysDanConwayDev
immediately request metadata and relay list from any newly discovered user write relays
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