From a8cc746b4ae10641c7a85a9a1cb739e848558188 Mon Sep 17 00:00:00 2001 From: hundredark Date: Thu, 6 Nov 2025 15:49:59 +0800 Subject: [PATCH 1/2] fix getAssets --- src/webview/client.ts | 8 ++++++-- src/webview/type.ts | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/webview/client.ts b/src/webview/client.ts index c8e53a8b..af1c1c91 100644 --- a/src/webview/client.ts +++ b/src/webview/client.ts @@ -63,17 +63,21 @@ export const WebViewApi = () => { }, getAssets: async (assets: string[], cb: (assets: WebviewAsset[]) => void) => { + const cbf = (str: string) => { + const assets = JSON.parse(str) as WebviewAsset[]; + cb(assets); + }; switch (getMixinContext().platform) { case 'iOS': if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.getAssets) { - window.assetsCallbackFunction = cb; + window.assetsCallbackFunction = cbf; await window.webkit.messageHandlers.getAssets.postMessage([assets, 'assetsCallbackFunction']); } break; case 'Android': case 'Desktop': if (window.MixinContext && typeof window.MixinContext.getAssets === 'function') { - window.assetsCallbackFunction = cb; + window.assetsCallbackFunction = cbf; await window.MixinContext.getAssets(assets, 'assetsCallbackFunction'); } break; diff --git a/src/webview/type.ts b/src/webview/type.ts index 2a219014..ea6824ba 100644 --- a/src/webview/type.ts +++ b/src/webview/type.ts @@ -49,7 +49,7 @@ declare global { getTipAddress?: Messengers['getTipAddress']; tipSign?: Messengers['tipSign']; }; - assetsCallbackFunction?: (res: WebviewAsset[]) => void; + assetsCallbackFunction?: (res: string) => void; tipAddressCallbackFunction?: (address: string) => void; tipSignCallbackFunction?: (signature: string) => void; } From 69fb90f4939d582ef347b3f3243b406b6a7ddf7b Mon Sep 17 00:00:00 2001 From: hundredark Date: Thu, 6 Nov 2025 15:57:24 +0800 Subject: [PATCH 2/2] try fix online test --- jest.config.js | 1 + setup.jest.js | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 setup.jest.js diff --git a/jest.config.js b/jest.config.js index 29cc8ec7..1773d9d0 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,4 +1,5 @@ module.exports = { transformIgnorePatterns: ['[/\\\\]node_modules[/\\\\](?!(axios|is-retry-allowed)).+\\.(js|jsx)$'], setupFilesAfterEnv: ['/test/crypto.ts'], + setupFiles: ['/setup.jest.js'], }; diff --git a/setup.jest.js b/setup.jest.js new file mode 100644 index 00000000..02b5b2d3 --- /dev/null +++ b/setup.jest.js @@ -0,0 +1,3 @@ +import { TextDecoder, TextEncoder } from 'util'; +global.TextEncoder = TextEncoder; +global.TextDecoder = TextDecoder;