3 Commits

Author SHA1 Message Date
b95d1dc461 Remove debug logging from browser phone
All checks were successful
Create Release / build (push) Successful in 4s
Debug code was added to diagnose mobile connection issues. The fix
(polling for SDK instead of waiting for window.load) is now working,
so removing the temporary debug output.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 19:27:26 -08:00
59df695530 Fix browser phone init not starting on mobile (window.load not firing)
All checks were successful
Create Release / build (push) Successful in 3s
The window.load event was never firing on mobile tablets, preventing
the browser phone from initializing. Changed to poll for Twilio SDK
availability instead of waiting for window.load event.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 19:12:18 -08:00
03b6e5d70f Add debug logging to browser phone for mobile troubleshooting
All checks were successful
Create Release / build (push) Successful in 4s
Adds visible debug output to track SDK loading and device registration
steps on mobile devices where the phone stays stuck on "Connecting".

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 19:02:03 -08:00

View File

@@ -7016,7 +7016,7 @@ class TWP_Admin {
<div class="phone-interface"> <div class="phone-interface">
<div class="phone-display"> <div class="phone-display">
<div id="phone-status">Ready</div> <div id="phone-status">Ready</div>
<div id="device-connection-status" style="font-size: 12px; color: #999; margin-top: 5px;">Connecting...</div> <div id="device-connection-status" style="font-size: 12px; color: #999; margin-top: 5px;">Loading...</div>
<div id="phone-number-display"></div> <div id="phone-number-display"></div>
<div id="call-timer" style="display: none;">00:00</div> <div id="call-timer" style="display: none;">00:00</div>
</div> </div>
@@ -8233,16 +8233,33 @@ class TWP_Admin {
}); });
// Check if SDK loaded and initialize // Check if SDK loaded and initialize
// Poll for Twilio SDK availability (window.load may not fire on mobile)
var sdkCheckAttempts = 0;
var maxSdkCheckAttempts = 50; // 5 seconds max
function checkAndInitialize() {
sdkCheckAttempts++;
if (typeof Twilio !== 'undefined' && Twilio.Device) {
console.log('Twilio SDK loaded successfully');
initializeBrowserPhone();
} else if (sdkCheckAttempts < maxSdkCheckAttempts) {
// Keep checking every 100ms
setTimeout(checkAndInitialize, 100);
} else {
showError('Twilio Voice SDK failed to load. Please check your internet connection and try refreshing the page.');
console.error('Twilio SDK not found after ' + sdkCheckAttempts + ' attempts.');
}
}
// Start checking after a brief delay
setTimeout(checkAndInitialize, 500);
// Also keep the window.load as backup for desktop
$(window).on('load', function() { $(window).on('load', function() {
setTimeout(function() { if (typeof Twilio !== 'undefined' && !device) {
if (typeof Twilio === 'undefined') { initializeBrowserPhone();
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.');
} else {
console.log('Twilio SDK loaded successfully');
initializeBrowserPhone();
}
}, 1000);
}); });
// Clean up on page unload // Clean up on page unload