diff --git a/src/webdrop_bridge/ui/bridge_script_intercept.js b/src/webdrop_bridge/ui/bridge_script_intercept.js index d249a83..6f627aa 100644 --- a/src/webdrop_bridge/ui/bridge_script_intercept.js +++ b/src/webdrop_bridge/ui/bridge_script_intercept.js @@ -65,9 +65,15 @@ // PART 3: Install OUR dragstart handler in capture phase // ============================================================================ - setTimeout(function() { + function installDragHandler() { console.log('[Intercept] Installing dragstart handler, have', angularDragHandlers.length, 'Angular handlers'); + if (angularDragHandlers.length === 0) { + console.warn('[Intercept] No Angular handlers found yet, will retry in 1s...'); + setTimeout(installDragHandler, 1000); + return; + } + // Stop intercepting addEventListener listenerPatchActive = false; @@ -124,7 +130,11 @@ }, true); // Capture phase console.log('[Intercept] dragstart handler installed ✓'); - }, 1500); // Wait for Angular to register its listeners + } + + // Wait for Angular to register its listeners, then install our handler + // Start checking after 2 seconds (give Angular time to load on first page load) + setTimeout(installDragHandler, 2000); // ============================================================================ // PART 3: QWebChannel connection