Tangled Code Forge: Federated Git Collaboration on AT Protocol
Decentralized Code Collaboration
Tangled is positioning itself as a federated alternative to centralized code forges like GitHub or GitLab. By leveraging the AT Protocol, Tangled allows developers to host their own code, CI runners, and API servers while remaining part of a unified, interoperable network. This approach aims to solve the problem of vendor lock-in by ensuring that project data—including issues, pull requests, and comments—remains portable and under the control of the repository owner.
Architectural Overhaul and Performance
The latest release introduces a significant architectural shift to improve global performance. Previously, Tangled relied on a Go-based monolith that handled both the backend and UI. The new architecture decouples these components:
- Frontend: A new Svelte-based frontend deployed at the edge.
- Indexer: A diskless, in-memory indexer service written in Rust called
bobbin, deployed across 11+ global regions to reduce latency. - Knot2: A rewritten Rust-based server that bundles a custom Git server and an SSH server, serving as the primary host for repositories.
Collaborative Objects (COBs)
Tangled has introduced a new data model where issues, pull requests, comments, and reactions are stored as Collaborative Objects (COBs) directly within the Git repository. These records are stored as chains of Git objects, ensuring that a project's metadata is inextricably linked to its source code. To ensure data integrity and prevent unauthorized modifications, the system uses org.tangled.graph.attestation records, which allow for two-way verification between the knot server and the user's Personal Data Server (PDS).
Organizations and Workflow Updates
Organizations are now supported as first-class citizens on the AT Protocol. Each organization receives its own DID and handle, allowing for delegated, passwordless access management. Additionally, the platform has overhauled its pull request flow to support stacked PRs for both Git and Jujutsu users, including interdiff support for reviewing changes between versions.
Community Feedback and Discussion
While the community has expressed enthusiasm for the project's goals, early feedback highlights several areas for improvement and technical concerns:
- UX Challenges: Some users noted that the UI, while improved, lacks standard affordances like explicit "Comment" buttons, leading to confusion during code reviews.
- Federation Reliability: A common concern is the impact of self-hosted node downtime on discoverability. Unlike ActivityPub, where content is often replicated across instances, users have noted that if a specific "Knot" server goes offline, the associated code or issues may become temporarily inaccessible.
- Technical Hurdles: Early testers reported issues with repository cloning and path validation. Additionally, some users have requested support for SHA256 Git repositories, noting that the industry is gradually moving away from SHA1.
Regarding the choice of protocol, some community members questioned why AT Protocol was chosen over ActivityPub, though supporters argue that the existing AT Protocol ecosystem provides a robust foundation for social and collaborative data.
Sources
Related
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch