Skip to content

fix: module scan from workspace root, session recovery notice, per-tab copy#4835

Open
eghrhegpe wants to merge 6 commits into
esengine:main-v2from
eghrhegpe:main-v2
Open

fix: module scan from workspace root, session recovery notice, per-tab copy#4835
eghrhegpe wants to merge 6 commits into
esengine:main-v2from
eghrhegpe:main-v2

Conversation

@eghrhegpe

Copy link
Copy Markdown
Contributor

修改内容

1. fix: 模块扫描从 workspace root 开始

  • detectProjectModules 现在优先使用 WorkspaceRoot(),回退到 sessionDir
  • 模块列表加了 \n 换行(之前全黏在一行)

2. feat: session 恢复提示

  • notifyGoalState() 在 controller 启动时检测 goal-state.json
  • 如果有未完成的 goal,emit notice 提示用户

3. feat: per-tab copy(前端)

  • TabBar 右键菜单新增「复制此标签页」,不用切 tab 直接复制目标 tab 内容
  • handleCopyTab(tabId) 读取指定 tab 的状态生成 Markdown
  • 保留原有的「复制所有标签页」

测试

go test ./internal/control/ — PASS
go test ./internal/agent/ — PASS

- detectProjectModules now uses WorkspaceRoot() instead of sessionDir
- Module listing now has proper newlines between entries
- Added notifyGoalState() to read persisted goal state on session start
- TabBar now has onCopyTab(tabId) to copy a specific tab's content
- Right-click menu shows both 'Copy this tab' and 'Copy all tabs'
- handleCopyTab reads the selected tab's state and copies as Markdown
- Added i18n strings for zh/en/zh-TW
@github-actions github-actions Bot added v2 Go rewrite (1.x) — main-v2 branch, active development desktop Wails desktop app (desktop/**) agent Core agent loop (internal/agent, internal/control) labels Jun 18, 2026
Each tab's content in the combined output now starts with ## {title}
so the pasted result is easily navigable.
TaskWarrantsPlanner now strips active-goal blocks and calls
IsSyntheticUserMessage to skip unnecessary planner calls for:
- goalContinueTurn (goal loop auto-continuation)
- goalSelfCheckTurn (strict mode self-check)
- All existing synthetic messages (plan approval, readiness, etc.)

Added stripActiveGoalBlock helper to remove the <active-goal> wrapper
injected by Compose before checking against synthetic patterns.
@eghrhegpe

Copy link
Copy Markdown
Contributor Author

等等,切换计划这种按钮其实是保留上下文的的吗?
只有切换模型才会清空上下文?

Verifies goalContinueTurn and goalSelfCheckTurn wrapped in
active-goal blocks do not trigger the planner, while normal
user input inside an active-goal block still does.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent Core agent loop (internal/agent, internal/control) desktop Wails desktop app (desktop/**) v2 Go rewrite (1.x) — main-v2 branch, active development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant