cmux NEXT: keep Priority dragged chats in place

Closed
TE
7d ago
+233-18

This is replacement piece 1 for #24177, limited to the core held-place drag fix and its regression coverage.

Fixes #24177

“a dragged chat keeps its place.”

The Priority drag persists the dropped order through subsequent ranking updates, using the existing marks persistence path. The tests cover a dragged row keeping its place while other rows rank around it, including the no-op and persistence-facing action assertions.

Validation:

  • python3 scripts/cmux-next/prepush-gate.py passed at 46a01209c7025.
  • git diff --check passed.
  • Native Swift tests are submitted to the fleet after the exact head is reviewed; no native build ran here.
  • The later Escape/hide, autoscroll, and keyboard/VoiceOver behavior is intentionally split into replacement PRs.

Agent session: big-red


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.