Skip to content

Improve browser sessions, sidebar operations and tool details - #154

Merged
tmoonlight merged 2 commits into
masterfrom
codex/release-v1.0.14-integration
Oct 22, 2026
Merged

tmoonlight merged 2 commits into
masterfrom
codex/release-v1.0.14-integration

Conversation

@tmoonlight

@tmoonlight tmoonlight commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

整合待发布功能:Agent 浏览器 Cookie 三档存储与新标签页、会话多选及批量操作、会话拖入输入框引用、工具详情展示、预览文件定位高亮,以及窄屏侧栏行为和数据目录迁移修复。

为满足现有文件大小限制,将浏览器平台辅助代码和 Cookie bridge 拆为独立模块;保留既有分层和所有权约束。补齐相关 OpenSpec 文档,并更新批量接口的浏览器测试夹具。

验证:Web 全量 3323 项测试与生产构建通过;Windows 全量 6546 项通过、12 项条件跳过、0 失败;Linux ctest 报告 6481 项、0 失败。真实 WebView2 Cookie 与宿主冒烟、46 场景侧栏回归、响应式侧栏/文件定位/工具展示浏览器回归,以及严格分层、所有权、文档路径和 OpenSpec 检查通过。九个平台的打包预检均通过。未执行的 Cookie 菜单及平台行为人工专项仍保留待补验记录。

Copilot AI balanced review requested due to automatic review settings October 22, 2026 15:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Browser-store lifecycle handling remains incomplete for headless session operations and TUI retention cleanup.

2 open issues
1 file not reviewed
  • docs/help/assets/search-index.js: Generated file
What changed in this PR

This PR integrates browser-session storage, sidebar organization, and tool-detail improvements across ACECode’s Desktop, Web, daemon, and TUI surfaces.

Changes:

  • Connect browser cookie lifecycle handling, visit recording, and shared desktop helpers.
  • Add sidebar multi-selection support, batch operations, and drag-to-composer session references.
  • Simplify tool details, add preview-file location controls, and limit responsive auto-collapse to the left sidebar.
File Description
web/​src/​styles/​tool-details.css Styles diff cards with metadata.
web/​src/​styles/​shell-command-card.css Adjusts transcript command-card spacing.
web/​src/​lib/​useAgentBrowserCookieMode.js Shares cookie-mode state and subscriptions.
web/​src/​lib/​transcriptProjection.test.js Updates tool-rendering assertions.
web/​src/​lib/​transcriptProjection.js Restores tool arguments and separate results.
web/​src/​lib/​submenuPosition.js Positions submenus within the viewport.
web/​src/​lib/​sidebarWorkspaceRefresh.test.js Adds batch-operation fixture state.
web/​src/​lib/​sidebarWorkspaceDragArchitecture.test.js Updates multi-selection drag assertions.
web/​src/​lib/​sidebarSessionSelection.test.js Tests selection and batch reordering.
web/​src/​lib/​sidebarSessionSelection.js Implements selection and reorder helpers.
web/​src/​lib/​shortcutBindings.js Defines the preview-file reveal shortcut.
web/​src/​lib/​settingsSearch.test.js Tests cookie-setting discovery.
web/​src/​lib/​settingsSearch.js Indexes cookie-setting search terms.
web/​src/​lib/​sessionTranscript.test.js Verifies non-mutating argument restoration.
web/​src/​lib/​runTests.js Registers new frontend tests.
web/​src/​lib/​richComposerModel.js Creates composer session-reference tags.
web/​src/​lib/​responsiveSidebars.js Restricts automatic collapse to the left sidebar.
web/​src/​lib/​questionFeedback.test.js Updates tool-presentation test dependencies.
web/​src/​lib/​fileTreeLocate.test.js Tests workspace-bound preview location.
web/​src/​lib/​fileTreeLocate.js Derives preview-file location plans.
web/​src/​lib/​desktopContextMenu.test.js Tests reveal actions and preview context.
web/​src/​lib/​connection.js Returns read/unread send outcomes.
web/​src/​lib/​appShortcuts.test.js Tests reveal shortcut matching and context.
web/​src/​lib/​appShortcuts.js Documents the reveal shortcut in-app.
web/​src/​lib/​api.js Adds batch-session and browser-site requests.
web/​src/​i18n/​catalogs.js Includes tool-transcript translations.
web/​src/​components/​ToolDetailMetadata.jsx Renders compact tool metadata.
web/​src/​components/​ShellCommandCard.jsx Adds simplified transcript presentation.
web/​src/​components/​InputBar.jsx Accepts dragged session references.
web/​src/​components/​DesktopContextMenu.jsx Labels file reveal and its shortcut.
web/​src/​components/​ActivityLine.jsx Supports separators and overflow measurement.
web/​src/​App.jsx Installs browser visit recording.
tests/​web/​sidebar_sessions_test.cpp Tests atomic batch moves over HTTP.
tests/​cpp_source_paths.json Maps extracted browser helper sources.
tests/​CMakeLists.txt Adds opt-in cookie-mode smoke testing.
src/​layers.tsv Records scoped Linux ownership exceptions.
src/​domain/​session/​sidebar_tree.hpp Declares atomic multi-node moves.
src/​domain/​session/​sidebar_tree.cpp Implements ordered, atomic multi-node moves.
src/​domain/​session/​session_manager.cpp Emits successful fork notifications.
src/​domain/​session/​session_fork_listeners.hpp Declares the fork-listener contract.
src/​domain/​session/​session_fork_listeners.cpp Implements process-local fork notifications.
src/​base/​environment/​data_dir_migration.hpp Documents both browser-profile directory names.
src/​apps/​web/​server.cpp Registers batch-session and browser routes.
src/​apps/​web/​server_impl.hpp Declares shared batch-operation interfaces.
src/​apps/​tui/​app/​tui_services.hpp Owns the browser-store lifecycle service.
src/​apps/​tui/​app/​tui_services.cpp Initializes TUI browser-store lifecycle handling.
src/​apps/​desktop/​main.cpp Installs the cookie-mode bridge.
src/​apps/​desktop/​agent_browser_host_common.hpp Declares shared browser-host helpers.
src/​apps/​desktop/​agent_browser_host_common.cpp Implements shared browser-host helpers.
src/​apps/​desktop/​agent_browser_cookie_bridge.hpp Declares cookie-bridge installation.
src/​apps/​daemon/​worker.cpp Initializes daemon browser-store lifecycle handling.
src/​adapters/​tool/​agent_browser/​cdp_client.hpp Declares store-task notification support.
src/​adapters/​tool/​agent_browser/​cdp_client.cpp Sends store-task drain requests.
openspec/​changes/​sync-preview-file-to-list/​tasks.md Records file-location work and verification.
openspec/​changes/​sync-preview-file-to-list/​proposal.md Defines preview-file reveal behavior.
openspec/​changes/​sync-preview-file-to-list/​.openspec.yaml Adds change metadata.
openspec/​changes/​simplify-transcript-tool-details/​tasks.md Records tool-detail implementation and validation.
openspec/​changes/​simplify-transcript-tool-details/​proposal.md Defines simplified tool presentation.
openspec/​changes/​simplify-transcript-tool-details/​design.md Documents presentation and history decisions.
openspec/​changes/​simplify-transcript-tool-details/​.openspec.yaml Adds change metadata.
openspec/​changes/​add-sidebar-session-multiselect/​tasks.md Records multi-selection implementation tasks.
openspec/​changes/​add-sidebar-session-multiselect/​proposal.md Defines selection and batch-operation behavior.
openspec/​changes/​add-sidebar-session-multiselect/​.openspec.yaml Adds change metadata.
openspec/​changes/​add-agent-browser-cookie-modes/​.openspec.yaml Adds cookie-mode change metadata.
openspec/​changes/​adapt-sidebars-to-transcript-width/​tasks.md Records left-only collapse validation.
openspec/​changes/​adapt-sidebars-to-transcript-width/​specs/​webui-side-panel/​spec.md Specifies manual right-panel visibility.
openspec/​changes/​adapt-sidebars-to-transcript-width/​proposal.md Updates responsive-sidebar requirements.
docs/​user-manual.md Documents preview-file reveal controls.
docs/​help-source/​sources.json Adds the browser menu as a help source.

Review effort: Balanced

Comment on lines +444 to +445
// Agent Browser 按会话 cookie 存储:会话永久删除 / 分叉时给 Desktop 记待办。
acecode::AgentBrowserStoreLifecycle agent_browser_stores;
workspace_tool_deps->projects_dir = projects;
register_workspace_tools(*tools, workspace_tool_deps);
skill_usage = std::make_shared<SkillUsageStore>(get_acecode_dir() + "/.skill_usage_state.json");
agent_browser_stores = std::make_unique<AgentBrowserStoreLifecycle>();
@tmoonlight
tmoonlight merged commit e641640 into master Oct 22, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants