mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-08-09 00:35:21 +00:00
* fix(cli): surface unhandled rejections and render errors instead of swallowing them Unhandled promise rejections were emitted to AppEvent.LogError which has no production listener, making crashes completely invisible in debug logs and stderr. Additionally, the main App tree had no top-level ErrorBoundary, so React render errors were caught only by Ink's internal boundary which silently exits via exitPromise.catch(noop). - Write unhandled rejection details to the debug logger so they appear in ~/.qwen/debug/<session>.txt - Wrap the interactive UI tree in an ErrorBoundary that logs fatal render errors and shows a fallback message instead of silent exit * fix(cli): address review feedback — normalize non-Error throws and add exit path - Normalize non-Error thrown values (strings, null, etc.) to Error instances in ErrorBoundary before logging/rendering, preventing secondary TypeErrors from sanitizeTerminalText(undefined) - Schedule a graceful exit (5s delay) from the fatal render error fallback so the session does not hang under the Kitty keyboard protocol where Ctrl+C is a keypress, not SIGINT * test(cli): add test for non-Error thrown value normalization in ErrorBoundary --------- Co-authored-by: 秦奇 <gary.gq@alibaba-inc.com> |
||
|---|---|---|
| .. | ||
| acp-bridge | ||
| audio-capture | ||
| channels | ||
| chrome-extension | ||
| cli | ||
| core | ||
| cua-driver | ||
| desktop | ||
| mobile-mcp | ||
| sdk-java | ||
| sdk-python | ||
| sdk-typescript | ||
| vscode-ide-companion | ||
| web-shell | ||
| web-templates | ||
| webui | ||
| zed-extension | ||