You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* perf(map): add isInputPending() input-path scheduling helper (koala73#5042)
U1 of the INP input-delay plan. Feature-detected (Chromium-only, graceful
false elsewhere), discrete-only no-arg call. Recurring animation loops use
it to skip a rebuild tick when input is queued.
Claude-Session: https://claude.ai/code/session_01Gc3t8s5cdgecwXGxzdq5Xn
* perf(map): cut input-path main-thread work — guard rebuild loops, throttle hover query, yield-schedule heavy commit (koala73#5042)
U2: gate the trade-animation and news-pulse rebuilds on !isInputPending()
so a queued interaction handler runs sooner (terminal pulse-settle render is
never guarded). U3: rAF-throttle the per-mousemove queryRenderedFeatures on the
canvas (the dominant input-delay surface per the 07-08 field pull); cancel the
pending query on mouseout and teardown so it can't re-highlight after leave.
U4: route the DeferredHeavyCommit flush through a yieldToMain-backed adapter
(scheduler.yield ahead of clamped timers) instead of setTimeout(0).
Claude-Session: https://claude.ai/code/session_01Gc3t8s5cdgecwXGxzdq5Xn
* perf(map): surface deferred-flush throws on window.onerror (koala73#5045 review)
A throw from the DeferredHeavyCommit flush was a floating promise rejection;
catch it and rethrow async so it reaches window.onerror -> Sentry exactly as
the replaced setTimeout(fn,0) did. (Greptile P2.)
Claude-Session: https://claude.ai/code/session_01Gc3t8s5cdgecwXGxzdq5Xn
* fix(map): keep throttled hover interactions coherent
* fix(map): skip hover raf when country clicks are disabled
0 commit comments