Skip to content

Release v0.1.62 - Critical Signature Error Fixes & GitHub URL Update

Choose a tag to compare

@0xfaheng 0xfaheng released this 25 Jan 01:36
· 1608 commits to main since this release

🔥 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 shouldFailoverUpstreamError to 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 maxSignatureRetryElapsed constant (20s)
    • Introduced independent timer signatureRetryStart for signature retries
    • Updated shouldFailoverUpstreamError(statusCode, respBody) signature
    • Enhanced logging for timeout skip and retry elapsed time

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