Redesign MCP dashboard: sleek grayscale notebook view#781
Merged
Andrew Gazelka (andrewgazelka) merged 1 commit intoJun 6, 2026
Conversation
Replace the Tokyo Night palette with a flat, square, grayscale design. dashboard.py: - Layered neutral palette via CSS variables; status conveyed by brightness (running = filled light chip + white left rail) with one reserved muted red for errors. No gradients, glow, rounded corners, or animation. - Rich notebook output (DataFrames, HTML) now renders on a dark inset instead of a glaring white card, so it blends into the page. - Sticky top bar with a live running/total counter; uppercase section and status labels with letter-spacing. view/__init__.py: - Recolor the polars DataFrame `_PAL` to grayscale so tables match the dashboard; dtypes are distinguished by lightness, not hue.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Contributor
Blast radius
pie showData title Rebuilt checks by category
"image" : 15
"rust" : 15
"blast" : 1
"eval" : 1
"lint" : 1
flowchart LR
c0["ix-mcp-view-python-module"]
c1["ix-notebook-mcp-module"]
c2["blast-radius-test"]
c3["lint"]
c4["rust-mcp.viewSmoke"]
c0 --> k1["eval"]
c0 --> k2["image-development-base"]
c0 --> k3["image-kernel-dev"]
c0 --> k4["image-minecraft"]
c0 --> k5["image-minecraft-bedrock"]
c1 --> k1["eval"]
c1 --> k2["image-development-base"]
c1 --> k3["image-kernel-dev"]
c1 --> k4["image-minecraft"]
c1 --> k5["image-minecraft-bedrock"]
changed checks (33)
|
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.
Completely redesigns the
packages/mcpdashboard from the old Tokyo Night palette to a flat, square, grayscale look.The old design had a glaring white card behind every rich output (DataFrames, plots) sitting on a dark page, plus a colorful blue/green/purple palette that read as busy. This swaps in a layered neutral grayscale where status is conveyed by brightness rather than hue, with a single reserved muted red for errors.
What changed:
dashboard.py: CSS-variable grayscale palette, no gradients/glow/rounded corners/animation. Running jobs get a filled light status chip and a white left rail; errors get the one red. Rich notebook output now renders on a dark inset instead of a white box, so tables and plots blend into the page. Sticky top bar with a live running/total counter.view/__init__.py: recolors the polars DataFrame palette to grayscale so tables match the dashboard (dtypes shown by lightness, not color).Validated by serving the real aiohttp app over a populated SQLite store and screenshotting the rendered page with playwright (running/done/error/cancelled jobs, a DataFrame, a matplotlib plot, and live resources).
Generated with Claude Opus 4.8.
Note
Redesign MCP dashboard with a grayscale notebook view and sticky execution header
api/jobs.escHTML-escaping function to module scope, removing duplicated definitions inside per-job mapping functions.j.outputis undefined by defaulting to an empty string before callingString.includes.Macroscope summarized e7c1c3b.