diff --git a/browser-extension/popup/popup.js b/browser-extension/popup/popup.js index 8c7ae997..22f82558 100644 --- a/browser-extension/popup/popup.js +++ b/browser-extension/popup/popup.js @@ -109,18 +109,22 @@ sendFileBtn.addEventListener('click', async () => { credentials: 'include' }); - const result = await response.json(); - if (response.ok) { + const result = await response.json(); showStatus( `✓ File sent successfully! Task ID: ${result.task_id}\nFilename: ${result.filename}`, 'success' ); } else { - showStatus( - `Error: ${result.detail || 'Failed to send file'}`, - 'error' - ); + // Try to parse JSON error, fall back to status text + let errorMessage = 'Failed to send file'; + try { + const result = await response.json(); + errorMessage = result.detail || errorMessage; + } catch (e) { + errorMessage = `HTTP ${response.status}: ${response.statusText}`; + } + showStatus(`Error: ${errorMessage}`, 'error'); } } catch (error) { showStatus( diff --git a/browser-extension/scripts/background.js b/browser-extension/scripts/background.js index 90f90eaa..8fc110da 100644 --- a/browser-extension/scripts/background.js +++ b/browser-extension/scripts/background.js @@ -4,13 +4,18 @@ chrome.runtime.onInstalled.addListener((details) => { if (details.reason === 'install') { console.log('DocuElevate extension installed'); - // Open options page on first install - chrome.tabs.create({ - url: chrome.runtime.getURL('popup/popup.html') - }); + // Note: We don't open the popup automatically to avoid poor UX + // User can click the extension icon to configure } else if (details.reason === 'update') { console.log('DocuElevate extension updated'); } + + // Create context menu item + chrome.contextMenus.create({ + id: 'send-to-docuelevate', + title: 'Send to DocuElevate', + contexts: ['link', 'page'] + }); }); // Listen for messages from content script or popup @@ -59,15 +64,6 @@ async function handleSendUrl(data) { return await response.json(); } -// Add context menu item for sending URLs -chrome.runtime.onInstalled.addListener(() => { - chrome.contextMenus.create({ - id: 'send-to-docuelevate', - title: 'Send to DocuElevate', - contexts: ['link', 'page'] - }); -}); - // Handle context menu clicks chrome.contextMenus.onClicked.addListener(async (info, tab) => { if (info.menuItemId === 'send-to-docuelevate') { diff --git a/browser-extension/scripts/content.js b/browser-extension/scripts/content.js index 89db0e3b..72face41 100644 --- a/browser-extension/scripts/content.js +++ b/browser-extension/scripts/content.js @@ -12,9 +12,7 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { title: document.title }; sendResponse(pageInfo); - return true; // Indicates response will be sent asynchronously } - return false; // No async response }); // Detect if current page is a direct file link