Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,26 @@ export const STAGE_RATE_M65 = "$0.10";
usezombie is in **stealth-mode testing** and pre-production. APIs and agent behavior may change between releases without long deprecation windows. Email [usezombie@agentmail.to](mailto:usezombie@agentmail.to) if you want a hand calibrating a zombie or to join as a design partner.
</Tip>

<Update label="May 12, 2026" tags={["UI", "Bug fixes", "Testing"]}>
## Dashboard error voice, sign-in card lifted, install/save races fixed

Every "Failed to X" fallback in the dashboard is replaced with operator-first language keyed on backend error codes. The sign-in card no longer disappears into the page background. Two install/save races that left you on the wrong URL after a `router.push` are fixed.

## What's new

- **`presentError({errorCode, message, action})` is the single entry point for dashboard error rendering.** Curated `UZ-XXX-NNN` codes map to a title + body the operator can act on — `UZ-AUTH-401` reads "Your session expired. Sign in again to keep going." instead of "Not authenticated"; `UZ-ZMB-001` reads "We couldn't find that zombie. It may have already been deleted — refresh the list." instead of "Internal Server Error". Eight codes ship today and the helper grows organically as the dashboard surfaces new ones. Useless server `"Failed to …"` messages are detected and replaced rather than concatenated.
- **Sign-in card lifted from `--surface-1` to `--surface-2`** on the auth route, with `--border-strong` on the edge. At `--surface-1` the luminance delta against the page background was 3 units — close to invisible. The card now reads as a card.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 --surface-2 and --border-strong tokens not in the documented token set

AGENTS.md lists the canonical design-system tokens for this docs repo and only names --surface-1 as the surface token (and --bg above it). Neither --surface-2 nor --border-strong appears in that list, and the sync note says to verify against tokens.css before referencing token names. If either token does not exist in the design system, this changelog entry misstates what shipped and could mislead operators who use the token names to customise their own surfaces.

Context Used: AGENTS.md (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: changelog.mdx
Line: 29

Comment:
**`--surface-2` and `--border-strong` tokens not in the documented token set**

`AGENTS.md` lists the canonical design-system tokens for this docs repo and only names `--surface-1` as the surface token (and `--bg` above it). Neither `--surface-2` nor `--border-strong` appears in that list, and the sync note says to verify against `tokens.css` before referencing token names. If either token does not exist in the design system, this changelog entry misstates what shipped and could mislead operators who use the token names to customise their own surfaces.

**Context Used:** AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=e994989b-b25e-4468-be5d-6bde3ddb0ce6))

How can I resolve this? If you propose a fix, please make it concise.


## Bug fixes

- **`/zombies/new` install** — `InstallZombieForm.tsx` no longer issues `router.refresh()` after `router.push(/zombies/{id})`. The `force-dynamic` detail route re-resolves on commit; the manual refresh was racing the URL commit and intermittently leaving you on `/zombies/new` with a stale form state. Same fix applied to `ZombieConfig.tsx` for the save-then-navigate path on the detail page.
- **`tooltip` test flake** — restoring vitest's default `exclude` patterns stops the runner from following the `@usezombie/design-system` workspace symlink and executing its tests without their `test-setup.ts`. The "`Invalid Chai property: toBeInTheDocument`" intermittent on `bun run test` is gone.

## CLI

No `zombiectl` shape changes.
Comment on lines +22 to +38
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 "dashboard" used instead of "Mission Control"

AGENTS.md specifies: "Use 'Mission Control' for the web dashboard (app.usezombie.com)." The new entry uses "dashboard" four times (heading, intro sentence, presentError bullet, bug-fix bullet) without ever naming the product surface. The canonical term throughout should be "Mission Control", or at minimum the first mention in the block should establish it and the rest can use a shorthand like "the dashboard" only if that shorthand has been established. The prior May 11 entries exhibit the same drift, but that doesn't exempt new content.

Context Used: AGENTS.md (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: changelog.mdx
Line: 22-38

Comment:
**"dashboard" used instead of "Mission Control"**

`AGENTS.md` specifies: _"Use 'Mission Control' for the web dashboard (app.usezombie.com)."_ The new entry uses "dashboard" four times (heading, intro sentence, `presentError` bullet, bug-fix bullet) without ever naming the product surface. The canonical term throughout should be "Mission Control", or at minimum the first mention in the block should establish it and the rest can use a shorthand like "the dashboard" only if that shorthand has been established. The prior May 11 entries exhibit the same drift, but that doesn't exempt new content.

**Context Used:** AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=e994989b-b25e-4468-be5d-6bde3ddb0ce6))

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

</Update>

<Update label="May 11, 2026" tags={["Internal", "Testing", "CI"]}>
## Authenticated dashboard e2e ungated, runs on every dev + prod deploy

Expand Down
Loading