Conversation
I'm working on actually shipping this for real this time. In order to get started, import all the existing logic from PR Xe/wasm3. Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
There was a problem hiding this comment.
check-spelling found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
… errors Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
…github actions directly for reasons I hate Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <xe.iaso@techaro.lol>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Assisted-by: Claude Opus 4.8 via Claude Code Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
There are a nontrivial fraction of hashx inputs that are unsolvable. Tor handles this by just incrementing a padding byte until it gets a solvable input. In spot testing, this seems to be rare (did not show up given 2048 random inputs), but it's better to be defensive here by incrementing a padding byte until it's solvable. Also mend the commentary and some small remnants of things being copy/pasted from the sha256 hash solver. Signed-off-by: Xe Iaso <me@xeiaso.net>
This new check uses the bit shift operator to check if it's been at least 1024 iterations, not a brittle if statement that I've found out parses incorrectly. Some commentary has been updated to better reflect reality. Signed-off-by: Xe Iaso <me@xeiaso.net>
%w is preferred for wrapping errors in fmt.Errorf instead of passing the value with %v. Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
|
Check spelling results are known. Ignoring for now. |
Signed-off-by: Xe Iaso <me@xeiaso.net>
| throw new WASMUnsupportedError(); | ||
| } | ||
|
|
||
| return new Promise(async (resolve, reject) => { |
There was a problem hiding this comment.
Both the fetch and WebAssembly.compileStreaming could raise, but aren't handled, therefore not rejecting the promise.
Signed-off-by: Xe Iaso <me@xeiaso.net>
Assisted-by: Claude Opus 4.8 via Claude Code Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
|
@Kurtoid I figured out how to obviate the need for wasm. I had to build parts of binaryen to webassembly with a script claude puzzled out and commit the resulting binaries to the repo, but this works enough. I'll write more about this in the near future. It's working in Chrome on my workstation at least. |
Signed-off-by: Xe Iaso <me@xeiaso.net>
|
Did a smoke test on an aarch64 system and found that hashx verification never terminates. Gonna remove hashx for now. |
Signed-off-by: Xe Iaso <me@xeiaso.net>
|
Oh what it's the wazero compiler being broken on aarch64 somehow. I'm gonna disable it on GOOS=arm64. |
Signed-off-by: Xe Iaso <me@xeiaso.net>
This reverts commit fb04172. Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Assisted-by: Claude Opus 4.8 via Claude Code Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <me@xeiaso.net>
Closes #283
Closes #1116
Closes #1159
Replaces #1151
Adds argon2id and sha256 WASM based checks. These checks run faster than JavaScript can and will use exponentially less memory on both client and server:
TODO:
I have been putting off finishing this due to some burnout and fear of retaliation from the privacy community.
Checklist:
[Unreleased]section of docs/docs/CHANGELOG.mdnpm run test:integration(unsupported on Windows, please use WSL)