Skip to content

fix(tui): welcome splash, alt-screen, unavailable, mcp and plugins - #17

Merged
echobt merged 6 commits into
mainfrom
cursor/cli-az-p0-p1-b544
Sep 4, 2026
Merged

fix(tui): welcome splash, alt-screen, unavailable, mcp and plugins#17
echobt merged 6 commits into
mainfrom
cursor/cli-az-p0-p1-b544

Conversation

@echobt

@echobt echobt commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Ships the Designer welcome lock inline (alternate screen never by default) on the same A–Z branch as the coding-service unavailable fix, MCP completeness, custom providers, and the plugin registry.

  • Interactive TUI stays inline. alternate_screen defaults to false / never. The host shell prompt stays visible above the app. Cortex does not enter the alternate screen on start. Opt in only with [tui] alternate_screen = true or cortex --alternate-screen.
  • First empty session splash: Welcome to **Cortex**, the coding agent CLI then v{package version} · / commands · @ files · ! shell · & cloud. Dual-hairline composer with the white block at input column 0 (caret before the placeholder). Footer remains model · mode · context | shift+tab.
  • No mascot, mint, boxes, or painted fake shell lines. After the first user turn the splash is dropped; session empty is composer + footer only.
  • Composer caret=0 empty rules from the prior lock are unchanged.
  • Product-facing unavailable copy stays in this PR (no mock-success).
  • MCP: cortex mcp tools, --header on mcp add, TUI loads servers from config.toml as well as local storage.
  • Providers: create_client honors the configured provider base_url.
  • Plugins: search / browse / update against CORTEX_PLUGIN_REGISTRY (default https://software.cortex.foundation/plugins). Unknown names no longer write a placeholder; install fails if the registry has no package.

Test plan

  • Config / TuiConfig / TerminalOptions / AppRunner default alternate_screen = false (unit tests assert never)
  • Welcome splash copy still covered by lock_proof / welcome card / empty-session harness
  • Full CI green on 0403b30 (fmt, clippy, test, TUI checks, audit, version check)

Attestation (required)

I attest that:

  • Security reviewed — auth, exec/sandbox, path traversal, network egress, and secret handling in this diff were reviewed. No secrets, tokens, or keyring dumps are in the change. MCP --header and bearer token env var names are documented as non-secret. Plugin registry errors do not leak HTTP client names.
  • Product-facing errors — user-visible failures use Cortex product copy. API-down paths say The coding service is temporarily unavailable. Plugin registry failures say the registry is temporarily unavailable. No raw provider, SDK, or transport names.
  • TUI verified — welcome, session empty, login selection wash, and composer lock are covered by headless lock_proof / welcome_card / login snapshot tests. Splash lock PNGs were recaptured on the welcome-copy revision; this change is default-inline only (no painted chrome change).
  • Tests added — first-user-turn drops splash; welcome two-line copy; MCP tools command; plugin registry subcommands; default alt-screen is never. No mocks that report success.
  • No secrets — no API keys, WorkOS secrets, R2/AWS credentials, or .env files are included.

Risk

Default TUI is inline (never alternate screen). Users who want a full-screen buffer must set [tui] alternate_screen = true. Plugin install no longer creates a fake placeholder for unknown names.

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 4, 2026 18:14
The TUI stays in the host terminal scrollback. Alternate screen is
opt-in via --alternate-screen or [tui] alternate_screen. Welcome is
the splash line only (no fake shell prompt). Composer caret stays at
column 0 when empty; 401/404 no longer masquerade as an outage.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Empty composer is violet `>` then a white block at caret index 0, with
the dim placeholder after that cell — never a rect after the hint.
Blink-off (~530ms) hides the block so the placeholder starts at col 0.
Typed copy is #F5F5F5 with the block at the caret. Recaptured splash
and typing lock PNGs so the boards match runtime.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
@cursor cursor Bot changed the title fix(tui): inline session, never alt-screen by default fix(tui): composer block cursor at col 0, inline session Sep 4, 2026
Enter alternate screen on interactive start. Paint the two-line
welcome splash and drop it after the first user turn. List MCP
tools, honor config.toml servers, and install plugins from the
registry instead of writing a placeholder.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
@cursor cursor Bot changed the title fix(tui): composer block cursor at col 0, inline session fix(tui): welcome splash, alt-screen, unavailable, mcp and plugins Sep 4, 2026
cursoragent and others added 3 commits September 4, 2026 18:49
Regenerate splash/typing and live session captures against the two-line
welcome copy. Plugin CLI tests expect the new registry subcommands.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
The home harness still required the substring Cortex CLI, which the
two-line splash no longer contains.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Keep the welcome splash inline in the host terminal. The shell prompt
stays above the app unless the user opts in via config or --alternate-screen.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
@echobt
echobt merged commit 2e39460 into main Sep 4, 2026
10 checks passed
@echobt
echobt deleted the cursor/cli-az-p0-p1-b544 branch September 4, 2026 19:32
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