spindle/server: skip the eager repo sync on skip-ci pushes
gitmirror: add sync metrics
knot2/{git,receive}: ensure valid HEAD on first branch push
web: remember resize value per-tab
lexicons: add git message type in `com.atproto.sync.subscribeRepos`
knot2/{git,receive}: ensure valid HEAD on first branch push
wip: add gitmirror-index
web/github-import: styling nits
knot2/pack: unpack one object at a time instead of the whole pack at once
lexicons: (temp) make `feed.reaction` closed enum
localinfra: seed and verify a site with an opt-in smoke
web: recommend participants and collaborators on a bare mention
web/organizations: search members and confirm removal
localinfra: run tranquil and the gate on the dev env
web/github-import: styling nits
bobbin: proxy pocket
web: refresh bones snapshots after rescaling
web: build the dev loopback client from VITE_OAUTH_SCOPE
web: move the pull assignee into the ticket info bar
web/repo: hide a zero comment count on a commit row
web/profile: left-align the organization header on mobile
web/profile: left-align the organization header on mobile
web/profile: soften the organization header chrome
web/components/repo: drop the zero count from a diff stat pill
web/repo: stack the overview toolbar rows on mobile
web/lightbox: group back and forward buttons & visual nits
web/components/repo: paint the diff toolbar over the scrollport seam
appview: remove in-appview webhook implementation
web: highlight fenced code blocks in rendered markdown
web: validate profile links on the shared normalizer
web/org: add metadata to the creation page
appview: drive color-scheme from data-theme
web: wire the repository sites settings to worker
web/pulls: give the PR comment box the standard card treatment
localinfra: bootstrap verified committer emails
knotmirror/xrpc: add getBlame to the v2 proxy routes
spindle: add generic CI cache
web/error: turn the error page into SheepGame
spindle/xrpc: implement org.tangled CI and secret endpoints
web/components: add git blame
web: add signup flow with turnstile and emailed-link verification
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
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: 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
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
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
.tangled: add Go-style commit-message lint (hook + CI)
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