Repository navigation
Conversation
db6e4f0 to
fdef0a4
Compare
fdef0a4 to
044d55b
Compare
| commit(pending) | ||
| editingId = entries.getOrNull(index)?.id ?: -1 |
There was a problem hiding this comment.
🟡 [P2] Preserve the clicked entry across chain normalization
When the setter removes duplicates, as the wWaypoints cycle does, committing can change entry positions as well as IDs. For example, editing
100to200in[-1, 100, 200, 300]and clicking the existing200normalizes the chain to[-1, 200, 300]. Reusing index 2 then opens the editor for300, so subsequent typing modifies the wrong entry. Remap the clicked entry after normalization instead of reusing its previous index.
| awaitFirstDown(requireUnconsumed = false, pass = PointerEventPass.Initial) | ||
| focusManager.clearFocus() | ||
| awaitFirstDown(requireUnconsumed = false, pass = PointerEventPass.Final) | ||
| if (waitForUpOrCancellation(PointerEventPass.Final) != null) focusManager.clearFocus() |
There was a problem hiding this comment.
🟡 [P2] Wait for release on the Main pointer-event pass
An empty-space click with a small, unconsumed mouse movement can now leave search focused.
waitForUpOrCancellationinternally awaitsFinalagain after checking the requested pass; passingFinalmakes that second await receive the next event instead. In a down–move–up sequence, the release is checked only for consumption, leaving the detector suspended without callingclearFocus(). Use the defaultMainpass or a loop that checks every final-pass event.
Closes #1197