6 Months of Tangled

2 weeks ago 1

Hello Tanglers! It’s been over 6 months since we first announced Tangled, so we figured we’d do a quick retrospective of what we built so far and what’s next.

If you’re new here, here’s a quick overview: Tangled is a git hosting and collaboration platform built on top of the AT Protocol. You can read a bit more about our architecture here.

new logo and mascot: dolly!

Tangled finally has a logo! Designed by Akshay himself, Dolly is in reference to the first ever cloned mammal. For a full set of brand assets and guidelines, see our new branding page.

logo with text

With that, let’s recap the major platform improvements so far!

pull requests: doubling down on jujutsu

One of the first major features we built was our pull requests system, which follows a unique round-based submission & review approach. This was really fun to innovate on—it remains one of Tangled’s core differentiators, and one we plan to keep improving.

In the same vein, we’re the first ever code forge to support stacking pull requests using Jujutsu! We’re big fans of the tool and we use it everyday as we hack on tangled.org/core.

Ultimately, we think PR-based collaboration should evolve beyond the traditional model, and we’re excited to keep experimenting with new ideas that make code review and contribution easier!

spindle

CI was our most requested feature, and we spent a lot of time debating how to approach it. We considered integrating with existing platforms, but none were good fits. So we gave in to NIH and built spindle ourselves! This allowed us to go in on Nix using Nixery to build CI images on the fly and cache them.

Spindle is still early but designed to be extensible and is AT-native. The current Docker/Nixery-based engine is limiting—we plan to switch to micro VMs down the line to run full-fledged NixOS (and other base images). Meanwhile, if you’ve got ideas for other spindle backends (Kubernetes?!), we’d love to hear from you.

XRPC APIs

We introduced a complete migration of the knotserver to an XRPC API. Alongside this, we also decoupled the knot from the appview by getting rid of the registration secret, which was centralizing. Knots (and spindles) simply declare their owner, and any appview can verify ownership. Once we stabilize the lexicon definitions for these XRPC calls, building clients for knots, or alternate implementations should become much simpler.

issues rework

Issues got a major rework (and facelift) too! They are now threaded: top-level comments with replies. This makes Q/A style discussions much easier to follow!

issue thread

hosted PDS

A complaint we often recieved was the need for a Bluesky account to use Tangled; and besides, we realised that the overlap between Bluesky users and possible Tangled users only goes so far—we aim to be a generic code forge after all, AT just happens to be an implementation detail.

To address this, we spun up the tngl.sh PDS hosted right here in Finland. The only way to get an account on this PDS is by signing up. There’s a lot we can do to improve this experience as a generic PDS host, but we’re still working out details around that.

labels

You can easily categorize issues and pulls via labels! There is plenty of customization available:

  • labels can be basic, or they can have a key and value set, for example: wontfix or priority/high
  • labels can be constrained to a set of values: priority: [high medium low]
  • there can be multiple labels of a given type: reviewed-by: @oppi.li, reviewed-by: @anirudh.fi

The options are endless! You can access them via your repo’s settings page.

notifications

In-app notifications now exist! You get notifications for a variety of events now:

  • new issues/pulls on your repos (also for collaborators)
  • comments on your issues/pulls (also for collaborators)
  • close/reopen (or merge) of issues/pulls
  • new stars
  • new follows

All of this can be fine-tuned in /settings/notifications.

notifications

the future

We’re working on a lot of exciting new things and possibly some big announcements to come. Be on the lookout for:

  • email notifications
  • preliminary support for issue and PR search
  • total “atprotation” —the last two holdouts here are repo and pull records
  • total federation—i.e. supporting third-party appviews by making it reproducible
  • achieve complete independence from Bluesky PBC by hosting our own relay

That’s all for now; we’ll see you in the atmosphere! Meanwhile, if you’d like to contribute to projects on Tangled, make sure to check out the good first issues page to get started!

Read Entire Article