Schedule a render-phase redirect once per tree
Every redirect dispatch re-renders, even one the reducer drops. When a
render keeps throwing the same redirect, e.g. because the local state
update that caused it never commits, scheduling one per render looped
forever. Only the first boundary to catch a redirect while rendering a
tree acts on it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>