Make web document navigation survive live-updating pages

Recreated-node caret recovery, tolerant caret validation, per-root retained document trees and cursors across tab switches, document warm-up, coalesced structural moves, and hung-provider fast-fail with an 'Application is not responding' announcement.
This commit is contained in:
hjozwiak committed 2026-11-03 10:34:55 -05:00
1 parent 8ce5e5cdad
commit 7eef6e8be6
30 files changed
+1484 -174

No files matched your search

+1 -7
View File
@@ -38,13 +38,7 @@ func (adapter *Adapter) document_object_error(object ObjectID, err error) error
"could not be processed as object "+object.Path+" does not exist") {
return err
}
adapter.treeMutex.Lock()
trees := []*AccessibleTree{adapter.tree, adapter.documentTree, adapter.documentTextTree}
adapter.treeMutex.Unlock()
for _, tree := range trees {
if tree == nil {
continue
}
for _, tree := range adapter.ownedTrees() {
tree.mu.RLock()
entry := tree.nodes[object]
tree.mu.RUnlock()