After a snapping app's third, a dropped window keeps a taller height for about 0.7 seconds#386

opened2d agobySSamanyu Das

Found while verifying #314 on main on 8 November 2026. After a snapping app's third, a dropped window gets its column's width and place back at once, but keeps the third's taller height for about 0.7 s more, and then shrinks 100 pt below its column for a moment before it settles.

Steps to reproduce

  1. Run Miri Developer from main at 70dbc3b6 with T3 Code (Nightly) tiled in a 1906 by 1394 column on the 27-inch display, and Magnet running.
  2. Drag T3 Code by its title bar below the 27-inch display's bottom edge and release.
  3. Within a moment, press Magnet's right-third shortcut, Control-Option-G.

A tool did the drags and pressed Magnet's shortcut 20 ms after release, and a recorder read window frames every 5 ms (verify-miri run 20261108-200850, drops 2, 5, 9, and 13).

Expected result

The window returns to its column's full frame, 1906 by 1394, within 1 s of the release, as #314's first criterion asks, and without a frame shorter than the column on the way.

Actual result

In 4 of 4 drops, measured from the release:

DropMagnet's third (854 by 1410)Width and place back (1906 by 1410)Height 1294Full frame 1906 by 1394
2+0.53 s+0.66 s+1.22 s+1.27 s
5+0.41 s+0.48 s+1.10 s+1.13 s
9+0.45 s+0.52 s+1.14 s+1.20 s
13+0.48 s+0.60 s+1.18 s+1.22 s

While the height is 1410, the window's bottom edge is 8 pt below the bottom of the screen. The 1294 frame lasts about 50 ms. An AXFixture window given the same third frame by Accessibility returned in 0.64 to 0.71 s (verify-miri run 20261108-201418). Quarters and bottom halves on T3 Code returned in 0.20 to 0.69 s. The cause is not confirmed: the engine log at info level shows nothing, and these runs had no trace lines. No window became unreachable or off-screen.

Acceptance criteria

  • Following the steps above, T3 Code reaches its column's full frame within 1 s of the release in 10 of 10 drops, with no frame shorter than the column after its width is back. Check with a 5 ms frame recording in a verify-miri run.
  • An engine test reproduces the late height, fails before the fix, and passes after it (make engine-test).

Miri version or commit

main at 70dbc3b6, engine 31be78d

macOS version and Mac model

macOS 27.0.1 (26A434), MacBook Air M3 (Mac15,12)

Displays and arrangement

27-inch external above the built-in display, separate Spaces on

Dependency and status (coordination, 10 Nov 2026)

  • Builds on another thing? No required dependency on #388, #377, #350, #333, or #376. Cause is still unconfirmed on the issue.
  • Evidence: original 4/4 third drops with late height (run 20261108-200850). No issue comments and no design decision recorded on this issue body. Historical prototypes for options A–C were engine-off / test-window only and were never approved for implementation.
  • Blocker: product/design choice of approach (prior options A–D) is still unchosen by Sam on this issue. Implementation of a chosen approach is held.
  • Independent work now: none that changes behavior until Sam picks an approach. Analysis / reproduction notes that do not implement an unchosen option may proceed later.
  • Next step: wait for Sam's approach decision; do not implement A–D.
  • Links: https://github.com/samanyudas/miri/issues/386