Skip to content

feat(dashboard): Show conversation archive and action errors as toasts - #2781

Merged
thomasjiangcy merged 3 commits into
mainfrom
feat/dashboard-archive-toast
Nov 6, 2026
Merged

thomasjiangcy merged 3 commits into
mainfrom
feat/dashboard-archive-toast

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

The "Conversation archived" undo card and the row-action error cards were a hand-rolled Notice with its own timer and fixed positioning. Both the home list and the sidebar had their own copy of it. The dashboard already mounts the shadcn Toaster (Base UI), and the automation and workspace pages already use it. This PR moves the conversation notices onto it.

  • useConversationActionToasts shows the undo toast, the archive/restore/pin error toasts, and clears an error when a later action on the same conversation succeeds. The home list and the sidebar both use it, so the copied notice code, ConversationArchiveNotices.tsx, and the now-unused Notice component are deleted.
  • Undo calls the archive mutation through a MutationObserver, with options pulled out as archiveConversationMutationOptions. The toast can outlive the list that made it, so it can't depend on a mounted hook. It uses the same mutation key, so pending-archive readers still see the restore.
  • The behavior is the same as before. Only one undo toast shows at a time, and a new archive replaces it and restarts its timer. The undo window stays at 6s (the global toast default is 4s). "Restoring…" shows while the request runs. Errors use high priority.
  • A failed restore turns the same toast into "Could not restore" and keeps Undo for a retry.
  • Shared ui/toast.tsx: ToastAction no longer gets actionProps spread in, because Base UI already applies them and every action ran twice. Icons now sit at the top, in line with the title, like Alert. Before, they were centered, so they drifted down when the text wrapped.

E2E changes: low-priority toasts render as dialog, not status. High-priority toasts are aria-hidden and announced through a visually hidden role="alert", so the existing alert selectors still match.

Known edge case, same as before this PR: if you archive another conversation while a restore is still running, the second undo toast closes when the first restore finishes.

via @thomasjiangcy.

--

View Session in Sentry

Co-Authored-By: Thomas Jiang <20501235+thomasjiangcy@users.noreply.github.com>
@vercel

vercel Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
junior-docs Ready Ready Preview Nov 6, 2026 1:59am UTC

Request Review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit c9f2410. Configure here.

@github-actions

github-actions Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

11 screenshot changes — 11 changed · 0 added · 0 removed

Review screenshots in Frameshift

Automation Paused · Desktop
Automation Paused · Desktop
Changed
Automation Paused · Mobile
Automation Paused · Mobile
Changed
Conversation Attachment · Desktop
Conversation Attachment · Desktop
Changed
Conversation Attachment · Mobile
Conversation Attachment · Mobile
Changed
Conversation Attachment Modal · Desktop
Conversation Attachment Modal · Desktop
Changed
Conversation Catch Up · Mobile
Conversation Catch Up · Mobile
Changed
Show 5 more changed screenshots
Conversation Long Transcript Touch · Mobile
Conversation Long Transcript Touch · Mobile
Changed
Conversation Memory List Jump · Desktop
Conversation Memory List Jump · Desktop
Changed
Conversation Memory List Jump · Mobile
Conversation Memory List Jump · Mobile
Changed
Conversation Share Details · Desktop
Conversation Share Details · Desktop
Changed
Settings Mcp · Desktop
Settings Mcp · Desktop
Changed

Co-Authored-By: Thomas Jiang <20501235+thomasjiangcy@users.noreply.github.com>
@blacksmith-sh

This comment has been minimized.

@thomasjiangcy
thomasjiangcy merged commit 7d921f0 into main Nov 6, 2026
58 of 60 checks passed
@thomasjiangcy
thomasjiangcy deleted the feat/dashboard-archive-toast branch November 6, 2026 02:19

This branch was successfully deployed

1 active deployment
Preview – junior-docs — 02a84685 Deployed Nov 6, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: medium PR risk score: medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant