diff --git a/src/browser/HttpClient.zig b/src/browser/HttpClient.zig index a45b6b6c..81c4dc14 100644 --- a/src/browser/HttpClient.zig +++ b/src/browser/HttpClient.zig @@ -602,6 +602,9 @@ const Synthetic = struct { } fn run(transfer: *Transfer, _: *anyopaque) void { + // prevents a callback that triggers a navigation queue from killing + // this transfer from under us. + transfer.state = .completing; defer transfer.deinit(); const fulfilled = build(transfer) catch |err| {