Fix MCP widgets according to consumer app#1189
Conversation
Make the widget fall back to dark tokens when the host does not provide an explicit theme, and expand workspace memory count labels from mem/mems to memory/memories. Co-authored-by: Ishaan Gupta <ishaankone@gmail.com>
Consolidate multi-line shadow values to single lines to match Biome formatting rules. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix CSS specificity order: move .mcp-widget-glow base rule before override selector to satisfy noDescendingSpecificity - Remove invalid aria-label from header element - Add aria-hidden="true" to decorative SVG instead of role="img" - Format multi-line shadow values on single lines per Biome Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
How to use the Graphite Merge QueueAdd the label Main to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
supermemory-mcp | 440e9e9 | Jul 03 2026, 03:24 PM |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
supermemory-app | 440e9e9 | Commit Preview URL Branch Preview URL |
Jul 03 2026, 03:25 PM |
SummaryReviewed the MCP widget dark-mode readability changes across the updated widget app, design tokens, UI primitives, and view components. The delegated code review did not identify any concrete bug, security issue, data-loss risk, race condition, or breaking change in the PR diff. Verdict✅ Reviewed — no issues found. The changes appear consistent with the visual dark-mode readability scope and no actionable review findings were reported. |
TestingThe testing subagent exercised the MCP widget Studio and real widget loading shell in dark mode, covering primitives, composite views, graph readability, narrow and wide layouts, and public preview behavior. The PR passed the dark-mode visual-readability scope; one unrelated current quality-gate failure remains in unchanged hook files. Commands run: bun install
bunx vite --config vite.config.dev.ts --host 0.0.0.0 --port 5174
session update-preview-url --url localhost:5174
port expose --port 5174
bun run build:widget
bun run check-typesResult: Verdict✅ Passed. Visual dark-mode readability passed for the PR scope; the Attached Images and Videos |
|
Claude finished @ved015's task in 1m 2s —— View job Review Complete
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation. Issues found: None — this looks good to ship. The changes are well-scoped to visual presentation:
No bugs, security concerns, race conditions, or breaking changes detected. Score: 10/10 |
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10
a0dd93f to
440e9e9
Compare
There was a problem hiding this comment.
Overview: Applies Nova-aligned dark mode styling to the MCP widget — updated design tokens, solid control surfaces, a new WidgetShell wrapper, and branded loading animation.
Issues found: None — this looks good to ship.
The changes are well-scoped to visual presentation:
- tokens.css: Forces the widget onto Nova's dark palette regardless of host theme (intentional per the comment explaining agent cell context)
- globals.css: New
.mcp-widget-shellwith grid/glow effects, branded.super-loaderanimation with properprefers-reduced-motionfallback - UI primitives: Inputs/textareas get solid
--bg-controlbackgrounds instead of transparent (prevents host grid bleeding through) - Graph.tsx: Correctly memoizes color overrides with
colorsdependency;bg: "transparent"lets the shell background show through - Views: Wrapped in consistent panel styling (
--bg-panel, border, shadow)
No bugs, security concerns, race conditions, or breaking changes detected. The font swap to DM Sans is consistent across both entry HTML files.
Score: 10/10

















Make the MCP widget surfaces match the Nova theme and improve dark-mode readability. Includes widget form, graph, and Biome formatting fixes stacked on top of PR #1120.