spindle: add queue, capacity, and failure metrics
web/onboarding: improve & add animations
wip: lexicons: git object ref spec fix
wip: spindle: support `org.tangled.*` endpoints
web: add signup flow with turnstile and emailed-link verification
nix: package gitmirror via crate2nix
web: add actor handle typeahead input
deliberi/xrpc,web: mark an issue or pull's notifications read on visit
web: implement create and fork repo flows
web/reporting: visuals enhancements & nits
web: add generated skeletons to show when loading
knotmirror: return committer date on `git.getTree`
web: add notifications toasts
web: add notifications toasts
cmd/spindle: ban, unban, and bans commands
web: rig up notifications page
appview/comments: show react button at the end of long comments
lexicons,api,cmd: add invite & acceptance collections
docker-compose.yml: stop jetstream killing itself every 10m
docs: host dolly.svg on R2
blog: Run your own CI
web: wire onboarding to real data
web: clean up comments — rewrite & remove redundancy
docs,knot2,nix,systemd: write knot 2 switchover guide, add unit
appview: remove in-appview webhook implementation
docs: host dolly.svg on R2
spindle/mill: proxy debug ssh to executors
web: add format count function to format numbers higher than 1000
web/api: sort branches before display
spindle: add generic CI cache
web/components: show vouch button and network vouches in profiles
bobbin/crates/{edge-index,ingest,xrpc},web: implement awaitRecord
spindle: implement mill
spindle,lexicons: add sh.tangled.ci.describeWorkflowDefinition query
web: slide the content when the active tab changes
appview: remove in-appview webhook implementation
web/components: EmojiPicker nits
web: add PWA icons for Android and iOS
lexicons,api,knotserver,appview: write repos by DID, negotiate per-knot
web/components: add rich mode to Input
web/repo/settings: make general settings topics Input rich
lexicons/webhook: define org.tangled.webhook.* xrpc lexicons
web/settings: wire pipeline secrets to the spindle xrpc
web/settings: reserve layout with skeletons instead of a load spinner
bobbin,knotmirror: read git thru mirror before knot
knot2/resource: warn when one address takes most pre-auth refusals
.tangled: add Go-style commit-message lint (hook + CI)
workflows/rust: run checks and tests
cmd/zoekt-tngl-indexserver: validate branch names & object ids before running git
slop: appview: rewrite spindle selector
appview/{config,state}: gate xrpc router behind TANGLED_XRPC_ENABLED
wip: repo issues slop
knotserver/git: harden git clone to prevent command injection
appview: ref based PR
bobbin/worker: add cors headers
web/routes: refactor string form to use putString
appview: update larger element on htmx handlers
appview/pages: update copy for CI section
appview/db: add indices to load issues-by-repo quicker
appview/pages: load pipeline statuses using htmx in pulls pages
appview/home: fix masks & backgrounds
appview/notify/email: cap at 10 notifs
appview/db: suppress backlog on email prefrence toggle
appview/db: add read filter for pending email notifs
appview/pages/repo/pulls: add latest ci status to pr title in pull page
appview/pages/repo/pipelines: dont copy ssh log cmd quoted, replace inner text with 'Copied!' when copied
appview/state: start email digest dispatcher
web: integrate query.enrichResponse and repo.getReposByRepoDids
spindle,eventconsumer: decouple execution from job ingestion, add ReadMessage timeout
appview/pages: move merge check info into round card
appview/oauth: ensure profile record when onboarding is skipped too
appview/pages: add spindle selector in repo/fork pages
appview/pages: animate signup icon
appview/pages: use hx-load to lazily load commit statuses
spindle/engines/nixery: make engine fully lazy
spindle/{ingester,server},jetstream: ingest repo.pull
spindle/{config,xrpc}: add pipeline cancel timeout
appview/pages: frontend for onboarding flow
web: implement repo/new
spindle: sync knot-managed collaborators from the acl firehose
knotserver/internal: more logging around workflow compilation
blog/posts: update newsletter 03 images from bsky to r2
bobbin/worker: add ratelimit
appview,docs: spindle pipelines migration
appview/ingester: fix pull ingestion
web: use lucide icons in footer
appview/pages: add spinner when switching accounts
appview/pages: improve copy text in editLabelPanel
appview/pages: persist timeline tab preference to cookie
appview/pages: hide pull-actions-error div when empty
appview/pages: support image galleries in bsky posts in homepage
appview/topbar-search: fix safari click on result items
ogre: capitalize status badge
localinfra: add pdsls
appview,spindle,lexicons: support triggering ci for fork-based pull requests
appview/timeline: add microvm announcement
appview/pages: improve blob/tree topbar UI