v0.3.48 — Community Issue Fixes
Bug Fixes
- Fix Chromium detection for Browser hand — now checks env vars, PATH, well-known install paths, and Playwright cache (#549)
- Fix Gemini 2.5 Flash empty responses — handle thinking model
thought: trueparts correctly (#550) - Fix Twitter hand textbox not editable — API key inputs are now proper password fields (#551)
- Fix Slack threading — extract thread_ts, implement send_in_thread(), add was_mentioned metadata (#552)
- Fix EOF parse error classified as non-retryable — empty response bodies now retry as Overloaded (#535)
- Fix tool calls still showing as text — add 4 new recovery patterns: plugin blocks, Action/Action Input, bare name+JSON, tool_use tags (#537)
- Fix WhatsApp gateway silent disconnects — all disconnect reasons except loggedOut now auto-reconnect with backoff, auto-connect on startup if credentials exist (#555)
- Fix OPENFANG_API_KEY env var not picked up — works in both kernel and CLI as fallback (#557)
Features
- Add Qwen Code CLI as LLM provider with 3 models, auth detection, and full streaming support (#558)
Stats: 2,103 tests, 0 clippy warnings, 17 files changed