Skip to content

fix(toast): use AlertCircle for error toasts + bump to 0.9.29 - #1223

Merged
xiaolai merged 3 commits into
mainfrom
release/toast-icon-v0.9.29
Aug 6, 2026
Merged

fix(toast): use AlertCircle for error toasts + bump to 0.9.29#1223
xiaolai merged 3 commits into
mainfrom
release/toast-icon-v0.9.29

Conversation

@xiaolai

@xiaolai xiaolai commented Aug 6, 2026

Copy link
Copy Markdown
Owner

What

Two commits, one CI cycle:

  1. fix(toast) — error toasts use AlertCircle instead of XCircle. An X-in-a-circle reads as a second (larger) close button beside sonner's own closeButton; keeping the severity ramp as i / ! / leaves the X unique to dismissal.
  2. chore — version bump to 0.9.29 across the five files plus the derived src-tauri/Cargo.lock.

Why they are in the same PR

Per .claude/rules/40-version-bump.md, a standalone bump PR pays a full CI cycle to change five version strings. Folding the bump into the change being released halves the pipeline for a release. This is the first release to use that path.

Notes

The toast change is presentational and carries no test: no test references the toast icon set, and .claude/rules/10-tdd.md exempts visual-only changes. The rationale is recorded as a comment at the call site so the next reader does not "fix" it back to XCircle.

xiaolai added 3 commits August 6, 2026 09:59
XCircle rendered an X-in-a-circle next to sonner's own close button,
reading as a larger duplicate dismiss control. AlertCircle keeps the
severity ramp at i / ! / warning and leaves the X unique to dismissal.
The cherry-picked toast fix carried a three-line comment explaining why the
error icon is AlertCircle rather than XCircle, and that was enough to push
src/App.tsx from 298 to 301 lines — past the 300-line limit, failing
lint:file-size in fe-static.

Shaving the comment to land exactly on 300 would keep a composition root at its
cap and make the next one-line change someone else's problem. A severity->icon
map is data, not composition, so it moves to src/components/toastIcons.tsx and
takes the rationale with it. App.tsx drops to 292 lines with real headroom, and
its lucide-react import goes too — the icons are now referenced in exactly one
place.

check:static passes end to end (file-size, knip, shell-slots, dependency-cruiser
all green).
@xiaolai
xiaolai merged commit 8c9cb50 into main Aug 6, 2026
17 checks passed
@xiaolai
xiaolai deleted the release/toast-icon-v0.9.29 branch August 6, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant