Skip to content

Fix MCP widgets according to consumer app#1189

Open
ishaanxgupta wants to merge 22 commits into
Prasanna721/dalat-v1from
mcp-revamp-followup
Open

Fix MCP widgets according to consumer app#1189
ishaanxgupta wants to merge 22 commits into
Prasanna721/dalat-v1from
mcp-revamp-followup

Conversation

@ishaanxgupta

@ishaanxgupta ishaanxgupta commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

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.

ved015 and others added 6 commits July 2, 2026 17:05
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>

ishaanxgupta commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

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.
Learn more


How to use the Graphite Merge Queue

Add 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.

@ishaanxgupta ishaanxgupta mentioned this pull request Jul 2, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 2, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
supermemory-mcp 440e9e9 Jul 03 2026, 03:24 PM

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 2, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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

@vorflux

vorflux Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Reviewed 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.

@vorflux

vorflux Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Testing

The 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-types

Result:

bun install: PASS
MCP widget Studio via Vite: PASS
Public preview: PASS after preview-only Vite allowedHosts restart
bun run build:widget: PASS
bun run check-types: FAIL in unchanged files src/widget/hooks/useHostContext.ts and src/widget/hooks/useViewState.ts

Observed dark backgrounds, cards, text, controls, badges, form fields, success/error states, loading spinner, and graph controls with readable contrast. No clipping, overlapping, hidden content, broken z-index, or awkward spacing was observed in the tested dark-mode surfaces.

Verdict

Passed. Visual dark-mode readability passed for the PR scope; the check-types failure is in unchanged hook files and appears unrelated to this PR.


Attached Images and Videos

mcp-widget-studio-initial-light.png

mcp-widget-studio-dark-top-narrow.png

mcp-widget-studio-dark-popover.png

mcp-widget-studio-dark-views-narrow.png

mcp-widget-studio-dark-views-wide.png

mcp-widget-real-loading-shell.png

mcp-widget-studio-dark-view-frames-1.png

mcp-widget-studio-dark-view-frames-2.png

mcp-widget-studio-dark-view-frames-3-graph.png

mcp-widget-public-preview-studio.png

🎥 View recording: mcp-widget-dark-mode-studio.webm

@ishaanxgupta

ishaanxgupta commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author
image image image image image image

@ishaanxgupta ishaanxgupta marked this pull request as ready for review July 2, 2026 14:28
@claude

claude Bot commented Jul 2, 2026

Copy link
Copy Markdown

Claude finished @ved015's task in 1m 2s —— View job


Review Complete

  • Load review tools
  • Fetch PR diff and analyze changes
  • Check for bugs, security issues, and logic errors
  • Submit review

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
  • globals.css: New .mcp-widget-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; bg: "transparent" lets the shell background show through
  • Views: Wrapped in consistent panel styling

No bugs, security concerns, race conditions, or breaking changes detected.

Score: 10/10

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

@ishaanxgupta ishaanxgupta changed the title Fix MCP widget dark mode readability Fix MCP widgets according to consumer app Jul 2, 2026

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

github-actions Bot and others added 2 commits July 3, 2026 11:00
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

@ved015 ved015 force-pushed the mcp-revamp-followup branch from a0dd93f to 440e9e9 Compare July 3, 2026 15:21
@ved015 ved015 mentioned this pull request Jul 3, 2026

@claude claude 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.

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-shell with grid/glow effects, branded .super-loader animation with proper prefers-reduced-motion fallback
  • UI primitives: Inputs/textareas get solid --bg-control backgrounds instead of transparent (prevents host grid bleeding through)
  • Graph.tsx: Correctly memoizes color overrides with colors dependency; 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

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.

2 participants