← Commit history

v2.0.566 (insiders): Extension lane default; CDP opt-in; pup-lanes skill; dashboard on ext; ext eval matches CDP; channel survives worker restarts; cold open inside 60 s.

John Lauer ·65fa5af347 ·1mo ago ·parent f2a7efa
1 file changed +6−1
src/extension/worker.js+6−1
@@ -203,9 +203,14 @@ async function pupExtPoll() {         // AWAIT the value: an async expression returned a Promise, which stringified to "{}" and silently         // swallowed every asynchronous probe (measured while tracing the Akamai sensor, 2026-09-12).         func: async (src) => {+          // Tag the type so the bridge can hand back exactly what CDP's Runtime.evaluate would: a string stays+          // a string even when its text looks like JSON (2.0.565: JSON.stringify(...) results came back as+          // objects on this lane and as text on the CDP lane; the two lanes must not differ here).           try {             const v = await eval(src);-            return typeof v === 'string' ? v : JSON.stringify(v);+            if (typeof v === 'string') return { s: v };+            if (v === undefined) return { u: true };+            return { j: JSON.stringify(v) };           } catch (e) { return 'ERR:' + (e && e.message ? e.message : e); }         },         args: [cmd.expr || ''],