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
|
- **Fix**: Kill old process before starting, or use docker restart to clear state
|
||||||
- **Applies to**: kagentz Agent Zero deployment
|
- **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
|
## Deployment Checklist
|
||||||
|
|
||||||
When deploying a new Zulip adapter, verify:
|
When deploying a new Zulip adapter, verify:
|
||||||
|
|||||||
Reference in New Issue
Block a user