diff options
| author | Adam Soltys <[email protected]> | 2026-06-28 03:50:35 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-28 03:50:35 -0700 |
| commit | a6e6083e4c758a9c07dc7a4ea38f880c561cb365 (patch) | |
| tree | d69b672c2dc58c7adbfab6ec6ea2c6c868de0f81 /src/api.js | |
| parent | 935adfe4a28cedd17f97ea3a6be7ccbafe6c7cec (diff) | |
| download | coinosv3-a6e6083e4c758a9c07dc7a4ea38f880c561cb365.tar.gz coinosv3-a6e6083e4c758a9c07dc7a4ea38f880c561cb365.zip | |
Stop input/select fields losing focus
Two causes, both fixed:
- _scanSpMempool emitted on every WS push even when our pending set was unchanged.
The mainnet mempool churns constantly, so this re-rendered the whole app every
few seconds, stealing focus mid-type. Now it only emits when our pending SP set
actually changes.
- render() rebuilds the DOM (replaceChildren), which inherently drops focus. Added
focus + caret preservation: capture the focused field's index-path and selection
before the rebuild, restore them after. So any render source (poll, payment
push, scan) is now invisible to someone typing.
Verified via CDP: typing 'bc1q…' in the Send address, caret at 6, then forcing a
re-render — focus, value, and caret all retained.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/api.js')
0 files changed, 0 insertions, 0 deletions
