fix bindings/wasm wal file creation by implementing generate_random_number
#1556
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In binding/wasm
generate_random_number
's implementation depends on an external functionMath_random
which does not existA related error can be observed when viewing

limbo-opfs-test.html
without an existing database. (Note: it will execute successfully if the wal file already exists, so you may wish view the html in a private/incognito session to ensure an existing file from a previous run is not used)This error occurs upon wal file creation as it uses
generate_random_number
forsalt_1
andslat_2
in the headerhttps://github.com/tursodatabase/limbo/blob/main/core/storage/wal.rs#L764-L773)
This PR uses the same implementation as other platforms
core/io/unix.rs
https://github.com/tursodatabase/limbo/blob/main/core/io/unix.rs#L259-L263
core/io/windows.rs
https://github.com/tursodatabase/limbo/blob/main/core/io/windows.rs#L40-L44
The library
getrandom
supports wasm and uses Crypto.getRandomValues for the implementation in wasm.