InputGroup's has-disabled: classes matched the disabled send button and greyed the whole empty composer; ChatComposer cancels both. Sortable session rows drop the always-on grip column: mouse drags the row (6px), touch long-presses (250ms), a drag never opens the row, and the grip stays only for keyboard sorting, visible on focus. The row menu shows on hover, focus or the current row on hover-capable devices. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v