diff --git a/docs/scratchpads/BUG-CLI-scratchpad.md b/docs/scratchpads/BUG-CLI-scratchpad.md index a69911e..4c37825 100644 --- a/docs/scratchpads/BUG-CLI-scratchpad.md +++ b/docs/scratchpads/BUG-CLI-scratchpad.md @@ -1,9 +1,11 @@ # BUG-CLI Scratchpad ## Objective + Fix 4 CLI/TUI polish bugs in a single PR (issues #192, #193, #194, #199). ## Issues + - #192: Ctrl+T leaks 't' into input - #193: Duplicate React keys in CommandAutocomplete - #194: /provider login false clipboard claim @@ -12,28 +14,33 @@ Fix 4 CLI/TUI polish bugs in a single PR (issues #192, #193, #194, #199). ## Plan and Fixes ### Bug #192 — Ctrl+T character leak + - Location: `packages/cli/src/tui/app.tsx` - Fix: Added `ctrlJustFired` ref. Set synchronously in Ctrl+T/L/N/K handlers, cleared via microtask. In the `onChange` wrapper passed to `InputBar`, if `ctrlJustFired.current` is true, suppress the leaked character and return early. ### Bug #193 — Duplicate React keys + - Location: `packages/cli/src/tui/components/command-autocomplete.tsx` - Fix: Changed `key={cmd.name}` to `key={`${cmd.execution}-${cmd.name}`}` for uniqueness. - Also: `packages/cli/src/tui/commands/registry.ts` — `getAll()` now deduplicates gateway commands that share a name with local commands. Local commands take precedence. ### Bug #194 — False clipboard claim + - Location: `apps/gateway/src/commands/command-executor.service.ts` - Fix: Removed the `\n\n(URL copied to clipboard)` suffix from the provider login message. ### Bug #199 — Hardcoded version "0.0.0" + - Location: `packages/cli/src/cli.ts` + `packages/cli/src/tui/app.tsx` - Fix: `cli.ts` reads version from `../package.json` via `createRequire`. Passes `version: CLI_VERSION` to TuiApp in both render calls. TuiApp has new optional `version` prop (defaults to '0.0.0'), passes it to TopBar instead of hardcoded `"0.0.0"`. ## Quality Gates + - CLI typecheck: PASSED - CLI lint: PASSED - Prettier format:check: PASSED