Skip to content

Spec desktop web active-text input bridge - #14834

Draft
warp-agent-staging[bot] wants to merge 2 commits into
masterfrom
factory/remote-2591-web-text-input-bridge
Draft

Spec desktop web active-text input bridge#14834
warp-agent-staging[bot] wants to merge 2 commits into
masterfrom
factory/remote-2591-web-text-input-bridge

Conversation

@warp-agent-staging

@warp-agent-staging warp-agent-staging Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Define product behavior for a desktop web text-input bridge whenever a focused Warp view owns an active editable text caret.
  • Specify a transparent focused <textarea> with native multiline textbox semantics and the existing sentinel input-sink model.
  • Reuse WarpUI's existing cross-platform active_cursor_position contract across plain-text, code, rich-text, and raw-terminal views.
  • Define single-owner routing for hardware keyboard, dictation/direct input, paste, and IME composition.
  • Keep the existing mobile soft-keyboard manager and behavior unchanged.

Key decisions

  • Use <textarea>, not <input> or contenteditable.
  • Do not mirror surface contents or DOM selection in this scope.
  • Keep the bridge focused while any editable Warp surface reports an active text caret.
  • Exclude read-only, disabled, selectable-only, and hidden-caret states by tightening the existing active-caret contract.
  • Support MacWhisper-class tools, macOS/browser dictation, keyboard, paste, and CJK IME; defer autofill/password managers and full screen-reader navigation.

Scope revision

The initial spec proposed a prompt-only surface gate. After requester feedback, code research showed that WarpUI already has a general focused active-caret signal used by native IME positioning. The revised spec uses that existing abstraction because it requires fewer special cases and prevents silent dictation failure in other real text fields.

Validation

Documentation-only spec PR. The tech spec requires automated event/focus tests, WASM compilation checks, Chrome and Safari MacWhisper videos across every editor family, read-only negative cases, and iOS/Android mobile regression checks during implementation.

Linear: https://linear.app/warpdotdev/issue/REMOTE-2591/warp-for-web-macwhisperdictation-tools-cannot-attach-to-prompt-input

Conversation: https://staging.warp.dev/conversation/299454b2-a3fa-4305-82e8-6d49f4eff0f7
Run: https://oz.staging.warp.dev/runs/019fdd9b-5026-7e48-b72a-9d4aa22c6d7e

Co-Authored-By: Warp Agent agent@warp.dev

This PR was generated with Oz.

Specify the prompt-only DOM textarea bridge for dictation, keyboard, paste, and IME input while preserving the existing mobile soft-keyboard path.

Co-Authored-By: Warp Agent <agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label Aug 7, 2026
Gate the bridge on WarpUI's existing active-caret contract so dictation works across editable plain-text, code, rich-text, and raw-terminal surfaces while excluding non-editable states.

Co-Authored-By: Warp Agent <agent@warp.dev>
@warp-agent-staging warp-agent-staging Bot changed the title Spec desktop web prompt text-input bridge Spec desktop web active-text input bridge Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant