- Keep recording after a streaming ASR error and retry the captured PCM
through batch ASR before reporting a failure.
- Treat an expired ASR wait as a stall so batch fallback still runs.
- Prime the managed Volcengine stream on mic touch and adopt it only while
fresh and open.
- Auto-scroll the live transcript to the newest recognized text.
- record analytics/usage only in the host app; the extension no longer opens the
SQLite queues, so hiding the keyboard cannot hold WAL locks (0xdead10cc)
- sync clipboard history writes across processes so deletes made on one side
are not reverted by the other
- guard memory-relief reentrancy on controller and telemetry sides to break
the recursive crash loop
- resolve credentials off the main thread and migrate legacy keys once per
install, so Keychain reads cannot be caught in the suspend window
- gate Volcengine ASR ping completion to once (SIGTRAP on double resume)
- treat same-text captures as the same logical copy and dedupe auto actions
by content fingerprint within 30s, stopping Universal Clipboard storms
- realign version line to 2.1.0 (build 110)
Introduce optional Apple account-backed credits with scoped gateway access while preserving local and BYOK paths. Refresh assistant behavior, tests, privacy disclosures, docs, and the website for the 2.0 experience.