mirror of
https://github.com/software-mansion/argent.git
synced 2026-09-14 19:27:14 +08:00
95f7ad95b0
A tree-phase read outliving the source read budget returned the carried treeFresh: after one successful read, a hung second read handed back a tree up to the full 7.5s budget old while reporting it safe for selector coordinates. scroll-to — the one deadline-less settleTree consumer — was the visible casualty: its stale-round skip never fired for the case it was written for, so one 8s hierarchy read dispatched a swipe off the stale tree and misread the scroll as ended. The hung-read exit now returns treeFresh: false. That is unconditional because no path reaches it with a recent successful read in hand: every phase window is capped by the read budget, so a non-first poll only launches with budget open, and a first read starting past the budget holds no successful read and throws instead. The treeFresh docstring gains the fourth staleness source.
25 KiB
25 KiB