Craig Sutherland (casutherland) opened
In addition to git-bug+git-ssb basic compatibility (#356), I’m also hoping to add a git-bug bridge for the git-ssb Issues tracker at some point.
Labels: area/bridge kind/feature lifecycle/rotten priority/awaiting-more-evidence triage/needs-information
Craig Sutherland (casutherland) opened
In addition to git-bug+git-ssb basic compatibility (#356), I’m also hoping to add a git-bug bridge for the git-ssb Issues tracker at some point.
Michael Muré (MichaelMure) changed the title from
feat: bridge for git-ssb issue tracker to feat: bridge for git-ssb issue tracker
Michael Muré (MichaelMure)
added label
area/bridge
Michael Muré (MichaelMure)
added label
enhancement
Michael Muré (MichaelMure) commented
Be my guest :)
It looks moderately easy to do now that the bridge's core supported 3 different bridges and saw quite a lot of refactoring and improvements as well as the reusable prompts. Also, git-ssb's issue tracker seems quite limited in features.
Any idea how you would interface with it ? Is there some API or code to import ?
Craig Sutherland (casutherland) commented (edited)
Any idea how you would interface with it ? Is there some API or code to import ?
Currently SSB's dominant implementation language is node, and I believe that the closest thing to an API available for git-ssb Issues is the ssb-issues node library that is initialized with the distributed ssb-server (a.k.a. sbot) instance running locally with node.
1/ With git-bug implemented in golang, I suppose extending/wrapping the ssb-issues node library to expose a local Issues API served via the local ssb-server instance would be one approach. Or we can perhaps interrogate git-ssb-web APIs which may already be served locally on http://localhost:7718. All SSB data is currently formatted with JSON. The new git-bug golang library implementing the git-ssb bridge would need to pass the git repo ref id (ssb-id) to allow git-ssb to identify the root node within the SSB append-only log. Not sure about authentication/authorization approach yet.
I will bounce these initial quick thoughts off others with more ssb & node experience, to see if they suggest a more elegant approach.
2/ I also noticed that git-ssb comes with a basic cli command to list issues (git ssb issues [--all|--open|--closed], which is read-only). In addition, anyone may run git-ssb-web attached to their local ssb-server instance, and interact fully (create/edit/close/list) with the git-ssb Issues basic tracker, even while disconnected from the network. So, although I will still use git-bug with git-ssb repos regardless, and a bridge to git-ssb Issues will be nice (and appears to be fairly straightforward to implement), I'm not sure how many other people will actually use this bridge. :man_shrugging:
x-post: ssb:%CWTITFYuLdyg1xa4OPQ3/4lD9m7mybA2/R4JNUlZ6z8=.sha256
github-actions (github-actions) commented
This bot triages untriaged issues and PRs according to the following rules:
lifecycle/stale label is appliedlifecycle/stale was applied, the issue is closedTo remove the stale status, you can:
lifecycle/stale label
github-actions (github-actions)
added label
lifecycle/stale
sudoforge commented (edited)
Just an FYI, I've opened an issue for moving away from maintaining bridges within git-bug, and instead exposing a common interface and supporting bridges as plugins (#1227). I'd appreciate it if you could take a look and provide your thoughts.
sudoforge removed label enhancement
sudoforge added label kind/feature
sudoforge added label priority/awaiting-more-evidence
sudoforge added label triage/needs-information
github-actions (github-actions) commented
This bot triages issues in order to help the maintainers identify what needs attention, according to the following lifecycle rules:
lifecycle/stale is appliedlifecycle/stale was applied,
lifecycle/rotten is appliedThis bot will not automatically close stale issues.
To remove the stale status, you can:
To avoid automatic lifecycle management of this issue, add
lifecycle/frozen.
github-actions (github-actions)
added label
lifecycle/rotten
github-actions (github-actions)
removed label
lifecycle/stale
sudoforge removed label lifecycle/dormant