fix(dashboard): close real-time-feedback and navigation gaps#759
Merged
Conversation
- recipes/page.tsx: executeRun now calls toast.success/error + void load() on success; keyboard j/k moves DOM focus so Enter navigates to hub (same as click); ?selected= deep-link redirects to hub - recipes/[name]/edit/page.tsx: remove duplicate page-head (BackLink + H1 + RelationStrip) — layout.tsx renders those - connections/page.tsx: add 30s background poll so stale OAuth badges refresh - transactions/page.tsx: rollback shows toast.success/error and calls refetch() on success - marketplace/page.tsx: add 30s poll on installedNames so CLI-installed recipes show "Installed" badge Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
executeRun()now callstoast.success("Run started", { action: { label: "View run", onClick } })linking to/runs/<seq>(or/runs?recipe=<name>if no seq), callsvoid load()for immediate sparkbar refresh, and showstoast.error(...)on failure.setSelectedName). Since the row'sonKeyDownalready callsrouter.pushon Enter (same as click), both input methods now go to the hub. Decision:?selected=<name>deep-links (fromsuggestions/page.tsx) redirect immediately to the hub via a mount-timeuseEffect— keeps the inbound links working without opening the divergent inline panel. TheRecipeDetailPanelremains for now but is no longer reachable via keyboard j/k.<div class="page-head">containing<BackLink>,<h1>Edit {name}</h1>, and<RelationStrip>. The sharedrecipes/[name]/layout.tsxalready renders all of those. Removed unusedBackLinkandRelationStripimports.setInterval(fetchConnectors, 30_000)inside the mountuseEffect, cleared on unmount, so expired/degraded OAuth tokens show updated badge status without a manual reload.rollback()now callstoast.success("Transaction discarded")/toast.error(...)andrefetch()on success to re-sync the list. AddeduseToastimport.setInterval(refreshInstalled, 30_000)(cleared on unmount) in the loaduseEffectso recipes installed via CLI or another tab surface the "Installed" badge within 30s.Test plan
/recipeslist — confirm toast appears with "View run" action link/recipes— confirm navigation goes to hub (same as mouse click)/recipes?selected=morning-brief— confirm redirect to hub page/recipes/<name>/edit— confirm single H1 (no duplicate heading)/connections, revoke an OAuth token externally, wait 30s — confirm badge updates/transactions— confirm toast and list refresh/marketplacewithin 30s — confirm "Installed" badge appears🤖 Generated with Claude Code