From 997ece4a59d0f90102937229e1a53c5e00271caa Mon Sep 17 00:00:00 2001 From: Khushi5623 Date: Thu, 2 Apr 2026 15:02:12 +0530 Subject: [PATCH 1/2] Improved scan function by removing dependency on runtime messaging and making it more reliable --- packages/extension/src/popup.js | 37 ++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/packages/extension/src/popup.js b/packages/extension/src/popup.js index 304aedd..014d494 100644 --- a/packages/extension/src/popup.js +++ b/packages/extension/src/popup.js @@ -619,34 +619,37 @@ } } - function scan(force) { - showStatus('Getting extensions…'); + function scan(force) { + showStatus('Getting extensions…'); - chrome.runtime.sendMessage({ action: 'getAllExtensions' }, function (all) { + try { + chrome.management.getAll(function (all) { if (chrome.runtime.lastError || !all) { - chrome.management.getAll(function (fallbackAll) { - if (chrome.runtime.lastError) { - hideStatus(); - showError('Cannot access extensions: ' + (chrome.runtime.lastError.message || 'unknown')); - return; - } - var selfId = chrome.runtime.id; - var filtered = []; - for (var j = 0; j < fallbackAll.length; j++) { - if (fallbackAll[j].type === 'extension' && fallbackAll[j].id !== selfId && fallbackAll[j].enabled) filtered.push(fallbackAll[j]); - } - runScanWithExtensions(filtered, force); - }); + hideStatus(); + showError('Cannot access extensions'); return; } + var selfId = chrome.runtime.id; var exts = []; + for (var i = 0; i < all.length; i++) { - if (all[i].enabled) exts.push(all[i]); + if ( + all[i].type === 'extension' && + all[i].id !== selfId && + all[i].enabled + ) { + exts.push(all[i]); + } } + runScanWithExtensions(exts, force); }); + } catch (e) { + hideStatus(); + showError('Unexpected error while scanning'); } +} function runScanWithExtensions(exts, force) { if (!exts || exts.length === 0) { From 683024a1f0d396dc8d1964b9842fbb04f19e6d6e Mon Sep 17 00:00:00 2001 From: Khushi5623 Date: Thu, 2 Apr 2026 15:10:14 +0530 Subject: [PATCH 2/2] Improve error message for invalid extension input --- packages/extension/src/popup.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/extension/src/popup.js b/packages/extension/src/popup.js index 014d494..850b92d 100644 --- a/packages/extension/src/popup.js +++ b/packages/extension/src/popup.js @@ -153,11 +153,10 @@ function handleScanUrlSubmit() { var raw = scanUrlInput && scanUrlInput.value ? scanUrlInput.value.trim() : ''; var extId = extractExtensionIdFromInput(raw); - if (!extId) { - setScanUrlMessage('Enter a Chrome Web Store URL.', 'error'); - return; - } - + if (!extId) { + setScanUrlMessage('Please enter a valid Chrome Web Store URL or Extension ID.', 'error'); + return; +} setScanUrlMessage('Scanning…', ''); setScanSearchLoading(true); if (scanResultsContent) scanResultsContent.hidden = true;