()
| 73 | |
| 74 | // Fallback to inline implementation if modules fail |
| 75 | async function initializeFallbackTracking() { |
| 76 | try { |
| 77 | console.log('InverseUI: Falling back to inline tracking implementation'); |
| 78 | |
| 79 | // Import required modules for fallback |
| 80 | const { getXpaths } = await import(chrome.runtime.getURL('util/xpath_utils.js')); |
| 81 | const { initializeRecording } = await import(chrome.runtime.getURL('modules/recording.js')); |
| 82 | |
| 83 | // Initialize inline tracking |
| 84 | initializeRecording(getXpaths); |
| 85 | |
| 86 | console.log('InverseUI: Fallback inline tracking initialized'); |
| 87 | } catch (error) { |
| 88 | console.error('Failed to initialize fallback tracking:', error); |
| 89 | console.error('Fallback error message:', error.message); |
| 90 | console.error('Fallback error stack:', error.stack); |
| 91 | console.error('InverseUI: Content script initialization failed completely'); |
| 92 | } |
| 93 | } |
| 94 | |
| 95 | // Initialize on DOM ready |
| 96 | if (document.readyState === 'loading') { |
no test coverage detected