# New send shortcut, Cancel that clears the draft, and a discard action for failed comments

**Version:** v0.3.0

**Published:** October 29, 2026

This release refines how the comment input sends, cancels and recovers from a failed post. Some of these change the behavior of `@beta` components.

## Behavior changes

- Send shortcut: `CommentInput` and the other comment inputs send on Cmd+Enter, or Ctrl+Enter outside Apple platforms. Enter starts a new paragraph and Shift+Enter a new line. Neither sends while the mention menu is open or while an input method is composing text.
- Cancel: `CommentInput` always shows Cancel beside the submit control. Cancel empties the draft, including its stored copy, releases focus, so a composer with `expandOnFocus` folds back, and then calls `onDiscard`. Escape still calls `onDiscard` and keeps the draft, and so does an input unmounting, for example when the user switches threads. With `confirmDiscard`, both ask first. This applies to the reply box, the panel's new-thread composer, `InlineCommentInput` and the edit box in `Comment`, where Cancel drops the edited text and keeps the saved message.
- Failed comments: a comment that failed to post (`state.type === 'createError'`) no longer gets the actions menu. Its only action is a discard button that calls `onDelete` without asking for confirmation. The new optional `labels.actions.discard` names it and defaults to "Discard". The notice's "Try again" still retries.

## Improvements

- Sending a message drops empty lines at either end, and the input clears to one empty line.
- The submit control shows a spinner while `busy` is set or while a submit is in flight.
- A selected `CommentBadge` uses the inline highlight's yellow instead of the gray button fill. In dark mode it uses the selected highlight's solid yellow with white text.
- Inline comment highlights fill exactly the line box at any text size and line height, so the bands of a wrapped run meet without overlapping.
- The list's loading text and empty text sit at the same height.

