-
2021
-
2022
Self-host
radicle-link
onradicle-link
.- Exchange code
- Find projects
- Manage patches
- Task tracking
-
Provider Cache
Remember
Have
s in a k-bucket structure acc. to local subscription and/or hash value. Can answerWant
from cache; can locate providers based on distance metric. Unclear how to perform liveness check when protocol is stateful (TLS handshake). -
NAT Traversal
-
Hole Punching
Requires coordination when NAT is endpoint-dependent. Coordinator nodes could be designated though a DHT, but latency and churn are problematic. Maybe Chord?
-
-
Gossip Membership Groups
Prefer peers with similar interests. Pubsub protocols (eg. gossipsub, episub) are suitable for single-root routing trees, which is not quite what we're after; in pubsub terms, we would have the URN as the topic, while every tracking peer forms a sub-topic (to which others interested in URN may or may not be subscribed). Maybe SCRIBE (Pastry) anycast? Look at Matrix "pinecone"?
-
Stabilization
-
Prune refs
-
Avoid
ls-refs
in fetch stepWould fail the entire fetch if tips mentioned in
signed_refs
are missing -
Transactional tracking updates
-
Honour tracking configuration
-
-
Grafting
Mutual synchronisation
- Interrogation
- RFC 701
- Finalise
- Implement
-
Simplify verification by requiring history to be linear
-
Simplify initialising a multisig identity
Verification may allow the initial revision to have only one signature, regardless of the number of delegations.
-
Quorum overrides for personal ids
Cross-signing from multiple devices is inconvenient for personal ids. Macaroons could be issued which allow to confirm a change using only one second factor (HSM, password manager, ..). Or maybe just make the quorum threshold configurable.
-
Extension points for cobs (TBD)
-
Tasks
Turn this document into a CRDT.
-
Patches
Track code and comment on it.
- Leaderless verifiable multi maintainer (fearless also)
-
To ACL or to not ACL? Moderate or restrict?
-
Discovery of cobs from untracked peers
Indexing cob (cob-of-cobs)? Interrogation API?
-
CLI
-
Editor Plugin?
-
AppArch MVP
-
Packaging
-
systemd / launchd configs
-
linkd
-
"Announce" RPC
-
RPC triggering RFC701-style sync (single or multiple peers)
May provide timer file, which people may or may not activate
-
RPC triggering clone of URN
-
macOS socket activation
-
Configure / override bootstrap peers
Do we need to distinguish between bootstrap and custodial peers?
-
-
git daemon
- Clone-through of URN (experimental)
-
-
Instrumentation (metrics)
-
git maintenance
- git config
- delta islands?
- systemd/launchd timers
- Integrate new tracking in
lnk-identities
- Extract networking into crate
- Extract storage into crate
- Implement storage in terms of
link-git