diff --git a/packages/core/src/diff.rs b/packages/core/src/diff.rs index 34ec66644..838359e82 100644 --- a/packages/core/src/diff.rs +++ b/packages/core/src/diff.rs @@ -328,8 +328,8 @@ impl<'bump> DiffMachine<'bump> { self.mutations.set_attribute(attr); } - if children.is_empty() { - self.stack.element_id_stack.push(real_id); + if !children.is_empty() { + // self.stack.element_id_stack.push(real_id); // push our element_id onto the stack // drop our element off the stack self.stack.create_children(children, MountType::Append); @@ -522,6 +522,10 @@ impl<'bump> DiffMachine<'bump> { } } + if has_comitted { + self.mutations.pop(); + } + self.diff_children(old.children, new.children); }