qwen-code/packages/cli/src
易良 9163f3b61d
fix(cli): run periodic memory-pressure check in interactive UI to prevent OOM on quit (#6682)
The memory pressure monitor's performCheck() was only invoked after a tool
call completed, so a long interactive session with no tool calls never
triggered compact_history / cache eviction / GC. The heap could grow toward
the V8 limit and hard-OOM during the React unmount on quit (the 'Reached
heap limit Allocation failed' crash seen after /quit or Ctrl+C).

Add a 30s unref'd interval in startInteractiveUI that calls performCheck(),
cleared on cleanup. The quit/cleanup path also runs a final performCheck()
right before instance.unmount() so a near-limit heap is not pushed over the
edge by React reconciliation during unmount.

References: #5147, #4149, #4254.

Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>
2026-07-11 01:25:33 +00:00
..
acp-integration feat(daemon): record & query sub-session parentSessionId; drop isolated scheduled-task mode (#6676) 2026-07-10 17:15:13 +00:00
commands feat(review): give every line of a large diff an accountable reviewer (#6612) 2026-07-10 15:53:09 +00:00
config feat(core): add forceGlobalCacheScope for Anthropic proxy providers (#6643) 2026-07-10 16:35:50 +00:00
core perf(cli): defer startup prefetch tasks (#6303) 2026-07-07 15:31:55 +00:00
dualOutput fix(dual-output): prevent FIFO blocking on startup when no reader connected (#4894) 2026-06-15 06:04:06 +08:00
export feat(vscode-companion): support /export session command (#2592) 2026-04-24 17:55:26 +08:00
i18n fix(cli): localize approval mode UI labels (#6592) 2026-07-11 00:07:03 +00:00
nonInteractive feat(cli): forward ask_user_question answers from SDK can_use_tool (#6655) 2026-07-10 23:53:46 +00:00
patches adh/bugfix/1563 (#4822) 2025-07-25 16:39:37 +00:00
remoteInput fix(cli): preserve partial remote input JSONL records (#6317) 2026-07-04 22:19:58 +00:00
serve feat(cli): workspace-qualified ACP transport (daemon multi-workspace phase 4) (#6621) 2026-07-11 00:24:01 +00:00
services feat(tui): Ctrl+O frozen transcript view and unified tool output rendering (#5666) 2026-07-09 23:40:29 +00:00
startup feat: add qwen update and /update commands with auto-update support (#5780) 2026-07-09 15:11:45 +00:00
test-utils feat(cli): add --project and --global flags to /model for per-project model persistence (#6060) 2026-07-07 04:49:36 +00:00
ui fix(cli): run periodic memory-pressure check in interactive UI to prevent OOM on quit (#6682) 2026-07-11 01:25:33 +00:00
utils fix(core): honor NO_PROXY for model requests (#6640) 2026-07-10 10:41:04 +00:00
cli.test.ts test(cli): isolate cli entry fallback fixture (#6658) 2026-07-10 08:26:02 +00:00
cli.ts feat: add qwen update and /update commands with auto-update support (#5780) 2026-07-09 15:11:45 +00:00
gemini.test.tsx fix(cli): run periodic memory-pressure check in interactive UI to prevent OOM on quit (#6682) 2026-07-11 01:25:33 +00:00
gemini.tsx fix(cli,core): Restore default debug log file output (#6605) 2026-07-10 09:58:41 +00:00
nonInteractiveCli.test.ts feat(daemon): record & query sub-session parentSessionId; drop isolated scheduled-task mode (#6676) 2026-07-10 17:15:13 +00:00
nonInteractiveCli.ts feat(daemon): record & query sub-session parentSessionId; drop isolated scheduled-task mode (#6676) 2026-07-10 17:15:13 +00:00
nonInteractiveCliCommands.test.ts feat(cli): support stacked slash-skill invocations (#6361) 2026-07-07 06:38:04 +00:00
nonInteractiveCliCommands.ts feat(cli): support stacked slash-skill invocations (#6361) 2026-07-07 06:38:04 +00:00
validateNonInterActiveAuth.test.ts feat(auth): discontinue Qwen OAuth free tier (2026-04-15 cutoff) (#3291) 2026-04-15 22:30:20 +08:00
validateNonInterActiveAuth.ts Merge branch 'main' into feat/debug-logging-refactor 2026-02-01 20:47:38 +08:00