🚀 New Features: - Real-time IRC-style text chat with commands (/me, /clear, /help, etc.) - Full mobile optimization with responsive design and touch controls - Performance monitoring and adaptive video quality - Configuration-driven settings with config.json 💬 Chat System: - IRC-style formatting with timestamps and usernames - Mobile full-screen chat overlay - Join/leave notifications and system messages - Message history with automatic cleanup - Desktop side panel + mobile overlay sync 📱 Mobile Optimizations: - Touch-friendly controls with emoji icons - Progressive Web App meta tags - Orientation change handling - Mobile-optimized video constraints - Dedicated mobile chat interface ⚡ Performance Improvements: - Adaptive video quality based on network conditions - Video element pooling and efficient DOM operations - Connection quality monitoring with visual indicators - Enhanced peer connection management and cleanup - SDP optimization for better codec preferences 🔧 Technical Changes: - Renamed main.js to script.js for better organization - Added comprehensive configuration system - Fixed port mismatch (3232) and dynamic connection handling - Improved ICE candidate routing and WebRTC stability - Enhanced error handling and resource cleanup 🎨 UI/UX Improvements: - Modern responsive design with light/dark themes - Connection quality indicator in header - Better button styling with icons and text - Mobile-first responsive breakpoints - Smooth animations and touch feedback
58 lines
1.4 KiB
JSON
58 lines
1.4 KiB
JSON
{
|
|
"server": {
|
|
"port": 3232,
|
|
"ssl": true,
|
|
"rejectUnauthorized": false
|
|
},
|
|
"webrtc": {
|
|
"iceServers": [
|
|
{ "urls": "stun:stun.l.google.com:19302" },
|
|
{ "urls": "stun:stun1.l.google.com:19302" }
|
|
]
|
|
},
|
|
"ui": {
|
|
"maxUsernameLength": 20,
|
|
"defaultTheme": "light",
|
|
"showSelfViewByDefault": false
|
|
},
|
|
"media": {
|
|
"defaultVideoEnabled": true,
|
|
"defaultAudioEnabled": true,
|
|
"videoConstraints": {
|
|
"video": {
|
|
"width": { "ideal": 640, "max": 1280 },
|
|
"height": { "ideal": 480, "max": 720 },
|
|
"frameRate": { "ideal": 15, "max": 30 }
|
|
},
|
|
"audio": {
|
|
"echoCancellation": true,
|
|
"noiseSuppression": true,
|
|
"autoGainControl": true
|
|
}
|
|
},
|
|
"adaptiveQuality": {
|
|
"enabled": true,
|
|
"profiles": {
|
|
"low": { "width": 320, "height": 240, "frameRate": 10, "bitrate": 150000 },
|
|
"medium": { "width": 640, "height": 480, "frameRate": 15, "bitrate": 500000 },
|
|
"high": { "width": 1280, "height": 720, "frameRate": 30, "bitrate": 1500000 }
|
|
},
|
|
"defaultProfile": "medium"
|
|
}
|
|
},
|
|
"performance": {
|
|
"maxConnections": 8,
|
|
"enableStats": true,
|
|
"statsInterval": 5000,
|
|
"connectionTimeout": 30000,
|
|
"iceGatheringTimeout": 10000
|
|
},
|
|
"chat": {
|
|
"enabled": true,
|
|
"maxMessageLength": 500,
|
|
"maxHistoryLength": 1000,
|
|
"showTimestamps": true,
|
|
"allowEmoji": true,
|
|
"autoScroll": true
|
|
}
|
|
} |