diff --git a/package.json b/package.json index 7d12e4c6..f3c50f29 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "automa", - "version": "1.28.14", + "version": "1.28.15", "description": "An extension for automating your browser by connecting blocks", "repository": { "type": "git", diff --git a/src/content/blocksHandler/handlerForms.js b/src/content/blocksHandler/handlerForms.js index 23c4bd85..6490f7d5 100644 --- a/src/content/blocksHandler/handlerForms.js +++ b/src/content/blocksHandler/handlerForms.js @@ -24,6 +24,8 @@ async function forms(block) { async function typeText(element) { if (block.debugMode && data.type === 'text-field') { + element.focus?.(); + const commands = data.value.split('').map((char) => ({ type: 'keyDown', text: char === '\n' ? '\r' : char, diff --git a/src/content/services/shortcutListener.js b/src/content/services/shortcutListener.js index dbcba087..a37866b1 100644 --- a/src/content/services/shortcutListener.js +++ b/src/content/services/shortcutListener.js @@ -7,23 +7,22 @@ Mousetrap.prototype.stopCallback = function () { }; function automaCustomEventListener(findWorkflow) { - window.addEventListener( - 'automa:execute-workflow', - ({ detail }) => { - if (!detail || (!detail.id && !detail.publicId)) return; - - const workflowId = detail.id || detail.publicId; - const workflow = findWorkflow(workflowId, Boolean(detail.publicId)); - - if (!workflow) return; - - workflow.options = { - data: detail.data || {}, - }; - sendMessage('workflow:execute', workflow, 'background'); - }, - true - ); + function customEventListener({ detail }) { + if (!detail || (!detail.id && !detail.publicId)) return; + + const workflowId = detail.id || detail.publicId; + const workflow = findWorkflow(workflowId, Boolean(detail.publicId)); + + if (!workflow) return; + + workflow.options = { + data: detail.data || {}, + }; + sendMessage('workflow:execute', workflow, 'background'); + } + + window.addEventListener('__automaExecuteWorkflow', customEventListener); + window.addEventListener('automa:execute-workflow', customEventListener); } function workflowShortcutsListener(findWorkflow, shortcutsObj) { const shortcuts = Object.entries(shortcutsObj); diff --git a/src/utils/shared.js b/src/utils/shared.js index a2c570b9..c11bce48 100644 --- a/src/utils/shared.js +++ b/src/utils/shared.js @@ -782,6 +782,7 @@ export const tasks = { refDataKeys: [ 'maxLoop', 'loopData', + 'selector', 'startIndex', 'variableName', 'referenceKey', @@ -819,6 +820,7 @@ export const tasks = { maxConnection: 1, refDataKeys: [ 'maxLoop', + 'selector', 'variableName', 'elementSelector', 'actionElSelector', diff --git a/src/workflowEngine/helper.js b/src/workflowEngine/helper.js index d8c044a6..c5df8d15 100644 --- a/src/workflowEngine/helper.js +++ b/src/workflowEngine/helper.js @@ -65,17 +65,8 @@ export function attachDebugger(tabId, prevTab) { if (prevTab && tabId !== prevTab) chrome.debugger.detach({ tabId: prevTab }); - chrome.debugger.getTargets((targets) => { - targets.forEach((target) => { - if (target.attached || target.tabId !== tabId) { - resolve(); - return; - } - - chrome.debugger.attach({ tabId }, '1.3', () => { - chrome.debugger.sendCommand({ tabId }, 'Page.enable', resolve); - }); - }); + chrome.debugger.attach({ tabId }, '1.3', () => { + chrome.debugger.sendCommand({ tabId }, 'Page.enable', resolve); }); }); }