feat: add 2 new failure modes — rate limiting and streaming fallback
- Rate limiting during reconnection (429): honor retry-after headers - Placeholder edit fails silently: fallback to sending as new message - Both fixes deployed to pi Zulip extension
This commit is contained in:
@@ -57,6 +57,18 @@ description: >
|
||||
- **Fix**: Kill old process before starting, or use docker restart to clear state
|
||||
- **Applies to**: kagentz Agent Zero deployment
|
||||
|
||||
### 9. Zulip API Rate Limiting During Reconnection
|
||||
- **Symptom**: Extension gets 429 errors and can't reconnect — responses vanish
|
||||
- **Root cause**: Rapid PM2 restarts cause multiple queue registrations, hitting Zulip's per-IP rate limit
|
||||
- **Fix**: Read `retry-after` header and wait before retrying; increase backoff between retries
|
||||
- **Applies to**: pi extension (fixed), Hermes adapter (has retry logic but should check retry-after)
|
||||
|
||||
### 10. Placeholder Edit Fails Silently (Streaming Vanishes)
|
||||
- **Symptom**: User sees "Thinking..." placeholder but never gets the actual response
|
||||
- **Root cause**: `editMessage` API call fails (e.g., message too old, rate limited) but no fallback
|
||||
- **Fix**: If edit fails, send the response as a new message instead
|
||||
- **Applies to**: pi extension (fixed), Hermes adapter (verify edit fallback exists)
|
||||
|
||||
## Deployment Checklist
|
||||
|
||||
When deploying a new Zulip adapter, verify:
|
||||
|
||||
Reference in New Issue
Block a user