addaleax · GitHub

@addaleax

addaleax

@addaleax addaleax added fs

Issues and PRs related to the fs subsystem / file system.

worker

Issues and PRs related to Worker support.

semver-minor

PRs that contain new features and should be released in the next minor version.

and removed lib / src

Issues and PRs related to general changes in the lib or src directory.

labels

Jun 6, 2020

benjamingr

benjamingr

jasnell

benjamingr

benjamingr

This was referenced

Jun 9, 2020

Open

Open

Extend support for transferring objects à la `MessagePort` to other
types of `BaseObject` subclasses, as well as implement cloning
support for cases in which destructive transferring is not needed
or optional.
Enable JS wrapper objects to be used as transferable or cloneable
objects in `postMessage()` calls, by having them extend a C++-backed
class.
This requires a few internal changes:
- This commit adds the possibility for transferred objects to
  read/write JS values at the end of the serialization/deserialization
  phases.
- This commit adds the possibility for transferred objects to list
  sub-transferables, e.g. typically the public JS wrapper class
  would list its C++ handle in there.
- This commit adds usage of `BaseObject` in a few more places, because
  now during deserialization weakly held objects can also be involved,
  in addition to `MessagePort`s.
Allow passing `FileHandle` instances in the transfer list
of a `.postMessage()` call.

codebytere pushed a commit that referenced this pull request

Jun 30, 2020
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

codebytere pushed a commit that referenced this pull request

Jun 30, 2020
Extend support for transferring objects à la `MessagePort` to other
types of `BaseObject` subclasses, as well as implement cloning
support for cases in which destructive transferring is not needed
or optional.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

codebytere pushed a commit that referenced this pull request

Jun 30, 2020
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

codebytere pushed a commit that referenced this pull request

Jun 30, 2020
Enable JS wrapper objects to be used as transferable or cloneable
objects in `postMessage()` calls, by having them extend a C++-backed
class.
This requires a few internal changes:
- This commit adds the possibility for transferred objects to
  read/write JS values at the end of the serialization/deserialization
  phases.
- This commit adds the possibility for transferred objects to list
  sub-transferables, e.g. typically the public JS wrapper class
  would list its C++ handle in there.
- This commit adds usage of `BaseObject` in a few more places, because
  now during deserialization weakly held objects can also be involved,
  in addition to `MessagePort`s.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

codebytere pushed a commit that referenced this pull request

Jun 30, 2020
Allow passing `FileHandle` instances in the transfer list
of a `.postMessage()` call.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

codebytere pushed a commit that referenced this pull request

Jun 30, 2020
This is much nicer than just treating exceptions as uncaught, and
enables reporting of exceptions from the internal C++ deserialization
machinery.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

codebytere added a commit that referenced this pull request

Jun 30, 2020
Notable changes:
build:
  * (SEMVER-MINOR) reset embedder string to "-node.0" (Michaël Zasso) #33376
cli:
  * (SEMVER-MINOR) add alias for report-directory to make it consistent (AshCripps) #33587
crypto:
  * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) #33360
deps:
  * (SEMVER-MINOR) V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) #33376
  * (SEMVER-MINOR) update V8 to 8.3.110.9 (Michaël Zasso) #33376
dgram:
  * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) #22413
events:
  * (SEMVER-MINOR) initial implementation of experimental EventTarget (James M Snell) #33556
fs:
  * (SEMVER-MINOR) implement lutimes (Maël Nison) #33399
http:
  * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) #33803
  * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) #33617
  * (SEMVER-MINOR) return this from OutgoingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from ClientRequest#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278
http2:
  * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
  * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) #33160
process:
  * (SEMVER-MINOR) add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) #33475
src:
  * (SEMVER-MINOR) store key data in separate class (Tobias Nießen) #33360
  * (SEMVER-MINOR) add NativeKeyObject base class (Tobias Nießen) #33360
  * (SEMVER-MINOR) rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
  * (SEMVER-MINOR) add equality operators for BaseObjectPtr (Anna Henningsen) #33772
  * (SEMVER-MINOR) introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
  * (SEMVER-MINOR) add public APIs to manage v8::TracingController (Anna Henningsen) #33850
stream*:
  * runtime deprecate Transform._transformState (Robert Nagy) #32763
win:
  * (SEMVER-MINOR) allow skipping the supported platform check (João Reis) #33176
worker:
  * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) #33979
  * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
worker,fs:
  * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) #33772
zlib:
  * (SEMVER-MINOR) add `maxOutputLength` option (unknown) #33516
PR-URL: #34093

codebytere added a commit that referenced this pull request

Jun 30, 2020
Notable changes:
build:
  * (SEMVER-MINOR) reset embedder string to "-node.0" (Michaël Zasso) #33376
cli:
  * (SEMVER-MINOR) add alias for report-directory to make it consistent (AshCripps) #33587
crypto:
  * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) #33360
deps:
  * (SEMVER-MINOR) V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) #33376
  * (SEMVER-MINOR) update V8 to 8.3.110.9 (Michaël Zasso) #33376
dgram:
  * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) #22413
events:
  * (SEMVER-MINOR) initial implementation of experimental EventTarget (James M Snell) #33556
fs:
  * (SEMVER-MINOR) implement lutimes (Maël Nison) #33399
http:
  * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) #33803
  * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) #33617
  * (SEMVER-MINOR) return this from OutgoingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from ClientRequest#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) #32789
  * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278
http2:
  * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
  * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) #33160
process:
  * (SEMVER-MINOR) add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) #33475
src:
  * (SEMVER-MINOR) store key data in separate class (Tobias Nießen) #33360
  * (SEMVER-MINOR) add NativeKeyObject base class (Tobias Nießen) #33360
  * (SEMVER-MINOR) rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
  * (SEMVER-MINOR) add equality operators for BaseObjectPtr (Anna Henningsen) #33772
  * (SEMVER-MINOR) introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
  * (SEMVER-MINOR) add public APIs to manage v8::TracingController (Anna Henningsen) #33850
stream*:
  * runtime deprecate Transform._transformState (Robert Nagy) #32763
win:
  * (SEMVER-MINOR) allow skipping the supported platform check (João Reis) #33176
worker:
  * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) #33979
  * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
  * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
worker,fs:
  * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) #33772
zlib:
  * (SEMVER-MINOR) add `maxOutputLength` option (unknown) #33516
PR-URL: #34093

addaleax added a commit that referenced this pull request

Sep 22, 2020
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

addaleax added a commit that referenced this pull request

Sep 27, 2020
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

addaleax added a commit that referenced this pull request

Sep 27, 2020
Extend support for transferring objects à la `MessagePort` to other
types of `BaseObject` subclasses, as well as implement cloning
support for cases in which destructive transferring is not needed
or optional.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

addaleax added a commit that referenced this pull request

Sep 27, 2020
Enable JS wrapper objects to be used as transferable or cloneable
objects in `postMessage()` calls, by having them extend a C++-backed
class.
This requires a few internal changes:
- This commit adds the possibility for transferred objects to
  read/write JS values at the end of the serialization/deserialization
  phases.
- This commit adds the possibility for transferred objects to list
  sub-transferables, e.g. typically the public JS wrapper class
  would list its C++ handle in there.
- This commit adds usage of `BaseObject` in a few more places, because
  now during deserialization weakly held objects can also be involved,
  in addition to `MessagePort`s.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

addaleax added a commit that referenced this pull request

Sep 27, 2020
Allow passing `FileHandle` instances in the transfer list
of a `.postMessage()` call.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

addaleax added a commit that referenced this pull request

Sep 27, 2020
This is much nicer than just treating exceptions as uncaught, and
enables reporting of exceptions from the internal C++ deserialization
machinery.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

addaleax added a commit that referenced this pull request

Sep 28, 2020
Allow passing `FileHandle` instances in the transfer list
of a `.postMessage()` call.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

addaleax added a commit that referenced this pull request

Sep 28, 2020
This is much nicer than just treating exceptions as uncaught, and
enables reporting of exceptions from the internal C++ deserialization
machinery.
PR-URL: #33772
Backport-PR-URL: #33965
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>

codebytere added a commit that referenced this pull request

Sep 28, 2020
Notable changes:
async_hooks:
  * add AsyncResource.bind utility (James M Snell) (#34574)
buffer:
  * also alias BigUInt methods (Anna Henningsen) (#34960)
  * alias UInt ➡️ Uint in buffer methods (Anna Henningsen) (#34729)
build:
  * add build flag for OSS-Fuzz integration (davkor) (#34761)
cli:
  * add alias for report-directory to make it consistent (Ash Cripps) (#33587)
crypto:
  * allow KeyObjects in postMessage (Tobias Nießen) (#33360)
  * add randomInt function (Oli Lalonde) (#34600)
deps:
  * upgrade to libuv 1.39.0 (Colin Ihrig) (#34915)
dgram:
  * add IPv6 scope id suffix to received udp6 dgrams (Pekka Nikander) (#14500)
  * allow typed arrays in .send() (Sarat Addepalli) (#22413)
doc:
  * add basic embedding example documentation (Anna Henningsen) (#30467)
embedding:
  * make Stop() stop Workers (Anna Henningsen) (#32531)
  * provide hook for custom process.exit() behaviour (Anna Henningsen) (#32531)
fs:
  * implement lutimes (Maël Nison) (#33399)
http:
  * return this from IncomingMessage#destroy() (Colin Ihrig) (#32789)
  * expose host and protocol on ClientRequest (wenningplus) [#33803](#33803)
http2:
  * return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) (#33994)
  * do not modify explicity set date headers (Pranshu Srivastava) (#33160)
* n-api**:
  * support type-tagging objects (Gabriel Schulhof) (#28237)
  * provide asynchronous cleanup hooks (Anna Henningsen) (#34572)
perf_hooks:
  * add idleTime and event loop util (Trevor Norris) (#34938)
timers:
  * allow timers to be used as primitives (Denys Otrishko) [#34017](#34017)
tls:
  * make 'createSecureContext' honor more options (Mateusz Krawczuk) (#33974)
worker:
  * add public method for marking objects as untransferable (Anna Henningsen) (#33979)
  * emit `'messagerror'` events for failed deserialization (Anna Henningsen) (#33772)
  * allow passing JS wrapper objects via postMessage (Anna Henningsen) (#33772)
  * allow transferring/cloning generic BaseObjects (Anna Henningsen) (#33772)
  * add option to track unmanaged file descriptors (Anna Henningsen) (#34303)
  * add stack size resource limit option (Anna Henningsen) (#33085)
  * make FileHandle transferable (Anna Henningsen) (#33772)
zlib:
  * add `maxOutputLength` option (unknown) (#33516)
PR-URL: TODO

Merged

Merged

Merged

Read the original on github.com ↗