rxjs icon indicating copy to clipboard operation
rxjs copied to clipboard

Evade override mistake

Open erights opened this issue 3 years ago • 3 comments

See https://github.com/Agoric/agoric-sdk/blob/master/patches/inquirer%2B%2Brxjs%2B7.5.5.patch

The original code used assignment to override the constructor property inherited from Error.prototype. However, if Error.prototype is frozen, as it is under Hardened JS (aka SES) or under the Node frozen intrinsics flag, then this assignment fails due to the JavaScript "override mistake".

enumerable: true would accurately preserve the behavior of the original assignment, but I'm guessing that was not intentional. For an actual error subclass, this property would not be enumerable, so my PR currently proposes that. But either would work, so let me know if you'd like me to change it.

Description:

BREAKING CHANGE:

Related issue (if exists): https://github.com/endojs/endo/issues/576 https://github.com/Agoric/agoric-sdk/pull/5569

erights avatar Jun 11 '22 02:06 erights

Any progress on this?

erights avatar Jul 20 '22 04:07 erights

I’m inclined to approve this, on the face of it. However is it possible to add a test for this?

benlesh avatar Jul 20 '22 21:07 benlesh

Sorry, to clarify: we have plans to change the definition of these classes in upcoming versions, and I want to make sure we don't break anything.

benlesh avatar Jul 20 '22 21:07 benlesh

Inactive PR... no response and no tests.

benlesh avatar Mar 07 '23 21:03 benlesh