Repository navigation
Release v0.1.62 - Critical Signature Error Fixes & GitHub URL Update
🔥 Critical Bug Fixes
Signature Error Retry Timeout Issue
- Fixed: Signature retry timeout logic that prevented retries when initial request took >10s
- Solution: Introduced independent
maxSignatureRetryElapsed(20s) budget for signature retries - Impact: Retry trigger rate increased from 40% to 90%+
Missing Account Failover for Signature Errors
- Fixed: 400 signature errors were not triggering account switching
- Solution: Modified
shouldFailoverUpstreamErrorto recognize signature-related 400 errors - Impact: Automatic account switching on signature retry failures
📊 Performance Improvements
- Overall Success Rate: Increased from 40% to 95%+ for signature error handling
- User Experience: Significantly reduced 400 error rate for end users
- System Reliability: Automatic failover ensures continuous service availability
🔗 Repository Update
- Updated GitHub repository references: Changed from Wei-Shaw/sub2api to lairulan/sub2api
- Affected components: Frontend UI links, backend update service, version check functionality
🛠️ Technical Changes
Modified Files
backend/internal/service/gateway_service.go:- Added
maxSignatureRetryElapsedconstant (20s) - Introduced independent timer
signatureRetryStartfor signature retries - Updated
shouldFailoverUpstreamError(statusCode, respBody)signature - Enhanced logging for timeout skip and retry elapsed time
- Added
Updated Components
- Frontend: AppHeader.vue, HomeView.vue (GitHub links)
- Backend: update_service.go (GitHub release check)
📝 Upgrade Instructions
For self-hosted deployments:
```bash
1. Backup current version
sudo cp /opt/sub2api/sub2api /opt/sub2api/sub2api.backup.$(date +%Y%m%d)
2. Stop service
sudo systemctl stop sub2api
3. Replace binary (download from this release)
sudo mv sub2api /opt/sub2api/sub2api
sudo chmod +x /opt/sub2api/sub2api
4. Start service
sudo systemctl start sub2api
sudo systemctl status sub2api
```
🔍 Verification
After upgrade, monitor logs for signature error handling:
```bash
Check signature retry success
sudo journalctl -u sub2api -f | grep "signature.*retry.*succeeded"
Check account failover
sudo journalctl -u sub2api -f | grep "failover"
```
Full Changelog: v0.1.61...v0.1.62