Fix browser phone connection and audio issues on Android tablets
All checks were successful
Create Release / build (push) Successful in 6s
All checks were successful
Create Release / build (push) Successful in 6s
Resolves issues where browser phone PWA failed to connect and calls would immediately hang up when answered on Android tablets. Adds proper mobile audio handling, device connection monitoring, and PWA notifications for incoming calls. Key changes: - Add AudioContext initialization with mobile unlock for autoplay support - Add Android-specific WebRTC constraints (echo cancellation, ICE restart) - Add device connection state monitoring and auto-reconnection - Add incoming call ringtone with vibration fallback - Add PWA service worker notifications for background calls - Add Page Visibility API for background call detection - Improve call answer handler with connection state validation - Add touch event support for mobile dialpad 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -72,7 +72,23 @@ self.addEventListener('push', function(event) {
|
||||
|
||||
// Handle messages from the main script
|
||||
self.addEventListener('message', function(event) {
|
||||
console.log('TWP Service Worker: Message received', event.data);
|
||||
|
||||
if (event.data && event.data.type === 'SHOW_NOTIFICATION') {
|
||||
self.registration.showNotification(event.data.title, event.data.options);
|
||||
const options = {
|
||||
body: event.data.body || 'You have a new call waiting',
|
||||
icon: event.data.icon || '/wp-content/plugins/twilio-wp-plugin/assets/images/phone-icon.png',
|
||||
badge: '/wp-content/plugins/twilio-wp-plugin/assets/images/phone-badge.png',
|
||||
vibrate: [300, 200, 300, 200, 300],
|
||||
tag: event.data.tag || 'incoming-call',
|
||||
requireInteraction: event.data.requireInteraction !== undefined ? event.data.requireInteraction : true,
|
||||
data: event.data.data || {}
|
||||
};
|
||||
|
||||
console.log('TWP Service Worker: Showing notification', event.data.title, options);
|
||||
|
||||
event.waitUntil(
|
||||
self.registration.showNotification(event.data.title || 'Incoming Call', options)
|
||||
);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user