@ -429,10 +429,9 @@ export class Batch {
// an if block that contains the last blocking pending effect falsy,
// an if block that contains the last blocking pending effect falsy,
// causing the block to no longer be deferred.
// causing the block to no longer be deferred.
for ( const [ reaction , status ] of this . # dirty _reactions ) {
for ( const [ reaction , status ] of this . # dirty _reactions ) {
if ( ( reaction . f & DERIVED ) !== 0 ) {
set _signal _status ( reaction , status ) ;
set _signal _status ( reaction , status ) ;
} else if ( status === DIRTY || ( reaction . f & DIRTY ) === 0 ) {
if ( ( reaction . f & DERIVED ) === 0 ) {
set _signal _status ( reaction , status ) ;
this . schedule ( /** @type {Effect} */ ( reaction ) ) ;
this . schedule ( /** @type {Effect} */ ( reaction ) ) ;
}
}
}
}
@ -585,6 +584,7 @@ export class Batch {
} else if ( async _mode _flag && ( flags & ( RENDER _EFFECT | MANAGED _EFFECT ) ) !== 0 ) {
} else if ( async _mode _flag && ( flags & ( RENDER _EFFECT | MANAGED _EFFECT ) ) !== 0 ) {
render _effects . push ( effect ) ;
render _effects . push ( effect ) ;
} else if ( is _dirty ( effect ) ) {
} else if ( is _dirty ( effect ) ) {
if ( ( flags & BLOCK _EFFECT ) !== 0 ) this . add _dirty _reaction ( effect , MAYBE _DIRTY ) ;
update _effect ( effect ) ;
update _effect ( effect ) ;
}
}
@ -959,7 +959,7 @@ export class Batch {
if ( current _batch === null ) {
if ( current _batch === null ) {
const batch = ( current _batch = new Batch ( ) ) ;
const batch = ( current _batch = new Batch ( ) ) ;
if ( ! is _processing ) {
if ( ! is _processing && ! is _flushing _sync ) {
queue _micro _task ( ( ) => {
queue _micro _task ( ( ) => {
if ( ! batch . started ) {
if ( ! batch . started ) {
batch . flush ( ) ;
batch . flush ( ) ;