Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/improsocial/impro
An extensible Bluesky client for web impro.social
Something went wrong. Try again.
HTML
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667<!doctype html><html> <head> <meta charset="utf-8" /> <title>Plugin sandbox</title> <meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline' blob: 'wasm-unsafe-eval'; worker-src blob:; connect-src 'none'" /> </head> <body> <script> (() => { let worker = null;
// Handle messages from parent window.addEventListener("message", (event) => { if (event.source !== window.parent) return; const message = event.data; if (!message || typeof message !== "object") return; if (message.type === "init") init(message.workerSource); else if (message.type === "send" && worker) worker.postMessage(message.payload); else if (message.type === "terminate" && worker) worker.terminate(); });
function init(workerSource) { if (worker) return; try { const blob = new Blob([workerSource], { type: "text/javascript", }); const workerUrl = URL.createObjectURL(blob); worker = new Worker(workerUrl); URL.revokeObjectURL(workerUrl); } catch (error) { window.parent.postMessage( { type: "sandbox-ready", error: (error && error.message) || String(error), }, "*", ); return; }
// Handle messages from worker worker.addEventListener("message", (event) => { window.parent.postMessage( { type: "fromWorker", payload: event.data }, "*", ); }); worker.addEventListener("error", (event) => { window.parent.postMessage( { type: "workerError", error: event.message || "worker error" }, "*", ); });
window.parent.postMessage({ type: "sandbox-ready" }, "*"); } })(); </script> </body></html>