Changelog
- fb364be Merge pull request #5115 from GTC2080/GTC/fix-desktop-command-wire-contract
- 9af0912 fix: surface desktop command failures
- dbdc248 Merge pull request #5297 from SivanCola/fix/5287-planner-history-integration
- ba8ccc0 Merge pull request #5119 from GTC2080/GTC/fix-desktop-visible-errors
- e3a7ad9 Merge main-v2 into desktop visible error states
- 135abaa fix(desktop): persist planner display history across reload
- d778374 fix(desktop): preserve transcript on settings reload
- 5a60b74 Merge pull request #5291 from SivanCola/fix/desktop-language-replies
- 4debe25 fix(desktop): honor desktop language for replies
- e11741c Merge pull request #5124 from GTC2080/GTC/fix-desktop-p0-stability
- e3a7d38 Merge pull request #5289 from SivanCola/fix/5128-signoff-recovery-integration
- 43f42a1 Merge pull request #5290 from SivanCola/fix/creation-overview-integration
- c1f8fe5 Merge remote-tracking branch 'origin/main-v2' into GTC/fix-desktop-p0-stability
- a5300f9 fix(desktop): settle cancel recovery and session rotation
- 845f883 fix(evidence): drop stale attempted signoff helper
- 5da004b fix(desktop): stabilize creation overview dock
- a29db65 fix(agent): reconcile signoff recovery integration
- 33f50d4 fix(evidence): tighten failed signoff recovery
- 1be1b57 fix(agent): recover todo completion after failed signoff
- 153f0d0 fix: prevent deadlock between complete_step and todo_write (#5128)
- 6ddb595 Merge pull request #5275 from GTC2080/GTC/fix-5229-linux-webkit-software-rendering
- d9374a4 Merge pull request #3695 from taibai233/feature/guardian-subagent
- 736ba3a Merge pull request #5282 from manza7014/fix/stop-hook-cancelled-ctx
- 80d033f guardian: port safety reviewer to current main
- c4a11bf fix: gofmt turn_orchestrator_test.go
- 7abf3e7 test: verify Stop hook receives non-cancelled context on cancellation
- e507555 test: cover Stop hook cancellation contexts
- 89d4c20 fix: also use context.Background() for Stop hook in Controller.Run path
- 3167eaa Merge pull request #5273 from SivanCola/fix/mode-toggle-flap-pr
- 8eeb379 fix(frontend): tolerate missing generated wails bindings
- 506a5f4 fix: use context.Background() for Stop hook on cancellation
- 15552a3 fix(desktop): use global defaults for new sessions
- 6a0b5a9 fix(desktop): disable Linux webview GPU without DRI
- 5d7f726 fix(frontend): preserve auto mode in browser mock
- ec81fd7 fix(frontend): preserve auto approval mode across partial tab snapshots
- 6bbb66e Merge pull request #5262 from lifu963/pr/subagent-cancel-contract
- 105ff37 Fix canceled closed stream handling
- a430ea8 Merge pull request #5248 from ttmouse/pr/fix-chat-switch-flash
- 29577e0 Merge remote-tracking branch 'origin/main-v2' into HEAD
- c103c2c Address hydration bot review findings
- 06a440d Separate hydration placeholders from transcript state
- 0416e31 Merge pull request #5244 from ttmouse/fix/cmd-shortcuts-allow-input-content
- 3818c6c Merge origin/main-v2 into subagent cancellation PR
- 2ba4ce8 test: cover topic shortcuts inside editable fields
- b193d42 Merge pull request #5217 from esengine/feature/memory-v5-compiler
- 5b78ad1 Merge main-v2 into Memory v5 compiler PR
- 75a32c5 Add CLI Memory v5 toggle commands
- 1b04e2f Report Memory v5 in CLI run metrics
- a93440f Document Memory v5 usage and metrics
- 5421590 Adapt Memory v5 metrics for frontend event flow
- 2f2d019 Report Memory v5 aggregate usage metrics
- 5dd5efc Fix Memory v5 bot review regressions
- ce3c510 Merge pull request #5246 from lifu963/pr/plan-mode-policy
- b1326ef Fix plan mode review regressions
- 5ae787e Fix four Memory v5 review issues (no-tool outcome, goal context, reservation, weight cap)
- 948cd3e Merge pull request #5265 from esengine/fix/cli-i18n-test-isolation
- e3b4d2a Distrust MCP readOnlyHint in plan mode (review fix)
- a8c91c4 Fix TestBashMergesLoginShellPath flaking under full-suite load
- 0456f97 Fix cli tests leaking host locale into global i18n state
- 5873ebe Merge pull request #5064 from Zhuocheng-Lang/fix/nvidia-wayland-explicit-sync
- 9059773 Harden plan-mode gate with moderate fail-closed boundary
- 237bdbd Fix Memory v5 hardening gate that disabled compiler and demoted successes
- a0dcd1f add read-only skill delegation
- d449900 Merge pull request #5257 from SivanCola/fix/session-trash-consolidation
- d75a9d8 block source connector in read-only subagents
- b3130ec Remove unused topic index helper
- ec0cbda Merge subagent cancellation contract implementation
- be7c7ef Freeze Memory v5 stable release boundary
- f3cdb9d Fix blank session trash lifecycle
- d87ddb5 add read-only plan-mode subagent
- 89b9a29 Add Memory v6 layer collapse analyzer
- dcc8286 Preserve completed parallel results on cancel
- 1ba4dbd Fix provider chunk sends on cancellation
- 9d3be13 Fix parallel subagent cancellation aggregation
- 0c96d3c Test subagent entrypoint cancellation
- cda3954 Fix stream cancellation on stuck providers
- 1349b9d Guard Memory v5 predictive bias
- 9dc723c Fix session trash fallback conflicts
- 4b54f5e Bridge Memory v5 predictive advisories
- a135b0c Merge pull request #5160 from GTC2080/GTC/fix-tui-mouse-cell-motion
- 234e624 Fix collapsed shell hint mouse copy
- d4b97d5 Add Memory v5 early warning observer
- bd6ec23 Merge pull request #5243 from ttmouse/feat/heartbeat-new-session
- 1b910f8 Fix heartbeat fresh conversation overlap
- 6d79fe9 Decouple Memory v5 observer loop
- dde3588 Monitor Memory v5 causal signal dynamics
- 77cf4c8 Correct Memory v5 compression bias
- f6aca44 Compress Memory v5 causal traces
- b469f9e fix: 修复 Codex review 第2轮反馈
- 8b1b01e fix: 修复 Codex review 指出的 3 个问题
- 8c2512c fix: 经典模式下 openTopicSession/openProjectTab/openGlobalTab 也缺 prevItems 迁移
- b9f6442 Harden Memory v5.9 causal safety
- 2940ad6 perf: onResumeSession 同样改为 fire-and-forget refreshTabMetas
- 3967a71 perf: refreshTabMetas 改为 fire-and-forget,Transcript 不阻塞于侧边栏刷新
- b8637e1 Revert "perf: 合并 9 次 IPC 为单次 HydrateTopic 调用,切换会话快 3x"
- 528c997 perf: 合并 9 次 IPC 为单次 HydrateTopic 调用,切换会话快 3x
- 0ec3d67 允许输入框有内容时 Cmd+1..9 快捷键仍可切换对话
- 48f06c4 assert economy source blocking behavior directly
- 0d884e0 fix: CR 反馈 — executeTask 重试保护 + 移除 min-height
- a40aaa7 fix: 切换标签页时迁移旧 items 作占位,消除 Welcome 闪现
- 6f25d1e cover plan mode economy source blocking
- 605c481 block subagent skill tools explicitly in plan mode
- f4f9965 document plan mode allowed tools migration
- 10bdacf Merge pull request #5241 from esengine/fix/opaque-script-error-reporting
- 24a2d9f feat: 心跳任务新增「每次新建对话」选项
- c9e7a36 Harden Memory v5.9 production runtime
- 7486810 Preserve manual crash severity overrides
- a1cd445 Merge pull request #5238 from ttmouse/pr/doubleclick-rename-topic
- 56a334f Fix project tree double-click routing
- fa010d9 block plan mode bash process controls
- 3401643 Improve opaque script error crash reporting
- 7cfd423 cover actual plan mode writer tool names
- bf54e8c document plan mode override tightening
- ac95619 Add Memory v5.9 production hardening
- 8cef352 apply plan mode policy to economy sources
- d18cab4 align plan mode marker with policy
- fd38efb centralize agent plan mode gate
- f3470b2 add plan mode policy tracer
- 671dd22 Merge pull request #5153 from GTC2080/GTC/fix-5097-new-session-history
- e4a7f43 Add Memory v5.8 typed control semantics
- 29715ae fix: 批量分发 loadSessionDataForTab 结果,消除级联重渲染
- 112618c Merge pull request #5230 from ttmouse/pr/fix-new-conversation-modes
- df9f4d9 fix: 消除切换会话时 Welcome 闪现
- eb067be Add startup active-tab race regression
- 03d9638 Add Memory v5.7 global equilibrium
- ed9b285 Merge pull request #5233 from SivanCola/fix/desktop-workspace-plan-integration
- 025c095 fix: 组件卸载时清理 clickTimerRef 避免空回调
- 8026a8c Address desktop integration review findings
- b99ffc8 Merge pull request #5213 from ttmouse/pr/fix/composer-max-width-4465
- 49034f6 fix: 双击改名时拦截第一下点击的导航跳转
- 4b2eb60 Add Memory v5.6 distributed control plane
- 81bde42 Fix compact composer controls at capped width
- 40a2ee3 fix: 经典模式编辑态保留行高,创作模式双击不改位置
- e6115f6 Integrate desktop workspace and plan persistence fixes
- c32c421 feat: 双击重命名时自动选中输入框全部文本
- 65feb79 Merge pull request #5199 from lifu963/pr/subagent-continue-autofork
- af0ca59 style: 精简重命名输入框样式,用 align-self: stretch 撑满行高
- 604b73c fix(agent): handle legacy subagent fork refs
- c8140dc Add Memory v5.5 control hierarchy
- f450f61 Merge pull request #5223 from SivanCola/fix/default-collapsed-workspace-panel
- 2b5f68b Merge pull request #5125 from qiukeren/main-v2
- d106710 Add Memory v5.4 control stability
- 9606beb fix: 移除输入框激活时的 1px 上移,避免焦点切换轻微位移
- f3a638c Add upgrade success message regression
- 1167d6e Add Memory v5.3 equilibrium controls
- 14fb425 Add Memory v5 turn citations
- 6e4a756 test(agent): cover background ancestor continuation
- d3a697f test(agent): cover background subagent references
- d138d8b feat(agent): simplify subagent continuation interface
- 1be16fc feat(agent): resolve subagent continuations through lineage
- 238cdeb test(agent): trace ancestor subagent continuation
- ab33bad Default workspace panel to collapsed
- fa292b0 Add Memory v5.2 stability layer
- 59bb5e8 Stabilize Memory v5 learning loop
- b2b0b99 fix: scrollbar-gutter: stable both-edges 防止滚动条导致内容偏移
- 8882478 fix: 将 jump-bar 移出 transcript,使用绝对定位避免布局偏移
- 5968a44 Satisfy Memory v5 lint check
- 76c5677 Fix Memory v5 runtime review issues
- 199442e Bind Memory v5 compiler to execution runtime
- eebc3ee fix: 工作台/创作模式下新建对话显示旧对话的问题
- bc89a87 fix: jump-bar 改用绝对定位,不占用 transcript 布局空间
- 0acc680 Add Memory v5 execution compiler
- c987c8c fix: 关闭侧栏后输入框宽度撑满窗口,设置固定最大宽度居中布局
- 4f23e75 feat: 左侧边栏双击对话名称可重命名
- 483d536 Merge pull request #5209 from SivanCola/fix/session-composer-draft
- aaa6579 fix(desktop): keep composer draft async work scoped
- 60a2034 Merge pull request #5208 from ttmouse/fix/progress-panel-collapse-state
- 5844925 fix: TestSessionWrongSignature flaky test — 签名首 nibble 可能已是 0,翻转成空操作
- 030e780 fix(desktop): isolate composer drafts by session
- 8f489b5 Merge pull request #4950 from ttmouse/pr/heartbeat-approval-mode
- da7b4bd fix: 进度面板折叠状态持久化到 localStorage,移除自动弹窗
- 009c4af Fix heartbeat schedule edge cases
- 2d254a0 Merge pull request #5205 from SivanCola/fix/desktop-workspace-resize-integration
- d8ce905 Preserve workspace split during file browsing
- ce79c6d Merge remote-tracking branch 'origin/main-v2' into HEAD
- 1a11358 Fix live workspace dock resizing
- b31b711 Fix heartbeat approval and window scheduling
- 0889e92 Fix workspace preview split edge cases
- cdf7aab Merge latest main-v2 into desktop integration
- 90a3c28 Merge pull request #5203 from esengine/refactor/split-config-god-file
- b79c3e4 Merge pull request #5109 from lifu963/pr/controller-turn-orchestration
- ad640fd Merge PR #5171 resize drag performance
- 656ff9b refactor(config): split the 3120-line config.go god file by concern
- c60c33f Merge PR #5157 workspace split fix
- a05af40 Fix final resize drag flush
- ece0d4e Merge pull request #5195 from esengine/refactor/control-session-path-helpers
- c877815 refactor(control): collapse per-surface session-path wiring into Controller helpers
- 83144f4 chore(desktop): fix resize test whitespace
- ab5e065 test(desktop): include resize drag coverage
- 27356b6 fix(desktop): batch composer resizing
- 9fe8503 fix(desktop): batch panel splitter resizing
- 4bed5f2 fix(desktop): batch root splitter resizing
- a3047b3 test(desktop): add rAF resize updater
- edacf1a fix(tui): preserve native terminal selection
- 9c27591 Merge pull request #5146 from qiaone/serve-next
- 9280fa1 fix(desktop): recompute default files split after preview resize
- ec370d7 fix(desktop): preserve code preview viewport padding
- 624cb84 fix(desktop): account for file tree rail in split sizing
- 9540707 Address serve auth CodeQL findings
- acb19f4 fix(desktop): avoid reusing project topics with history
- 13f7c04 Merge pull request #5152 from esengine/refactor/frontend-overlays-store
- 057856b fix(desktop): keep file tree rail visible in split
- 07d34a3 fix(desktop): restore file tree toggle rail
- 7ee1d00 refactor(desktop): move overlay/modal state into a zustand store
- 1f34772 Merge pull request #5151 from esengine/refactor/frontend-layout-flags
- 2f916b7 fix(desktop): restore flexible files dock resizing
- f704918 refactor(desktop): move right-dock layout config into the zustand store
- b99886d Merge pull request #5150 from esengine/refactor/frontend-layout-store
- e8447a7 Document serve web frontend usage
- f0cdc28 refactor(desktop): extract layout geometry state into a zustand store
- 1f390dd Harden serve authentication configuration
- 9efaffd fix(desktop): keep code preview scrolling local
- 34cd2b9 fix(desktop): stabilize files split view
- 2129bb0 serve: ignore project default_model, use user global config
- 7720361 serve: add live todo panel above composer
- 7e92a3c serve: 添加 goal 模式支持
- ced56ef feat(serve): mobile sidebar toggle + fix balance display
- 535993a serve: add token and password authentication for HTTP frontend
- 1466e44 fix: surface desktop error states
- 5fcae79 fix: stabilize desktop session and cancel flows
- d519a76 fix(cli): show current version in upgrade success message
- 0028c48 Cover checkpoint ordering through public behavior
- da5b171 Cover checkpoint ordering in turn orchestration
- 92b6b4a Cover reference display separation in turn orchestration
- e72e502 Cover foreground turn concurrency semantics
- ff55d5c Move foreground turn lifecycle into orchestrator
- 4a46b81 Introduce turn orchestrator boundary
- 11b6c52 fix(desktop): apply NVIDIA Wayland explicit-sync workaround for WebKitGTK
- b0bc394 style: gofmt 格式化 heartbeat.go 和 write_heartbeat/main.go
- f899bdf fix(heartbeat): 所有 interval 访问加 null 防御
- cd08ab4 fix(heartbeat): 防御 interval 为空时 .match() 崩溃
- c8ce403 fix(heartbeat): 切换周期/间隔模式不再污染 interval 值
- eb6d6f4 fix(heartbeat): 任务卡片周几列表简化
- 74c8359 feat(heartbeat): 任务列表时间展示中文友好
- 0e72bc7 fix(heartbeat): 解决 Codex review 提出的 P1/P2 问题
- b51f31b fix(heartbeat): 编辑时间隔模式初始化修复
- 4707413 refactor(heartbeat): 简化代码
- 6da94c9 fix(heartbeat): 新建任务默认 approvalMode=yolo,后端运行后补齐
- 200cc98 feat(heartbeat): 按间隔模式新增时间窗口限制
- dcf1ff8 fix(heartbeat): 周选择器移至时间右侧,同行显示
- d5b084e fix(heartbeat): 调整周选择器位置和样式
- 0398bf0 feat(heartbeat): 周期编辑器中增加周一到周日激活日选择器
- ad1b457 chore(heartbeat): write_heartbeat 工具同步新增 ApprovalMode 字段
- 0ef1321 fix(heartbeat): 收紧 approvalMode 类型精度
- cfd9286 fix(heartbeat): 权限等级选择器文本走国际化
- a40b100 feat(heartbeat): 自动化任务新增权限等级选择