mirror of
https://github.com/electron/electron.git
synced 2026-02-19 03:14:51 -05:00
* chore: upgrade Node.js to v24.10.0 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: fixup crypto patch Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: fixup crypto test patch Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: prepare for v8 sandboxing https://github.com/nodejs/node/pull/58376 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * esm: fix module.exports export on CJS modules https://github.com/nodejs/node/pull/57366 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: fixup lazyload fs patch Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * esm: Source Phase Imports for WebAssembly https://github.com/nodejs/node/pull/56919 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * module: remove --experimental-default-type https://github.com/nodejs/node/pull/56092 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * lib,src: refactor assert to load error source from memory https://github.com/nodejs/node/pull/59751 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: add source location to v8::TaskRunner https://github.com/nodejs/node/pull/54077 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: remove dependency on wrapper-descriptor-based CppHeap https://github.com/nodejs/node/pull/54077 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: do not use soon-to-be-deprecated V8 API https://github.com/nodejs/node/pull/53174 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: stop using deprecated fields of v8::FastApiCallbackOptions https://github.com/nodejs/node/pull/54077 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * test: update v8-stats test for V8 12.6 https://github.com/nodejs/node/pull/54077 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * esm: unflag --experimental-wasm-modules https://github.com/nodejs/node/pull/57038 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * test: adapt assert tests to stack trace changes https://github.com/nodejs/node/pull/58070 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src,test: unregister the isolate after disposal and before freeing https://github.com/nodejs/node/pull/58070 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: use cppgc to manage ContextifyContext https://github.com/nodejs/node/pull/56522 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: replace uses of FastApiTypedArray https://github.com/nodejs/node/pull/58070 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * module: integrate TypeScript into compile cache https://github.com/nodejs/node/pull/56629 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * deps: update ada to 3.2.7 https://github.com/nodejs/node/pull/59336 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: make minor cleanups in encoding_binding.cc https://github.com/nodejs/node/pull/57448 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: switch from `Get/SetPrototype` to `Get/SetPrototypeV2` https://github.com/nodejs/node/pull/55453 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: use non-deprecated Get/SetPrototype methods https://github.com/nodejs/node/pull/59671 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: simplify string_bytes with views https://github.com/nodejs/node/pull/54876 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: improve utf8 string generation performance https://github.com/nodejs/node/pull/54873 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: use non-deprecated Utf8LengthV2() method https://github.com/nodejs/node/pull/58070 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: use non-deprecated WriteUtf8V2() method https://github.com/nodejs/node/pull/58070 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: refactor WriteUCS2 and remove flags argument https://github.com/nodejs/node/pull/58163 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: use String::WriteV2() in TwoByteValue https://github.com/nodejs/node/pull/58164 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * node-api: use WriteV2 in napi_get_value_string_utf16 https://github.com/nodejs/node/pull/58165 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * node-api: use WriteOneByteV2 in napi_get_value_string_latin1 https://github.com/nodejs/node/pull/58325 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: migrate WriteOneByte to WriteOneByteV2 https://github.com/nodejs/node/pull/59634 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fs: introduce dirent\.parentPath https://github.com/nodejs/node/pull/50976 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: avoid copy by using std::views::keys https://github.com/nodejs/node/pull/56080 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: fixup patch indices Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: errant use of context->GetIsolate() Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: tweak BoringSSL compat patch for new changes Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: add back missing isolate dtor declaration Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fixup! esm: fix module.exports export on CJS modules Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * cli: remove --no-experimental-fetch flag https://github.com/nodejs/node/pull/52611/files Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * esm: Source Phase Imports for WebAssembly https://github.com/nodejs/node/pull/56919 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fixup! src: prepare for v8 sandboxing Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: bump @types/node to v24 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: fix const assignment in crypto test Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: sandbox pointer patch issues Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: rework source phase import patch Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: add percentage support to --max-old-space-size https://github.com/nodejs/node/pull/59082 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: fixup crypto tests Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: HostImportModuleWithPhaseDynamically todo Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: cjs esm failures Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: v8::Object::Wrappable issues -b72a615754-490bac2496-4896a0dd69Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: remove deleted specs Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * src: use v8::ExternalMemoryAccounter https://github.com/nodejs/node/pull/58070 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fs: port SonicBoom module to fs module as FastUtf8Stream https://github.com/nodejs/node/pull/58897 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: tweak sandboxed pr patch Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * test: disable parallel/test-os-checked-function Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * test: use WHATWG URL instead of url.parse Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: OPENSSL_secure_zalloc doesn't work in BoringSSL Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: fix accidental extra line Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * 7017517: [defer-import-eval] Parse import defer syntax https://chromium-review.googlesource.com/c/v8/v8/+/7017517 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
47 lines
1.8 KiB
Diff
47 lines
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
Date: Sat, 25 Oct 2025 11:06:10 +0200
|
|
Subject: lib: check SharedArrayBuffer existence in fast-utf8-stream
|
|
|
|
After https://github.com/nodejs/node/pull/58897 calling
|
|
Object.entries on fs will lazy-load fast-utf8-stream, which uses
|
|
SharedArrayBuffer without checking for its existence first. It
|
|
won't exist in the renderer process and will throw
|
|
'SharedArrayBuffer is not a constructor'. Refactor to check
|
|
for SharedArrayBuffer first.
|
|
|
|
This should be upstreamed to Node.js
|
|
|
|
diff --git a/lib/internal/streams/fast-utf8-stream.js b/lib/internal/streams/fast-utf8-stream.js
|
|
index 3bfcc494d17b5cc4c9f494fab4aff4f0d68d2287..241a6b05e84f8e79b8c9b93abfda5562c2e35e9e 100644
|
|
--- a/lib/internal/streams/fast-utf8-stream.js
|
|
+++ b/lib/internal/streams/fast-utf8-stream.js
|
|
@@ -49,7 +49,8 @@ const {
|
|
const BUSY_WRITE_TIMEOUT = 100;
|
|
const kEmptyBuffer = Buffer.allocUnsafe(0);
|
|
|
|
-const kNil = new Int32Array(new SharedArrayBuffer(4));
|
|
+const haveSAB = typeof SharedArrayBuffer !== 'undefined';
|
|
+const kNil = haveSAB ? new Int32Array(new SharedArrayBuffer(4)) : null;
|
|
|
|
function sleep(ms) {
|
|
// Also filters out NaN, non-number types, including empty strings, but allows bigints
|
|
@@ -59,10 +60,14 @@ function sleep(ms) {
|
|
throw new ERR_INVALID_ARG_TYPE('ms', ['number', 'bigint'], ms);
|
|
}
|
|
throw new ERR_INVALID_ARG_VALUE.RangeError('ms', ms,
|
|
- 'must be a number greater than 0 and less than Infinity');
|
|
+ 'must be a number greater than 0 and less than Infinity');
|
|
+ }
|
|
+ if (haveSAB) {
|
|
+ AtomicsWait(kNil, 0, 0, Number(ms));
|
|
+ } else {
|
|
+ const { sleep: _sleep } = internalBinding('util');
|
|
+ _sleep(ms);
|
|
}
|
|
-
|
|
- AtomicsWait(kNil, 0, 0, Number(ms));
|
|
}
|
|
|
|
// 16 KB. Don't write more than docker buffer size.
|