Skip to content

chore(app): remove the retired legacy prompt input - #291

Merged
quickbeard merged 1 commit into
mainfrom
chore/remove-legacy-prompt-input
Aug 22, 2026
Merged

quickbeard merged 1 commit into
mainfrom
chore/remove-legacy-prompt-input

Conversation

@quickbeard

Copy link
Copy Markdown
Owner

What

Follow-up to #289. The fork hardcodes newLayoutDesigns to true (settings.tsx — "The legacy layout is retired in this fork"), so the legacy PromptInput — the fallback branch 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)
  • its now-orphaned submodules: attachments, files, paste, transient-state, context-items, drag-overlay, image-attachments (+ css), slash-popover, and the fork-only at-options (superseded by feat(app): list files first in the V2 composer @ mention menu #289's V2 ordering)
  • their tests: attachments.test.ts, at-options.test.ts, and test-browser/{prompt-attachments,prompt-transient-state,prompt-at-options}.test.ts

Kept: prompt-input/{contracts,history,history-store,placeholder,submit,editor-dom,build-request-parts,submission-state}.ts and their tests — the V2 composer path still uses all of them (verified by import graph; session-ui's v2 attachments has its own attachmentMime, no dependency on the deleted files.ts/paste.ts).

Consumers rewired:

  • session.tsx: creates the V2 controller unconditionally and always mounts PromptInputV2Composer — the <Show> around the composer is gone.
  • session-composer-region-controller.ts: imports PromptInputState from prompt-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-region promptInput slot now holds a static styled placeholder instead of the legacy component (unused controls mock 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 onUnpaidClick row no longer reference the deleted file. No CHANGELOG entry — no user-facing behavior changes.

Verification

  • bun typecheck clean in packages/app and packages/desktop; full bun turbo typecheck green via the pre-push hook.
  • bun run test:unit in packages/app: 690 pass. bun run test:browser: 112 pass.
  • Repo-wide grep: no remaining references to any deleted module.

🤖 Generated with Claude Code

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
quickbeard force-pushed the chore/remove-legacy-prompt-input branch from 634a2e9 to 8a43ba3 Compare August 22, 2026 04:31
@quickbeard
quickbeard merged commit 3cd19cc into main Aug 22, 2026
0 of 5 checks passed
@quickbeard
quickbeard deleted the chore/remove-legacy-prompt-input branch August 22, 2026 04:31
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.

1 participant