At most one toast/notification library
Why it matters
Two toast libraries produce two stacking contexts, two animation timings, and two position anchors. A success toast from sonner might render top-right while an error toast from react-hot-toast renders bottom-center, making notifications feel accidental rather than intentional. Users lose trust in the feedback system, and accessibility is also inconsistent: one library might set role="status" while the other uses role="alert", changing how screen readers announce messages.
Severity rationale
Low because toast drift is a UX polish issue, not a correctness or security concern.
Remediation
Pick one and migrate every call. Inventory usage with grep -rl "react-hot-toast" src/, rewrite each call to the survivor's API (both have roughly equivalent toast.success/toast.error shapes), then remove the loser:
npm uninstall react-hot-toast
Centralize toast configuration in src/components/providers/toast-provider.tsx so position, duration, and theming live in one file and future contributors can't accidentally reintroduce a second library.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Multi-Session Drift Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from ai-slop-code-drift·automated