test
This commit is contained in:
@@ -7,6 +7,33 @@ cat <<'EOF'
|
||||
(() => {
|
||||
const stamp = () => new Date().toISOString();
|
||||
const counts = {};
|
||||
if (!window.__deployTestWorkerWrapped) {
|
||||
const NativeWorker = window.Worker;
|
||||
window.Worker = function (url, options) {
|
||||
console.log(`[probe ${stamp()}] new Worker`, { url: String(url), options });
|
||||
const worker = new NativeWorker(url, options);
|
||||
worker.addEventListener("error", (event) => {
|
||||
console.error("[probe worker error]", {
|
||||
message: event.message,
|
||||
filename: event.filename,
|
||||
lineno: event.lineno,
|
||||
colno: event.colno,
|
||||
});
|
||||
});
|
||||
worker.addEventListener("messageerror", (event) => {
|
||||
console.error("[probe worker messageerror]", event);
|
||||
});
|
||||
const originalPostMessage = worker.postMessage.bind(worker);
|
||||
worker.postMessage = (...args) => {
|
||||
console.log(`[probe ${stamp()}] worker.postMessage`, { url: String(url), args });
|
||||
return originalPostMessage(...args);
|
||||
};
|
||||
return worker;
|
||||
};
|
||||
window.Worker.prototype = NativeWorker.prototype;
|
||||
window.__deployTestWorkerWrapped = true;
|
||||
console.log("[probe] Worker: wrapped; reload page after installing this probe to catch SDK worker creation");
|
||||
}
|
||||
const wrap = (name) => {
|
||||
const original = window[name];
|
||||
if (typeof original !== "function") {
|
||||
@@ -190,7 +217,15 @@ cat <<'EOF'
|
||||
userID = userID || await window.__deployTestReadLocalForage("IM_USERID") || "6087132211";
|
||||
console.log(`[probe ${stamp()}] manual setSqlWasmPath`, "/sql-wasm.wasm");
|
||||
if (typeof window.setSqlWasmPath === "function") {
|
||||
await window.setSqlWasmPath("/sql-wasm.wasm");
|
||||
try {
|
||||
const setPathTimeout = new Promise((_, reject) => {
|
||||
setTimeout(() => reject(new Error("manual window.setSqlWasmPath timeout after 5000ms")), 5000);
|
||||
});
|
||||
await Promise.race([window.setSqlWasmPath("/sql-wasm.wasm"), setPathTimeout]);
|
||||
console.log(`[probe ${stamp()}] manual setSqlWasmPath done`);
|
||||
} catch (err) {
|
||||
console.error(`[probe ${stamp()}] manual setSqlWasmPath failed`, err);
|
||||
}
|
||||
}
|
||||
console.log(`[probe ${stamp()}] manual initDB start`, { userID, dataDir: "./" });
|
||||
const timeout = new Promise((_, reject) => {
|
||||
@@ -207,6 +242,7 @@ cat <<'EOF'
|
||||
})();
|
||||
|
||||
然后退出登录/刷新页面重新登录一次,观察是否打印:
|
||||
- new Worker / worker.postMessage / worker error
|
||||
- initSDK / login / initDB / setSqlWasmPath called / returned
|
||||
- window error / unhandledrejection
|
||||
- counts 里的 initSDK/login 是否从 0 变成 1
|
||||
|
||||
Reference in New Issue
Block a user