fix(tui): name what Esc discards in the ask overlay - #1208
Open
Gilbert09 wants to merge 1 commit into
Open
Conversation
Esc declines the whole wizard_ask request, discarding every answer already typed, but the footer labelled it "skip" with no scope — which on a multi-question request reads as "skip this field". Name the scope, and surface the per-field exit that optional text fields already accept. Generated-By: PostHog Desktop Task-Id: 16f6ce62-6989-4bdb-a4ac-8e233ff96060
🧙 Wizard CIRun the Wizard CI and test your changes against wizard-workbench example apps by replying with a GitHub comment using one of the following commands: Test all apps:
Test all apps in a directory:
Test an individual app:
Show more apps
Test against a Context Mill branch:
Add Results will be posted here when complete. |
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.
Problem
The credential prompt (
wizard_ask) walks a source's fields one question at atime. Esc declines the whole request —
cancelPendingQuestionbuilds acancelled answer for every question in it, so anything already typed is thrown
away and the agent reads the result as "the user declined" and drops to its
browser-handoff fallback.
The overlay labelled that key
ESC skip, with no scope, and therequired-field nudge said "press ESC to skip". On a multi-question request
both read as "skip this field". Several of the fields a source asks for are
optional (tunnel settings, an alternative connection string), so a user
passing on one of those had every reason to reach for Esc — and lost the whole
source.
Cancelled prompts are the dominant loss in this flow: a majority of runs that
accepted the offer recorded at least one cancelled
wizard_ask, and most ofthose were user-initiated rather than timeouts. This does not explain all of
them, but a destructive key labelled with a non-destructive word is a defect
either way.
Changes
askEscapeHint(total, answered), used by both hints:skipfor a single question,skip all N questionsfor more, andskip all N questions, discarding the M you answeredonce the user ispartway through.
isRequiredButEmptyhas always let anempty Enter through for
required === false, it just never told anyone,leaving Esc as the only visible exit.
Copy and affordance only — the cancellation contract the ask bridge and the
task skill depend on is unchanged, so a full cancel still reads as a decline
and is still refunded against the per-run ask cap.
Test plan
askEscapeHintalongside the existinghandleAskKey/isRequiredButEmptycases inWizardAskScreen.test.ts.pnpm build && pnpm test && pnpm fix— 2604 tests pass.Created with PostHog Desktop