Urgent.News

What's breaking now, across thousands of outlets.

Tech

Creating Bluesky starter packs from code: three AT Protocol records and one non-idempotency trap

Bluesky starter packs look like a single thing in the app — a shareable page that lets a new user follow a curated group in one tap. At the protocol level they are three separate records glued together by references, and if you create them from code (we do, as part of an automated outreach pipeline), the decomposition matters: it decides what you can update later, what you can only create once,…

Bluesky starter packs are a shareable page that allows new users to follow a curated group with a single tap. At the protocol level, they consist of three separate records connected by references, which must be created from code as part of an automated outreach pipeline. The three records include a list, memberships, and the pack itself.

The list record holds metadata like name, purpose, and createdAt, while each membership record contains the member's DID and the list's AT-URI. The pack record makes the share page exist, and its creation is not idempotent. Running the create-starter-pack script twice results in two packs with different URLs. The limit of 150 members per pack is enforced by the application, and deleting a pack record leaves the list and its members in the repository.

Updating pack metadata is the only place where real idempotency occurs, as the same URL remains throughout. The pipeline is designed to handle partial failures, ensuring that only successfully added members are reported.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Kubernetes Architecture

Control Plane (Master) & Worker Nodes Control Plane components: API Server Scheduler Control Manager etcd Worker Node components: Container Runtime Kubelet Kube-proxy Node Processes Each node has…

  • Control Plane includes API Server, Scheduler, Controller Manager, and etcd
  • Worker Nodes run Container Runtime, Kubelet, and Kube-proxy
  • API Server interacts with users to deploy applications in the cluster

why some people use neovim

I'm use neovim in cli like in my home but im not use Ide before in my live my first try pc is arch linux and neovim So I think I'm the best person to ask what is special in neovim 1: is so lightweight…

  • Neovim is a customizable, lightweight text editor
  • Users configure Neovim with Lua for personalized settings
  • Neovim enables remote file editing via SSH protocol

More from Sunday 23 August →