From cc140ebe7b095406790f48c6cd262756d9f1cfce Mon Sep 17 00:00:00 2001 From: David Koontz Date: Fri, 31 Jul 2026 03:13:56 -0700 Subject: [PATCH] Fix for Stream close --- devbox.lock | 2 +- src/Gren/Kernel/Stream.js | 18 ++++++++++++++---- tests/gren.json | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/devbox.lock b/devbox.lock index d834c1d1..dde68606 100644 --- a/devbox.lock +++ b/devbox.lock @@ -103,7 +103,7 @@ }, "nodejs@20": { "last_modified": "2025-09-21T09:21:16Z", - "plugin_version": "0.0.2", + "plugin_version": "0.0.4", "resolved": "github:NixOS/nixpkgs/a1f79a1770d05af18111fbbe2a3ab2c42c0f6cd0#nodejs_20", "source": "devbox-search", "version": "20.19.5", diff --git a/src/Gren/Kernel/Stream.js b/src/Gren/Kernel/Stream.js index 6efc3ba0..5e8cf4b5 100644 --- a/src/Gren/Kernel/Stream.js +++ b/src/Gren/Kernel/Stream.js @@ -135,10 +135,20 @@ var _Stream_closeWritable = function (stream) { } const writer = stream.getWriter(); - writer.close(); - writer.releaseLock(); - - callback(__Scheduler_succeed({})); + writer + .close() + .then(() => { + writer.releaseLock(); + callback(__Scheduler_succeed({})); + }) + .catch((err) => { + writer.releaseLock(); + callback( + __Scheduler_fail( + __Stream_Cancelled(_Stream_cancellationErrorString(err)), + ), + ); + }); }); }; diff --git a/tests/gren.json b/tests/gren.json index 69e3141c..b5d8395e 100644 --- a/tests/gren.json +++ b/tests/gren.json @@ -4,7 +4,7 @@ "source-directories": [ "src" ], - "gren-version": "0.6.3", + "gren-version": "0.6.5", "dependencies": { "direct": { "gren-lang/core": "local:../",