generated from coulomb/repo-seed
Switch to HTTP Basic Auth and improve PDF detection
- Replace token-based auth with HTTP Basic Authentication per Binect API v1 spec - Improve PDF detection: check current tab first, then background service, fallback to recent downloads - Add password visibility toggle in login form - Add extensive debug logging throughout for troubleshooting - Update manifest with alarms, activeTab permissions and <all_urls> host permission - Add documentation files and development helper scripts - Add Binect API specs for reference Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -13,11 +13,12 @@ let lastDetectedPDF: DetectedPDF | null = null;
|
||||
* Initialize extension on install
|
||||
*/
|
||||
chrome.runtime.onInstalled.addListener((details) => {
|
||||
console.log('[Service Worker] onInstalled event:', details.reason);
|
||||
if (details.reason === 'install') {
|
||||
console.log('BinectChrome installed');
|
||||
console.log('[Service Worker] BinectChrome installed');
|
||||
setupCredentialExpiryAlarm();
|
||||
} else if (details.reason === 'update') {
|
||||
console.log('BinectChrome updated');
|
||||
console.log('[Service Worker] BinectChrome updated');
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25,7 +26,7 @@ chrome.runtime.onInstalled.addListener((details) => {
|
||||
* Handle extension startup
|
||||
*/
|
||||
chrome.runtime.onStartup.addListener(() => {
|
||||
console.log('BinectChrome started');
|
||||
console.log('[Service Worker] onStartup event - BinectChrome started');
|
||||
setupCredentialExpiryAlarm();
|
||||
});
|
||||
|
||||
@@ -60,37 +61,58 @@ async function checkAndDeleteExpiredCredentials() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize badge with default icon
|
||||
*/
|
||||
function initializeBadge() {
|
||||
// Set a default badge to make extension visible
|
||||
chrome.action.setBadgeText({ text: '•' });
|
||||
chrome.action.setBadgeBackgroundColor({ color: '#4A90E2' }); // Binect Blue
|
||||
console.log('[Service Worker] Default badge set');
|
||||
}
|
||||
|
||||
// Initialize badge on load
|
||||
initializeBadge();
|
||||
|
||||
/**
|
||||
* Start PDF detection
|
||||
*/
|
||||
console.log('[Service Worker] Initializing PDF detection...');
|
||||
startPDFDetection((pdf: DetectedPDF) => {
|
||||
console.log('PDF detected:', pdf.filename);
|
||||
console.log('[Service Worker] PDF DETECTED CALLBACK:', pdf.filename);
|
||||
lastDetectedPDF = pdf;
|
||||
|
||||
// Update badge to indicate PDF detected
|
||||
chrome.action.setBadgeText({ text: '1' });
|
||||
chrome.action.setBadgeBackgroundColor({ color: '#4A90E2' }); // Binect Blue
|
||||
|
||||
console.log('[Service Worker] Badge updated, PDF stored in memory');
|
||||
});
|
||||
|
||||
/**
|
||||
* Handle messages from popup
|
||||
*/
|
||||
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||||
console.log('[Service Worker] Message received:', request.action);
|
||||
|
||||
if (request.action === 'getLastPDF') {
|
||||
console.log('[Service Worker] Returning last PDF:', lastDetectedPDF ? lastDetectedPDF.filename : 'none');
|
||||
sendResponse({ pdf: lastDetectedPDF });
|
||||
return true;
|
||||
}
|
||||
|
||||
if (request.action === 'clearLastPDF') {
|
||||
console.log('[Service Worker] Clearing last PDF');
|
||||
lastDetectedPDF = null;
|
||||
chrome.action.setBadgeText({ text: '' });
|
||||
chrome.action.setBadgeText({ text: '•' }); // Reset to default badge
|
||||
sendResponse({ success: true });
|
||||
return true;
|
||||
}
|
||||
|
||||
if (request.action === 'pdfSent') {
|
||||
// Clear badge after successful send
|
||||
chrome.action.setBadgeText({ text: '' });
|
||||
console.log('[Service Worker] PDF sent, resetting badge');
|
||||
// Reset badge after successful send
|
||||
chrome.action.setBadgeText({ text: '•' }); // Reset to default badge
|
||||
sendResponse({ success: true });
|
||||
return true;
|
||||
}
|
||||
@@ -98,4 +120,5 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||||
return false;
|
||||
});
|
||||
|
||||
console.log('BinectChrome service worker loaded');
|
||||
console.log('[Service Worker] ===== BinectChrome service worker loaded =====');
|
||||
console.log('[Service Worker] Timestamp:', new Date().toISOString());
|
||||
|
||||
Reference in New Issue
Block a user