Skip to content

fix(ui): refine agent creation and session navigation - #3590

Merged
GCWing merged 1 commit into
mainfrom
gcwing/agent-session-ui-polish-20261028
Oct 28, 2026
Merged

GCWing merged 1 commit into
mainfrom
gcwing/agent-session-ui-polish-20261028

Conversation

@GCWing

@GCWing GCWing commented Oct 28, 2026

Copy link
Copy Markdown
Owner

Summary

Refine Agent creation and session navigation across the Web UI:

  • Keep internal Agent IDs out of creation forms, use display names in the runtime catalog, and make readonly tool selection explicit with save/cancel and bulk selection.
  • Show assistant history inline and keep the five most recent sessions in each workspace tab, with keyboard access, deletion reconciliation, and device-switch guards.
  • Fix branch-picker keyboard focus and tooltip ownership, display model providers consistently, and offer a direct configuration action when no model exists.
  • Simplify settings descriptions and empty-state presentation; update shared menu/tab primitives, locales, and regression coverage.

Type and Areas

Type: UI/UX, bug fix

Areas: Web UI, design system, Rust Agent tool catalog

Motivation / Impact

Users can create and configure Agents using visible names, return to recent workspace conversations, and navigate menus without stray overflow hints. Existing Agent IDs and host APIs remain compatible; the session-history field is optional for older tabs.

Verification

AI-assisted; tested with focused automated checks. All checks below passed:

  • pnpm run check:web
  • pnpm run fmt:rs
  • cargo test --locked -p openbitfun-core --no-default-features --features agent-runtime,git --lib agentic::tools::implementations::task::tests — 75 passed
  • node --test design-system/packages/ui/tests/icon.test.mjs design-system/packages/ui/tests/icon-slots.test.mjs design-system/packages/ui/tests/tab-group.test.mjs — 31 passed after the design-system build performed by check:web
  • pnpm run i18n:audit — zero warnings
  • pnpm run theme:color-audit:all
  • pnpm run motion:audit — inventory reviewed; existing PortForwardDialog inventory item is outside this change
  • pnpm --dir src/web-ui run icons:check
  • node scripts/check-git-object-sizes.mjs --base origin/main --head HEAD
  • git diff --cached --check
Focused Web UI command — 36 files, 495 tests passed
pnpm --dir src/web-ui exec node scripts/run-vitest.mjs run --maxWorkers=50% \
  src/app/components/NavPanel/sections/workspaces/AssistantSessionHistory.test.tsx \
  src/app/components/NavPanel/sections/workspaces/WorkspaceListSectionLayout.test.ts \
  src/app/components/NavPanel/sections/workspaces/assistantSessionPreferences.test.ts \
  src/app/components/SceneBar/SceneBar.test.tsx \
  src/app/hooks/useSessionTabLabels.test.tsx \
  src/app/scenes/agents/AgentsScene.test.tsx \
  src/app/scenes/agents/components/CreateAgentDialog.test.tsx \
  src/app/scenes/agents/components/CreateAgentPage.presentation.test.ts \
  src/app/scenes/agents/components/ToolGroupPicker.test.tsx \
  src/app/scenes/agents/components/subagentEditorUtils.test.ts \
  src/app/scenes/agents/components/suggestAgentId.test.ts \
  src/app/scenes/personal-overview/PersonalOverviewScene.actions.test.tsx \
  src/app/scenes/session/AuxPaneEmptyState.test.tsx \
  src/app/scenes/settings/pages/ai/MemorySettingsSection.presentation.test.ts \
  src/app/scenes/settings/pages/application/MessageSendingSettingsSection.test.tsx \
  src/app/scenes/settings/pages/shared/ApplicationSettings.presentation.test.ts \
  src/app/services/sessionSceneLifecycle.test.ts \
  src/app/startup/startupPreload.test.ts \
  src/app/stores/sceneStore.test.ts \
  src/flow_chat/components/ModelSelectorAcpMode.test.tsx \
  src/flow_chat/components/ModelSelectorExternal.test.tsx \
  src/flow_chat/components/ModelSelectorProviderLevels.test.tsx \
  src/flow_chat/services/sessionActivation.test.ts \
  src/flow_chat/services/storeSync.test.ts \
  src/infrastructure/appearance/registry/AppearanceRegistry.test.ts \
  src/infrastructure/config/components/AcpAgentsConfig.test.tsx \
  src/infrastructure/config/components/AppearancePackageConfigSection.test.tsx \
  src/infrastructure/config/components/McpToolsConfig.presentation.test.ts \
  src/infrastructure/config/components/McpToolsConfig.test.tsx \
  src/infrastructure/config/components/common/SettingsControlSizing.test.ts \
  src/infrastructure/design-system/IconUsageIntegration.test.tsx \
  src/shared/ui/MenuComposition.contract.test.ts \
  src/shared/ui/MenuPopover.test.tsx \
  src/shared/ui/OverflowText.test.tsx \
  src/tools/git/components/BranchQuickSwitch.test.tsx \
  src/tools/git/components/branchSwitchFailure.test.ts

Reviewer Notes

Local DOM/store tests simulate SSH workspace identities and Peer device switches; no live Remote Workspace, Remote Control, Peer Device, or Detached Dispatch scenario was exercised. Browser/computer-control verification was omitted per the user's instruction.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@GCWing
GCWing merged commit 675ad70 into main Oct 28, 2026
13 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.

1 participant