fix(browser): improve error handling and code quality
- Fix response.json() called before checking response.ok in popup.js - Consolidate duplicate onInstalled listeners in background.js - Remove unnecessary return true from content.js message handler - Add better error handling for non-JSON responses - Improve user experience by not auto-opening popup on install Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
@@ -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') {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user