Skip to content

fix(ui): accordion connection-info + demo password prefill#874

Closed
buggtb wants to merge 2 commits into
developmentfrom
fix/login-ui-polish
Closed

fix(ui): accordion connection-info + demo password prefill#874
buggtb wants to merge 2 commits into
developmentfrom
fix/login-ui-polish

Conversation

@buggtb
Copy link
Copy Markdown
Contributor

@buggtb buggtb commented May 16, 2026

Three polish issues from the live demo login screen review. See commit message.

buggtb added 2 commits May 16, 2026 16:54
Three polish issues caught on the live demo login screen:
- The Agent API access panel was a wall of text below the sign-in form.
  ApiAccessAdmin now wraps each section in a <details> styled as a card,
  collapsed by default. Component takes a defaultOpen prop for the admin
  tab to pre-expand if desired.
- Demo-mode LoginForm prefilled "admin" username but left password blank.
  Now sets password=admin once the capabilities probe confirms demoMode,
  so a visitor can land on demo.saiku.bi and click Sign in immediately
  instead of digging the credential out of the panel below the form.
- DXT download install-row block re-confirmed under the MCP accordion;
  source already had it but the stale dist masked it on first deploy.
Claude Desktop rejected the previous bundle with:
  "Invalid enum value. Expected 'python' | 'node' | 'binary',
   received 'remote', Required, Required, Unrecognized key(s)
   in object: 'transport'"

DXT's schema has no first-class remote/HTTP server mode — only
local stdio servers of type python/node/binary. So the bundle now
ships a Node shim alongside the manifest:

- manifest.json: server.type=node, entry_point=server.js,
  mcp_config={command: "npx", args: ["-y", "mcp-remote@latest", URL]}
- server.js: tiny Node script that spawns `npx mcp-remote URL`
  as a fallback for Claude builds that ignore mcp_config

The mcp-remote npm package bridges stdio MCP ↔ remote HTTP MCP
servers. Claude Desktop installs the DXT, runs the shim, and the
shim proxies the user's stdio MCP frames to our /mcp URL.

Tests updated: now asserts server.type=node, mcp_config.args
contains the URL, and server.js is present in the zip with the
URL embedded.
@buggtb
Copy link
Copy Markdown
Contributor Author

buggtb commented May 16, 2026

Superseded by #875.

The DXT manifest fix here uses npx -y mcp-remote@latest from the shim, which fails inside Claude Desktop's built-in-Node sandbox (no npx on PATH — the spawn silently dies and Claude reports only "Server disconnected"). #875 replaces it with a self-contained stdio↔streamable-http bridge that uses only node stdlib and additionally handles mid-session server restarts.

The UI accordion fix here also lands in #875 (commit a1b9dbfb) along with the missing DXT install-row button that the CSS had been written for but the markup never wired up.

Closing in favour of the larger combined PR.

@buggtb buggtb closed this May 16, 2026
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.

1 participant