fix: Resolve syntax error in WebSocket retry logicβ
Peter Michael Gits+1: Claude
34964d9
- Fixed orphaned except blocks in _connect_websocket_with_retry method
- Removed duplicate exception handling left from refactoring
- Resolves SyntaxError at line 573 causing app startup failure
- Update to v0.8.5 with critical syntax fix
The error occurred when retry logic was moved to separate method
but old exception handlers weren't properly cleaned up.
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add sophisticated exponential backoff retry mechanism (8 attempts, 3-45s delays)
- Implement detailed timing calibration for GPU cold start pattern analysis
- Add comprehensive status code analysis (503=cold start, 403=unavailable, etc.)
- Track connection timing thresholds: <8s=warm, <30s=normal, >60s=loading issues
- Add retry attempt logging with elapsed time tracking for performance debugging
- Provide calibration summaries to identify service state patterns
- Update to v0.8.4 with enhanced WebSocket resilience
This addresses the cold start timing issues where STT services need time to warm up
and provides detailed metrics to calibrate optimal retry parameters.
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
feat: Add STT service preload to prevent cold start delaysβ
Peter Michael Gits+1: Claude
628e022
- Add _preload_stt_service() method to warm up STT model during VoiceCal startup
- Call /preload?model_size=base endpoint to trigger model loading
- Prevent WebSocket HTTP 503 errors caused by cold-starting STT service
- Add timeout handling and detailed logging for preload process
- Update to v0.8.3 with STT service preload warming
Resolves the timing issue where VoiceCal tries to connect before STT service is ready.
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use handle_file() to create proper FileData objects for Gradio API calls
- Fixes "meta field must be explicitly provided" validation error
- Ensures Gradio client passes correctly formatted file metadata
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed "multiple endpoints" error by trying specific endpoint names
- Added support for transcribe_audio endpoint name and function index
- Better error handling for different Gradio result formats
- Enhanced logging for endpoint discovery debugging
- This should fix the HTTP fallback when WebSocket fails with 403
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
fix: Always initialize WebSocket URLs regardless of MCP statusβ
Peter Michael Gits+1: Claude
cdc2e76
- WebSocket URLs were only initialized when MCP failed completely
- Fake MCP success prevented WebSocket fallback initialization
- Now WebSocket/HTTP services are always initialized first
- This ensures STT WebSocket connection is always available
- Fixes "hasattr(self, 'stt_websocket_urls'): False" issue
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
debug: Add WebSocket URL availability debugging to STT serviceβ
Peter Michael Gits+1: Claude
0caa1e7
- Added debug logging to check if stt_websocket_urls is properly initialized
- Will help diagnose why WebSocket connection is being skipped
- Added fallback message when WebSocket URLs are not available
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
fix: Implement correct WebSocket STT protocol and SSL handlingβ
Peter Michael Gits+1: Claude
f7f39b9
- Add SSL context with disabled certificate verification for HF Spaces
- Implement two-step WebSocket STT protocol:
1. Wait for stt_connection_confirmed message
2. Send stt_audio_chunk message
3. Receive stt_transcription response
- Enhanced connection debugging and timeout handling
- Add test script showing WebSocket STT connection working correctly
Fixes WebSocket connectivity issues with pgits-stt-gpu-service.hf.space
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
feat: Add comprehensive WebSocket STT debuggingβ
Peter Michael Gits+1: Claude
3a3cbca
- Detailed debugging for audio file processing and format detection
- WebSocket connection state and parameter logging
- Message sending/receiving debugging with JSON parsing
- Enhanced error handling for different WebSocket exception types
- Connection timeout and failure tracking across multiple URLs
- Audio data validation and base64 encoding verification
Helps identify why WebSocket STT streaming isn't working properly.
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
fix: Improve MCP fallback logic for STT service connectionβ
Peter Michael Gits+1: Claude
f2e8ec0
- Fix HTTP fallback to properly return valid transcription results
- Remove immediate error return when ImportError occurs in MCP client
- Ensure WebSocket/HTTP STT services work when MCP is unavailable
- Addresses "ERROR: MCP STT service failed - no demo mode" issue
- Enables proper unmute.sh methodology with external STT services
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
debug: Add audio debugging to trace 'Thank you very much' source v0.6.1β
Peter Michael Gits+1: Claude
b61f866
DEBUGGING: Add detailed logging to find source of repeated transcription
- Add audio file size and hex dump debugging in WebSocket STT calls
- Add audio tuple content debugging in Gradio audio processing
- Log exact audio data being sent to STT service
- This will help identify if voiceCal is sending wrong/corrupted audio
- or if STT service has internal issues with specific audio content
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
feat: Remove all demo simulation code - REAL STT ONLY v0.6.0β
Peter Michael Gits+1: Claude
4cf4588
MAJOR CHANGE: Complete removal of demo/simulation modes
- Remove all _simulate_stt() and _simulate_stt_with_length() methods
- Remove demo_mode flags and logic throughout MCPAudioHandler
- Force voiceCal to only use real STT services (WebSocket/MCP/HTTP)
- Return clear error messages when STT services fail instead of fake responses
- Update version to 0.6.0 for this breaking change
- No more confusing demo transcriptions that mask real issues
Real Services Only:
β WebSocket STT (primary)
β MCP STT (fallback)
β HTTP STT (final fallback)
β No demo/simulation modes
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
fix: Improve WebSocket stability and prevent spinning v0.5.10β
Peter Michael Gits+1: Claude
54cc854
- Update version to v0.5.10 to trigger fresh deployment
- Add better timeout handling for WebSocket connections (15s connect, 30s response)
- Disable ping_interval to reduce connection overhead
- Improve timeout handling to prevent service from hanging or spinning
- Force deployment refresh to resolve any stuck container issues
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
feat: Add WebSocket STT integration with unmute.sh methodology v0.5.6β
Peter Michael Gits+1: Claude
dee3412
- Implement WebSocket STT service connection following unmute.sh patterns
- Add real-time audio processing with flush trick support
- Update MCP audio handler with WebSocket-first approach
- Support unmute.sh protocol with is_final parameter for latency optimization
- Add fallback chain: WebSocket β MCP β HTTP β Demo mode
- Maintain backward compatibility with existing endpoints
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
feat: Deploy complete VoiceCal application with all files v0.5.6β
Peter Michael Gits+1: Claude
5e8a657
- Add all application files: app.py, requirements.txt, core modules
- Include WebRTC integration and voice service components
- Complete Gradio application ready for Hugging Face deployment
- Comprehensive README with VoiceCal branding and documentation
- All dependencies and Docker configuration included
π€ Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>