SIGN IN SIGN UP

fix(chat): default the mid-turn send to the weaker promise and lock its copy

`steerChannel` now defaults to `pull`, matching `FeedbackDialog.channel`: a
caller that wires `onSteer` without declaring a channel understates delivery
instead of promising an insert the session cannot perform. The pull menu item
carries the notes strip's Clock instead of the instant-insert Zap.

`steerAvailable` folds in `connectionId`, so it means what its name says on
every render rather than only after the reset effect has run; `canSubmit`
composes from it unchanged.

Tests: the "no steer channel" case now waits for both snapshot reads to settle
(it previously asserted the initial `false` and passed against a hook that
enabled the channel after the snapshot resolved); new cases cover the `pull`
default and the `steerNoteFailed` toast.
X
xintaofei committed
a462935b1b33724e2f28164e849419a848ebe08a
Parent: 877f40e