From 34786406365c495622d42c6ee841a49396cb53b5 Mon Sep 17 00:00:00 2001 From: ernisto Date: Fri, 11 Apr 2025 00:56:24 -0300 Subject: [PATCH] fix: mark node validity before effect - still is possible recursive effects if bump update id (expected) - fix some edge cases of undesirable queuing evaluating nodes --- src/graph.luau | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/graph.luau b/src/graph.luau index 8baa7bc..f908e5d 100644 --- a/src/graph.luau +++ b/src/graph.luau @@ -163,6 +163,8 @@ local update_queue = { n = 0 } :: { n: number, [number]: Node } local function evaluate_node(node: Node) if node.higher_parent_update_id == node.last_eval_update_id then return node.needs_queue_children end + node.last_eval_update_id = update_id + local cur_value = node.cache flush_cleanups(node) @@ -180,8 +182,6 @@ local function evaluate_node(node: Node) local needs_queue_children = not is_similar(cur_value, new_value) node.needs_queue_children = needs_queue_children - - node.last_eval_update_id = update_id node.cache = new_value return needs_queue_children