Skip to content

Share Von's draft editor and controls with Messaging - #731

Merged
witbrock merged 1 commit into
mainfrom
codex/von-3c31111c0d7678c5
Sep 16, 2026
Merged

witbrock merged 1 commit into
mainfrom
codex/von-3c31111c0d7678c5

Conversation

@witbrock

Copy link
Copy Markdown
Member

Merge decision: ready — Messaging replies and new messages gain Von's concept search, cartouche editor, dictation and responsive controls through shared components, with direct-message delivery and recovery preserved.

User outcome

Typing #V# in a Messaging draft now searches concepts just as it does in Von. Selecting a result consumes Enter without sending; outgoing content and recipient IDs are normalised. Both carriers share draft sizing, keyboard behaviour, history navigation, button presentation and compact control layout. Messaging now uses Von's dictation controller, including finish-before-send and cancellation/retry.

Native task: #V#task_agent_e66f011c7879660657ca91c35367c389.

Material changes

Extract the common editor and controls, retaining carrier-specific delivery, attachments and recovery. Fix a focus-switch race where an older autocomplete blur timer closed the newly focused field's search. Restored drafts update their overlays without replacing persisted delivery keys.

Evidence

  • 127 tests passed across 13 targeted suites: shared editor, message dictation, send recovery, reply context, exchanges, autocomplete, history, speech, compact layout and attachments.
  • Production-module/CSS Playwright fixtures: messageComposer.cjs and messageReplyContext.cjs pass at 1280px and 390px. Concept selection, normalised sends, recipient preservation and both draft surfaces exercised.
  • Existing composerControls.cjs passes six desktop/mobile/touch viewport profiles.
  • Static frontend lint: no errors; five existing warnings in conceptAutocomplete.js. git diff --check passes.
  • Local screenshots retained in the worker's .run/composer-evidence/.

Ship boundary

Tier 1: accidental submission during concept selection, changed recipient/scope, lost recovery drafts or inaccessible composer controls would block shipping. The targeted checks pass. Browser APIs and audio lifecycle tests use fixtures; no claim of live recipient delivery, public authentication or audio-provider availability.

Von-specific model selection, steering, reset and conversational voice replies retain their AI execution semantics. This change does not turn direct messages into Von execution sessions. No deployment requested by the assignment.

@witbrock
witbrock merged commit b2c53d8 into main Sep 16, 2026
2 checks passed
@witbrock
witbrock deleted the codex/von-3c31111c0d7678c5 branch September 16, 2026 19:00
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