Skip to content

Update getrandom for NW.js compatibility#96

Open
qazmlp wants to merge 1 commit intobuttplugio:masterfrom
qazmlp:patch/update-getrandom
Open

Update getrandom for NW.js compatibility#96
qazmlp wants to merge 1 commit intobuttplugio:masterfrom
qazmlp:patch/update-getrandom

Conversation

@qazmlp
Copy link
Copy Markdown

@qazmlp qazmlp commented Nov 17, 2022

getrandom was recently updated to prioritise the Web Cryptography API even when Node.js is present. This makes it compatible with NW.js, which is a hybrid environment of Chromium and Node.js without crypto module.

(An old version of) NW.js is used as runtime by RPG Maker MV, so currently I have to delete process.versions.node; there as workaround in my Intiface plugin for that engine. This may potentially interfere with other plugins.

If it's not too much trouble, please update the buttplug npm package with this patch applied. I could build this myself otherwise, but doing so without leaking personal info seems a bit tricky.
I'm also not keen on shipping a custom binary blob as redistributable here, as there's no effective sandboxing on the players' computers. With an updated npm package that's less niche, game creators can easily verify the checksum or replace the bundled one with a fresh download if necessary.


This patch results from running the following command:

$ cargo update -p getrandom@0.2.3
    Updating crates.io index
    Updating getrandom v0.2.3 -> v0.2.8
    Updating libc v0.2.109 -> v0.2.137
    Updating wasi v0.10.2+wasi-snapshot-preview1 -> v0.11.0+wasi-snapshot-preview1

libc v0.2.136 should also work, but I assume there's no reason not to update it further.

(It seems getrandom v0.1.16 is a build-only dependency, so it's not causing issues.)

This patch results from running the following command:

```
$ cargo update -p getrandom@0.2.3
    Updating crates.io index
    Updating getrandom v0.2.3 -> v0.2.8
    Updating libc v0.2.109 -> v0.2.137
    Updating wasi v0.10.2+wasi-snapshot-preview1 -> v0.11.0+wasi-snapshot-preview1
```

`getrandom`, [in version 0.2.8](https://github.com/rust-random/getrandom/blob/v0.2.8/CHANGELOG.md#028---2022-10-20), comes with better compatibility for hybrid Node/browser environments.
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Nov 17, 2022

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants