From 7d96a25c554fc821a4cc6585cc7dcaa9f129dda0 Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Wed, 17 Sep 2025 06:39:27 -0700 Subject: [PATCH] try setting to weak instead of deinit --- src/browser/fetch/fetch.zig | 4 ++-- src/runtime/js.zig | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/browser/fetch/fetch.zig b/src/browser/fetch/fetch.zig index ee76578f..208cfece 100644 --- a/src/browser/fetch/fetch.zig +++ b/src/browser/fetch/fetch.zig @@ -170,7 +170,7 @@ pub fn fetch(input: RequestInput, options: ?RequestInit, page: *Page) !Env.Promi .done_callback = struct { fn doneCallback(ctx: *anyopaque) !void { const self: *FetchContext = @ptrCast(@alignCast(ctx)); - defer self.promise_resolver.deinit(); + defer self.promise_resolver.setWeak(); self.transfer = null; log.info(.fetch, "request complete", .{ @@ -187,7 +187,7 @@ pub fn fetch(input: RequestInput, options: ?RequestInit, page: *Page) !Env.Promi .error_callback = struct { fn errorCallback(ctx: *anyopaque, err: anyerror) void { const self: *FetchContext = @ptrCast(@alignCast(ctx)); - defer self.promise_resolver.deinit(); + defer self.promise_resolver.setWeak(); self.transfer = null; log.err(.fetch, "error", .{ diff --git a/src/runtime/js.zig b/src/runtime/js.zig index e18e73d6..a6faf8a2 100644 --- a/src/runtime/js.zig +++ b/src/runtime/js.zig @@ -2246,6 +2246,10 @@ pub fn Env(comptime State: type, comptime WebApis: type) type { self.resolver.deinit(); } + pub fn setWeak(self: *PersistentPromiseResolver) void { + self.resolver.setWeak(); + } + pub fn promise(self: PersistentPromiseResolver) Promise { return .{ .promise = self.resolver.castToPromiseResolver().getPromise(),