Sweeping the other views for the FN-8606 typing bug found no further breakage,
but it did expose why the bug shipped: almost all field coverage uses
fireEvent.change, which sets a value in one shot on a node it already holds and
never needs the input to stay mounted. A remount is invisible to it.
Adds expectStableTyping (types character by character via userEvent, then asserts
DOM node identity, accumulated value, and retained focus) and applies it to the
uncovered surfaces: the FN-8606-migrated AddNode, ConnectNode, NodeDetail,
Scripts, and WorkflowAddStep modals, plus the board's QuickEntryBox composer and
SubtaskBreakdownModal title editing. All pass — this is a detection floor, not a
fix.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- fix: fragments are hidden in the add-step dialog when the target edge is
inside a foreach/loop/optional-group (they expand to top-level subgraphs
and cannot splice into a template-child edge), and
spliceInsertedSubgraphOnEdge now refuses container-internal edges as a
second line of defense (Greptile P1 x2).
- test: add-step modal container-target hiding, multi-entry/exit splice
fan-out, internal-cycle entries fallback, ambiguous merge-inbound
lifecycle fallback, and edge-targeted "as optional group" wiring
(CodeRabbit nitpicks).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>