diff --git a/src/browser/ScriptManager.zig b/src/browser/ScriptManager.zig index 4bd4148c..baf2f8c3 100644 --- a/src/browser/ScriptManager.zig +++ b/src/browser/ScriptManager.zig @@ -273,6 +273,10 @@ pub fn addFromElement(self: *ScriptManager, comptime from_parser: bool, script_e // Let the outer errdefer handle releasing the arena if client.request fails } + // If we return synchronously (like from cache), we would call evaluate() immediately. + const was_evaluating = self.is_evaluating; + self.is_evaluating = true; + try self.client.request(.{ .url = url, .ctx = script, @@ -290,6 +294,9 @@ pub fn addFromElement(self: *ScriptManager, comptime from_parser: bool, script_e .done_callback = Script.doneCallback, .error_callback = Script.errorCallback, }); + + self.is_evaluating = was_evaluating; + handover = true; if (comptime IS_DEBUG) {