From 886ae7168db6e3328335028f0030dd81880bb630 Mon Sep 17 00:00:00 2001 From: bielie Date: Wed, 25 Feb 2026 17:51:12 +0800 Subject: [PATCH] fix(ena-planner): restore non-stream send interception flow --- modules/ena-planner/ena-planner.js | 46 +++--------------------------- 1 file changed, 4 insertions(+), 42 deletions(-) diff --git a/modules/ena-planner/ena-planner.js b/modules/ena-planner/ena-planner.js index 611f0e4..97c605e 100644 --- a/modules/ena-planner/ena-planner.js +++ b/modules/ena-planner/ena-planner.js @@ -77,9 +77,7 @@ let overlay = null; let iframeMessageBound = false; let sendListenersInstalled = false; let sendClickHandler = null; -let sendPointerDownHandler = null; let sendKeydownHandler = null; -let sendKeyupHandler = null; /** * ------------------------- @@ -1334,12 +1332,12 @@ function shouldInterceptNow() { return true; } -async function doInterceptAndPlanThenSend(rawSnapshot = '') { +async function doInterceptAndPlanThenSend() { const ta = getSendTextarea(); const btn = getSendButton(); if (!ta || !btn) return; - const raw = String(rawSnapshot || ta.value || '').trim(); + const raw = String(ta.value ?? '').trim(); if (!raw) return; state.isPlanning = true; @@ -1368,23 +1366,6 @@ async function doInterceptAndPlanThenSend(rawSnapshot = '') { function installSendInterceptors() { if (sendListenersInstalled) return; - sendPointerDownHandler = (e) => { - const btn = getSendButton(); - if (!btn) return; - if (e.target !== btn && !btn.contains(e.target)) return; - const ta = getSendTextarea(); - const raw = String(ta?.value ?? '').trim(); - if (!raw) return; - if (state.isPlanning) { - e.preventDefault(); - e.stopImmediatePropagation(); - return; - } - if (!shouldInterceptNow()) return; - e.preventDefault(); - e.stopImmediatePropagation(); - doInterceptAndPlanThenSend(raw).catch(err => toastErr(String(err?.message ?? err))); - }; sendClickHandler = (e) => { const btn = getSendButton(); if (!btn) return; @@ -1395,50 +1376,31 @@ function installSendInterceptors() { return; } if (!shouldInterceptNow()) return; - const ta = getSendTextarea(); - const raw = String(ta?.value ?? '').trim(); - if (!raw) return; e.preventDefault(); e.stopImmediatePropagation(); - doInterceptAndPlanThenSend(raw).catch(err => toastErr(String(err?.message ?? err))); + doInterceptAndPlanThenSend().catch(err => toastErr(String(err?.message ?? err))); }; sendKeydownHandler = (e) => { const ta = getSendTextarea(); if (!ta || e.target !== ta) return; if (e.key === 'Enter' && !e.shiftKey) { if (!shouldInterceptNow()) return; - const raw = String(ta.value ?? '').trim(); - if (!raw) return; e.preventDefault(); e.stopImmediatePropagation(); - doInterceptAndPlanThenSend(raw).catch(err => toastErr(String(err?.message ?? err))); + doInterceptAndPlanThenSend().catch(err => toastErr(String(err?.message ?? err))); } }; - sendKeyupHandler = (e) => { - const ta = getSendTextarea(); - if (!ta || e.target !== ta) return; - if (e.key !== 'Enter' || e.shiftKey) return; - if (!state.isPlanning) return; - e.preventDefault(); - e.stopImmediatePropagation(); - }; - document.addEventListener('pointerdown', sendPointerDownHandler, true); document.addEventListener('click', sendClickHandler, true); document.addEventListener('keydown', sendKeydownHandler, true); - document.addEventListener('keyup', sendKeyupHandler, true); sendListenersInstalled = true; } function uninstallSendInterceptors() { if (!sendListenersInstalled) return; - if (sendPointerDownHandler) document.removeEventListener('pointerdown', sendPointerDownHandler, true); if (sendClickHandler) document.removeEventListener('click', sendClickHandler, true); if (sendKeydownHandler) document.removeEventListener('keydown', sendKeydownHandler, true); - if (sendKeyupHandler) document.removeEventListener('keyup', sendKeyupHandler, true); - sendPointerDownHandler = null; sendClickHandler = null; sendKeydownHandler = null; - sendKeyupHandler = null; sendListenersInstalled = false; }