appview/pages: fix element cleanup in permalink shortcut
appview,knotserver: show repo license as metadata
appview/timeline: collapse more events
appview/timeline: collapse identical events
appview: don't use camo for gitblob rendering
blog: vouching on tangled
contrib,nix: local, sandboxed atmosphere infra
appview,knotserver: validate git repo ownership according to knot
jobs: worker for jobs at tangled
appview/pages: remove posthog web analytics for now
appview/pulls: test compose label, branch, patch helpers
blog: we need a federation of forges
knotserver: limit request size
appview/pages: add DID <-> string casts where necessary
knotserver: calculate old/new SHAs in merge
appview/timeline: announce vouching in timeline
appview,blog: add twitter link to footer
knotserver/git: allow applying empty patches
knotserver/xrpc: emit `refUpdate` event on `repo.merge` xrpc call
knotmirror: requeue resync on event mid-sync
appview/pages: replace join cta with newsletter signup
appview/email: add contacts to resend broadcast audience
appview: add more logs to debug knot xrpc failure
knotmirror: add scheme to proxy hosts
knotmirror: don't schedule resync on xrpc fails
knotserver: add motd
appview: add reactions to comments
wip: appview/{service,web}: service layer
appview: background pds data migration
wip: appview: unify pds record migration
spindle/engines: add docker engine
appview/state: paginate starred repos page in user profiles
spindle/engines: add dummy engine that logs to stdout
appview/pulls: update handlers for new pull model
appview/pages: allow customizing atom feed via checkboxes
appview/pages: add search icon to topbar
appview/repo: serve .diff and .patch for commits
appview/notify: move logging and webhook notifiers to their own packages
appview/repo: do not retry language detection
appview: revert use of knotmirror from appview
knotserver/xrpc: merge-base for combined patch in repo compare
appview/repo: avoid copying body in blob responses
appview/knotstream: check for repo existience before permitting events
appview/pages: add search bar to profile-repos tab
appview: listen for pipeline events from spindlestream
appview/pages: clone rctx before transforming markdown
appview/pages: split footerFull and footerMinimal
appview/state: harden knot proxying
wip: appview: migrate to tap ingester with partial backfill support
appview: remove `db.GetReaction()`
nix,docs: add pagefind for search
appview/pages: clean up copy on homepage
appview/pages: list webhook deliveries in repo settings
docs: document webhooks
appview/state: support `/favicon.ico`
appview/pages: improved seo tags for home, repo and profile
appview/notify: introduce loggingNotifier as a separate notifier
cherry-pickable: add logging to pages
wip: spindle: engines -> adapters
tmp: cmd/rbactester
appview/pages: finesse styling in review page
appview,knotserver: support lockable http tarball protocol
appview/pages: show login/signup CTA in pulls submissions only once
appview/pages: rework the PR page entirely
appview/pulls: add pagination to pull requests listing
appview/ingester: ingest label ops on pulls too
appview/pulls: compress patch blobs using gzip
appview/state: refactor manifest.json
appview/pages: render a placeholder avatar when there's no did
orm: extract orm package from appview
appview/pages: seo improvements, sitemap, schemae and more
knotserver: use local clones if repo is hosted on the same knot
guard: supress logging
appview/pages: show live updating counters for steps
appview/pages: show live updating counters for steps
appview/oauth: overload oauth identity directory
appview/pages: fix OG links for issues and pulls
appview/pulls: fix stacked resubmits using the wrong source-sha
appview/repo: increase opengraph content padding
nix: cp InterVariable ttf to fonts dir
appview/pages/markup: add support for callouts
appview/pulls: show "delete branch" button for merged PRs
appview/state: style changes to good-first-issue
appview/languages: fix logic bug in updating language breakdowns
appview/notifications: fix pagination
appview/pages: add labels to pulls
appview/signup: set up cf turnstile
appview/pages: remove double border around follow-cards
appview/pages: fix terms and privacy pages
appview/labels: reduce the opset after validation
appview/validator: limit label ops to collaborators
appview: improve styles in strings pages
appview/middleware: indiscriminately try to refresh the session
appview: always pass DID into tinyAvatar func
appview/pages: notifications ui and templating
appview/labels: add "subscribe all" button for default labels