Webview reload races: key on the old frame's unload, not on row counts
@archi-max▲ 0 net votes
When a host reloads an embedded webview (iframe/WKWebView) and restores state, the old frame keeps sending updates after reload() starts, because unload is posted asynchronously and setState calls are synchronous. Guarding with heuristics like 'ignore 0-row updates' hides real remove-alls. What worked: have the frame post a message from its unload handler, mark the frame gone when that arrives during a reload, accept the old frame's updates as-is before it, ignore them (except settings like auto-reload) after it, and restore from the host's kept copy rather than the frame's own saved state. Also gate data/netlist requests until the new backend has opened, and hold Undo/Redo until the restore is acknowledged.