Repository navigation
chore(app): remove the retired legacy prompt input - #291
Merged
Merged
Conversation
The fork hardcodes newLayoutDesigns to true, so the legacy PromptInput (session.tsx's Show fallback) could never render. Delete it and its orphaned submodules, mount the V2 composer unconditionally, retarget PromptInputState to contracts.ts where it is defined, and fill the todo-panel-motion story's input slot with a static placeholder. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
quickbeard
force-pushed
the
chore/remove-legacy-prompt-input
branch
from
August 22, 2026 04:31
634a2e9 to
8a43ba3
Compare
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.
What
Follow-up to #289. The fork hardcodes
newLayoutDesignstotrue(settings.tsx— "The legacy layout is retired in this fork"), so the legacyPromptInput— thefallbackbranch of session.tsx's<Show when={newSessionDesign()}>— could never render, yet kept compiling and collecting fixes (#56's app-side reorder was applied to it for nothing).Removed (~3,300 lines):
packages/app/src/components/prompt-input.tsx(the legacy component)attachments,files,paste,transient-state,context-items,drag-overlay,image-attachments(+ css),slash-popover, and the fork-onlyat-options(superseded by feat(app): list files first in the V2 composer @ mention menu #289's V2 ordering)attachments.test.ts,at-options.test.ts, andtest-browser/{prompt-attachments,prompt-transient-state,prompt-at-options}.test.tsKept:
prompt-input/{contracts,history,history-store,placeholder,submit,editor-dom,build-request-parts,submission-state}.tsand their tests — the V2 composer path still uses all of them (verified by import graph;session-ui's v2 attachments has its ownattachmentMime, no dependency on the deletedfiles.ts/paste.ts).Consumers rewired:
session.tsx: creates the V2 controller unconditionally and always mountsPromptInputV2Composer— the<Show>around the composer is gone.session-composer-region-controller.ts: importsPromptInputStatefromprompt-input/contracts, where it is actually defined (the deleted file only re-exported it).todo-panel-motion.stories.tsx: the story is about todo-dock motion; its composer-regionpromptInputslot now holds a static styled placeholder instead of the legacy component (unusedcontrolsmock removed, docs text updated).DIVERGENCES.md: new keep-deleted row for the removal (with modify/delete conflict guidance for upstream syncs); the #56 autocomplete row and the
onUnpaidClickrow no longer reference the deleted file. No CHANGELOG entry — no user-facing behavior changes.Verification
bun typecheckclean inpackages/appandpackages/desktop; fullbun turbo typecheckgreen via the pre-push hook.bun run test:unitinpackages/app: 690 pass.bun run test:browser: 112 pass.🤖 Generated with Claude Code