Skip to content

mission-control draws its code map on Windows - #133

Open
ManushPatel08 wants to merge 4 commits into
hamzafer:mainfrom
ManushPatel08:mission-control-windows
Open

ManushPatel08 wants to merge 4 commits into
hamzafer:mainfrom
ManushPatel08:mission-control-windows

Conversation

@ManushPatel08

Copy link
Copy Markdown

What changed

On Windows, /mission code only said "The code map needs Google Chrome at /Applications/Google Chrome.app/…": the Code view runs Chrome from its macOS path through sh. Fixing the path alone would not help, since Image draws pixels only in kitty, Ghostty and iTerm2, so Windows Terminal would show just the alt text.

On Windows only (macOS takes the same path as before):

  • The Code view lists the map as lines: each file's state (● reading, ✎ editing, ✓ changed this turn), the files it imports, and the one-line why.
  • b (a Browser button in the Code view) writes the drawn SVG into a page that reloads itself, %TEMP%\mission-control\map.html, and opens it with explorer.exe. Once open, each change redraws it. No Chrome is needed: the browser draws the SVG.
  • file_path backslashes become slashes, so titleOf and importsOf work. Before, a file's title was its whole C:\… path and no import resolved.
  • Segoe UI and Consolas join the SVG's font stacks.
  • README and docs/mods.md notes say what the Code view does on Windows.

Tests:

  • New test: on Windows the Code view is lines, b writes and opens the page, and the page follows later changes.
  • The test mocks now read paths the way the engine hands them on Windows (/tmp/x arrives as C:\tmp\x), which made two existing tests fail there.
  • Run on Windows with Claude Code 2.1.308: claude plugin test mods/mission-control 9 pass; claude plugin validate . and mods/mission-control pass; node --test test/*.test.mjs 33 of 34, and the one failure (the publish workflow regex) fails the same on main in a CRLF checkout.
  • I rendered a sample page with headless Chrome to check the picture. Not run on macOS.

Checklist

  • claude plugin validate mods/<name> passes
  • claude plugin test mods/<name> passes
  • Changed a mod: version bumped in its plugin.json and in .claude-plugin/marketplace.json
  • New mod: entry in .claude-plugin/marketplace.json
  • New mod: README table row and docs/mods.md notes

🤖 Generated with Claude Code

ManushPatel08 and others added 3 commits October 22, 2026 09:50
The Code view ran Chrome from its macOS path through sh, so on Windows it only
said it needed Chrome. And no Windows terminal shows images, so even a found
Chrome would have drawn the alt text alone.

On Windows the Code view now lists the map as lines (state, imports, the why),
and b opens the drawn map in the default browser as a page that reloads itself,
redrawn on each change once it is open. No Chrome is needed: the browser draws
the SVG. Backslash paths are turned to slashes, so names and imports resolve.

The test mocks now read paths the way the engine hands them on Windows
(C:\tmp\...), which two tests tripped on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	docs/mods.md
#	mods/mission-control/tests/mission-control.test.tsx
…ite says so

The engine makes no folders, so %TEMP%\mission-control\ might not exist and
b did nothing. The page is now %TEMP%\mission-control-map.html, and a page
that can't be written shows an error instead of failing silently. Bumps
mission-control to 0.1.5 and adds the Windows note to the site page.
@hamzafer

hamzafer commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Thanks for this, it's a smart way round terminals that show no images. I pushed two commits on top of yours (no force push, your commit is unchanged), so please pull before pushing again:

  • Merged main in. fix(mission-control): find Chrome or Chromium on Linux for the code map #135 landed first and touched the same lines. Both notes are kept in docs/mods.md, and the test engine has both sets of options.
  • The page now goes straight into %TEMP% (mission-control-map.html). The engine has no way to make folders, so %TEMP%\mission-control\ might not exist on a fresh machine, and b would fail silently. A page that can't be written now shows an error in the pane, and explorer isn't run. New test: on Windows a page that cannot be written says so, and opens nothing.
  • Version 0.1.5, plus a Windows line on the site page.

Tests: claude plugin test mods/mission-control 12 pass, validate passes, node --test test/*.test.mjs 36 pass. I can't run Windows here: could you press b on your machine and say if the page opens? That's the last thing before merging.

Not changed, for later: once opened, the page keeps redrawing for the rest of the session, and it reloads every 2 seconds.

# Conflicts:
#	README.md
#	mods/mission-control/hooks/register.tsx
#	mods/mission-control/tests/mission-control.test.tsx
@hamzafer

hamzafer commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

I merged main in again (normal push, nothing of yours rewritten), so please pull first. #144 had just taken mission-control to 0.1.5, so this PR is now 0.1.6. Both sides are kept: your Windows view plus main's single clock and caught redraws. claude plugin test mods/mission-control 13 pass, node --test test/*.test.mjs 168 pass.

Still the one thing before merging: could you press b on Windows and say if the page opens?

This branch has not been deployed

No deployments
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