- Sparkle hover animation on the Ask AI button and assistant header, plus a redesigned header close button (Button + ExitIcon + esc shortcut) - AIChatPanel resumes an existing chat and sends the current page context when starting a session - Every completed tool call is shown as an agent step in the transcript, in the order the agent ran them, labelled with the tool's name and expandable to reveal its input and output - AIChatProvider guards history switching against out-of-order responses and sets messages before the chat id so useChat picks them up in one render - resources.ai-assistant slug validation + error handling; chat history now uses a typed Prisma query instead of raw SQL - buildToolContext validates required slugs - chat persistence uses sessions.start() in the preload hooks with a lazy aiChat upsert in onTurnStart Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Server Changes
This directory tracks changes to server-only components (webapp, supervisor, coordinator, etc.) that are not captured by changesets. Changesets only track published npm packages — server changes would otherwise go undocumented.
When to add a file
Server-only PRs: If your PR only changes apps/webapp/, apps/supervisor/, apps/coordinator/, or other server components (and does NOT change anything in packages/), add a .server-changes/ file.
Mixed PRs (both packages and server): Just add a changeset as usual. No .server-changes/ file needed — the changeset covers it.
Package-only PRs: Just add a changeset as usual.
File format
Create a markdown file with a descriptive name:
.server-changes/fix-batch-queue-stalls.md
With this format:
---
area: webapp
type: fix
---
Speed up batch queue processing by removing stalls and fixing retry race
Fields
- area (required):
webapp|supervisor|coordinator|kubernetes-provider|docker-provider - type (required):
feature|fix|improvement|breaking
Description
The body text (below the frontmatter) is a one-line description of the change. Keep it concise — it will appear in release notes.
Lifecycle
- Engineer adds a
.server-changes/file in their PR - Files accumulate on
mainas PRs merge - The changeset release PR includes these in its summary
- After the release merges, CI cleans up the consumed files
Examples
New feature:
---
area: webapp
type: feature
---
TRQL query language and the Query page
Bug fix:
---
area: webapp
type: fix
---
Fix schedule limit counting for orgs with custom limits
Improvement:
---
area: webapp
type: improvement
---
Use the replica for API auth queries to reduce primary load