Describe the bug
A synchronous action gets held by an unrelated pending update when both are read in the same render effect.
Splitting the expression into separate JSX holes, or calling setB directly instead of through action, removes the wait.
Your Example Website or App
https://s.olid.uk/id/P_RewMzJQ9ylqeKOIsYEmw
Steps to Reproduce the Bug or Issue
- Click Start.
- B is set after 500ms, but the output stays at
0:0 until becoming 1:1 at 2 seconds.
- Replace the paragraph with
<p>{b()}:{detailsA()}</p> and rerun. It now shows 1:0 at 500ms.
Expected behavior
B should publish at 500ms, showing 1:0, then 1:1 when A finishes. Sharing a render effect should not entangle the updates.
Screenshots or Videos
No response
Platform
- OS: [e.g. macOS, Windows, Linux]
- Browser: [e.g. Chrome, Safari, Firefox]
- Version: [e.g. 91.1]
Additional context
Possibly related to #3322.
The merge happens when recompute re-enters the shared effect's _transition while another transition is active. Excluding effects from that re-entry fixes this repro, but breaks existing reveal-completion tests, including cases covered by #3305/#3334. Those suspended reveals still need to resume correctly.
Describe the bug
A synchronous action gets held by an unrelated pending update when both are read in the same render effect.
Splitting the expression into separate JSX holes, or calling setB directly instead of through action, removes the wait.
Your Example Website or App
https://s.olid.uk/id/P_RewMzJQ9ylqeKOIsYEmw
Steps to Reproduce the Bug or Issue
0:0until becoming1:1at 2 seconds.<p>{b()}:{detailsA()}</p>and rerun. It now shows1:0at 500ms.Expected behavior
B should publish at 500ms, showing
1:0, then1:1when A finishes. Sharing a render effect should not entangle the updates.Screenshots or Videos
No response
Platform
Additional context
Possibly related to #3322.
The merge happens when
recomputere-enters the shared effect's_transitionwhile another transition is active. Excluding effects from that re-entry fixes this repro, but breaks existing reveal-completion tests, including cases covered by #3305/#3334. Those suspended reveals still need to resume correctly.