diff --git a/Cargo.lock b/Cargo.lock index 3d24e38..0b14da4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -516,7 +516,7 @@ dependencies = [ [[package]] name = "epoxy-client" -version = "2.0.8" +version = "2.0.9" dependencies = [ "async-compression", "async-trait", diff --git a/client/Cargo.toml b/client/Cargo.toml index b96d743..e8e5939 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "epoxy-client" -version = "2.0.8" +version = "2.0.9" edition = "2021" [lib] @@ -34,18 +34,15 @@ web-sys = { version = "0.3.69", features = ["BinaryType", "Headers", "MessageEve wisp-mux = { path = "../wisp", features = ["wasm"] } [dependencies.ring] -# update whenever rustls updates -version = "0.17.8" +version = "*" features = ["wasm32_unknown_unknown_js"] [dependencies.rustls-pki-types] -# update whenever rustls updates -version = "1.4.1" +version = "*" features = ["web"] [dependencies.parking_lot_core] -# update based on Cargo.lock -version = "0.9.10" +version = "*" features = ["nightly"] [features] diff --git a/client/build.sh b/client/build.sh index 9f19ef9..817f9f8 100755 --- a/client/build.sh +++ b/client/build.sh @@ -12,12 +12,17 @@ wasm-bindgen --weak-refs --target no-modules --no-modules-global epoxy --out-dir echo "[epx] wasm-bindgen finished" mv out/epoxy_client_bg.wasm out/epoxy_client_unoptimized.wasm -time wasm-opt -Oz --vacuum --dce --enable-threads --enable-bulk-memory --enable-simd out/epoxy_client_unoptimized.wasm -o out/epoxy_client_bg.wasm +time wasm-opt -Oz --vacuum --dce --enable-threads --enable-bulk-memory out/epoxy_client_unoptimized.wasm -o out/epoxy_client_bg.wasm echo "[epx] wasm-opt finished" AUTOGENERATED_SOURCE=$(<"out/epoxy_client.js") # patch for websocket sharedarraybuffer error AUTOGENERATED_SOURCE=${AUTOGENERATED_SOURCE//getObject(arg0).send(getArrayU8FromWasm0(arg1, arg2)/getObject(arg0).send(new Uint8Array(getArrayU8FromWasm0(arg1, arg2)).buffer} +# patch for safari OOM errors on safari iOS 16/older devices +# also lowers maximum memory from default of 1GB to 512M on non-iOS and to 256M on iOS +AUTOGENERATED_SOURCE=${AUTOGENERATED_SOURCE//maximum:16384,shared:true/maximum:/iPad|iPhone|iPod/.test(navigator.userAgent)?4096:8192,shared:true} +# patch to set proper wasm path +AUTOGENERATED_SOURCE=${AUTOGENERATED_SOURCE//'_bg.wasm'/'.wasm'} echo "$AUTOGENERATED_SOURCE" > pkg/epoxy.js cp pkg/epoxy.js pkg/epoxy-module.js diff --git a/client/package.json b/client/package.json index d75a6ac..3db0a83 100644 --- a/client/package.json +++ b/client/package.json @@ -1,7 +1,7 @@ { "name": "@mercuryworkshop/epoxy-tls", - "version": "2.0.8-1", - "description": "A wasm library for using raw encrypted tls/ssl/https/websocket streams on the browser", + "version": "2.0.9-1", + "description": "A wasm library for using raw encrypted tls/ssl/tcp/udp/https/websocket streams on the browser", "scripts": { "build": "./build.sh" },