using webworker on web app for wallet opening

master
Niko PLP 10 months ago
parent df79f92bf3
commit 162168c643
  1. 42
      ng-app/src/lib/Login.svelte
  2. 21
      ng-app/src/worker.js
  3. 12
      ng-app/vite.config.ts
  4. 4
      ngaccount/web/src/routes/Create.svelte

@ -118,16 +118,38 @@
// open the wallet // open the wallet
try { try {
let secret_wallet = await ng.wallet_open_wallet_with_pazzle( if (tauri_platform) {
wallet, let secret_wallet = await ng.wallet_open_wallet_with_pazzle(
pazzle, wallet,
pin_code pazzle,
); pin_code
step = "end"; );
dispatch("opened", { step = "end";
wallet: secret_wallet, dispatch("opened", {
id: secret_wallet.V0.wallet_id, wallet: secret_wallet,
}); id: secret_wallet.V0.wallet_id,
});
} else {
let worker_file = await import("../worker.js?worker");
const myWorker = new worker_file.default();
myWorker.postMessage({ wallet, pazzle, pin_code });
myWorker.onmessage = (msg) => {
//console.log("Message received from worker", msg.data);
if (msg.data.success) {
step = "end";
dispatch("opened", {
wallet: msg.data.success,
id: msg.data.success.V0.wallet_id,
});
} else {
console.error(msg.data.error);
error = msg.data.error;
step = "end";
dispatch("error", { error: msg.data.error });
}
};
}
} catch (e) { } catch (e) {
console.error(e); console.error(e);
error = e; error = e;

@ -0,0 +1,21 @@
import {
default as ng,
} from "./api";
onmessage = (e) => {
//console.log("Message received by worker", e.data);
(async function() {
try {
let secret_wallet = await ng.wallet_open_wallet_with_pazzle(
e.data.wallet,
e.data.pazzle,
e.data.pin_code
);
postMessage({success:secret_wallet});
} catch (e) {
postMessage({error:e});
}
})();
};

@ -11,6 +11,13 @@ import topLevelAwait from "vite-plugin-top-level-await";
export default defineConfig(async () => { export default defineConfig(async () => {
const host = await internalIpV4() const host = await internalIpV4()
const config = { const config = {
worker: {
format: 'es',
plugins : [
wasm(),
topLevelAwait(),
]
},
plugins: [ plugins: [
wasm(), wasm(),
topLevelAwait(), topLevelAwait(),
@ -71,6 +78,9 @@ export default defineConfig(async () => {
sourcemap: !!process.env.TAURI_DEBUG, sourcemap: !!process.env.TAURI_DEBUG,
} }
} }
if (process.env.NG_APP_FILE) config.plugins.push(viteSingleFile()); if (process.env.NG_APP_FILE) {
config.plugins.push(viteSingleFile());
config.worker.plugins.push(viteSingleFile());
}
return config return config
}) })

@ -180,8 +180,8 @@
<div class=" max-w-6xl lg:px-8 mx-auto px-4"> <div class=" max-w-6xl lg:px-8 mx-auto px-4">
<p class="max-w-xl md:mx-auto lg:max-w-2xl"> <p class="max-w-xl md:mx-auto lg:max-w-2xl">
You would like to choose <b>{domain}</b> as your Broker Service You would like to choose <b>{domain}</b> as your Broker Service
Provider.<br />Please read carefully the Terms of Service here Provider.<br />Please read carefully the Terms of Service below,
below, before accepting them. before accepting them.
</p> </p>
</div> </div>
{/if} {/if}

Loading…
Cancel
Save