diff --git a/admin/class-twp-admin.php b/admin/class-twp-admin.php index 3fa0bdb..8643b44 100644 --- a/admin/class-twp-admin.php +++ b/admin/class-twp-admin.php @@ -7016,7 +7016,8 @@ class TWP_Admin {
Ready
-
Connecting...
+
Loading...
+
@@ -7674,6 +7675,7 @@ class TWP_Admin { // Initialize the browser phone function initializeBrowserPhone() { + debugLog('initializeBrowserPhone called'); $('#phone-status').text('Initializing...'); updateConnectionStatus('connecting'); @@ -7751,13 +7753,16 @@ class TWP_Admin { } async function setupTwilioDevice(token) { + debugLog('setupTwilioDevice called'); try { // Check if Twilio SDK is available + debugLog('Twilio check: ' + (typeof Twilio) + ', Device: ' + (typeof Twilio !== 'undefined' ? typeof Twilio.Device : 'N/A')); if (typeof Twilio === 'undefined' || !Twilio.Device) { throw new Error('Twilio Voice SDK not loaded'); } console.log('Setting up Twilio Device...'); + debugLog('Creating Twilio.Device...'); updateConnectionStatus('connecting'); // Request media permissions before setting up device @@ -7807,11 +7812,13 @@ class TWP_Admin { }); console.log('Twilio Device created with audio constraints:', audioConstraints); - + debugLog('Device created, setting up handlers...'); + // Set up event handlers BEFORE registering // Device registered and ready device.on('registered', function() { console.log('Device registered successfully'); + debugLog('Device REGISTERED!'); $('#phone-status').text('Ready').css('color', '#4CAF50'); $('#call-btn').prop('disabled', false); updateConnectionStatus('connected'); @@ -7893,10 +7900,13 @@ class TWP_Admin { }); // Register device AFTER setting up event handlers + debugLog('Calling device.register()...'); await device.register(); - + debugLog('device.register() completed'); + } catch (error) { console.error('Error setting up Twilio Device:', error); + debugLog('ERROR: ' + error.message); showError('Failed to setup device: ' + error.message); } } @@ -8232,14 +8242,28 @@ class TWP_Admin { } }); + // Debug helper + function debugLog(msg) { + console.log('TWP Debug: ' + msg); + var debugEl = $('#twp-debug-info'); + if (debugEl.length) { + debugEl.append(msg + '
'); + } + } + // Check if SDK loaded and initialize + debugLog('jQuery ready'); $(window).on('load', function() { + debugLog('Window loaded'); setTimeout(function() { + debugLog('Checking Twilio: ' + (typeof Twilio)); if (typeof Twilio === 'undefined') { showError('Twilio Voice SDK failed to load. Please check your internet connection and try refreshing the page.'); console.error('Twilio SDK not found. Script may be blocked or failed to load.'); + debugLog('SDK FAILED'); } else { console.log('Twilio SDK loaded successfully'); + debugLog('SDK OK, initializing...'); initializeBrowserPhone(); } }, 1000);