Repository navigation
Conversation
Resolve the squash-history overlap using the latest pre-landing PR 820 tree as the content base. Preserve PR 825 research records, retain the latest PR 823 fixture repair, incorporate current main compatibility and restore-confirmation fixes, and regenerate Web assets.
…nce-refinement # Conflicts: # tests/web/pi-runtime-native.test.ts # web/dist/app.js # web/dist/styles.css # web/runtime/pi-runtime.ts
…nce-refinement # Conflicts: # web/dist/app.js
This branch has not been deployed
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
Closes #867
Long coding conversations expose inconsistent headers and controls, oversized code and input areas, and noisy execution summaries. Expanded evidence can trap scrolling before earlier messages; narrow tool rows lose their useful target text. Follow-up controls can also retain a finished turn, reject the next submission, or leave queue cancellation unclear.
Value
Makes conversations easier to read and operate, with quiet completed summaries and clear feedback while tools run. Reading position, drafts, native execution receipts, and keyboard access remain the basis for the interaction.
Approach
ui.webFollowUpBehaviorthrough the existing validated writer and/openpi-setup. The composer override and Command/Ctrl+Enter affect one message; once the turn ends, the next explicit submission is a normal prompt.TURN_CONFLICT, retain the draft, release pending admission, refresh native state, and show a localized message. Queue cancellation waits for the native clear receipt and refreshes the same Session. Preserve Session/epoch guards and uncertain-delivery handling; never automatically resend the draft.16841623, retaining its tool-surface changes and bilingual README/USAGE structure.Validation
bun run checkpassed on the integrated worktree: configuration/docs/discipline contracts, frontend build, formatting, lint, and type checks.bun run testpassed on the final integrated revision01721d05: 2,359 Node tests passed, 8 skipped; 1,506 UI tests passed across 97 files. The settings test waits for the initial canonical value before editing and still verifies that saving a presentation preference preserves the unsaved workflow input.44446cabrevision (run). These are baseline results, not validation of the latest changes. No additional E2E suite was added or rerun locally for this update; the new PR run will validate the final head.The existing self-contained HTML comparison covers the earlier header/help changes with synthetic data. Download and open it locally to compare viewport sizes. Newer local comparisons containing private conversation content are not included in the repository.
Impact
ui_web_follow_up_behaviorpreference; ordinary prompts retain Pi's existing delivery semantics.ui.webFollowUpBehavior(followUpby default, optionalsteer), with config parsing, status, Web projection, validated writes, and documentation. Old configurations preserve the existing queue default; no Session migration.