Skip to content

feat: refresh assistant workflows and unify the workbench - #3406

Merged
GCWing merged 7 commits into
mainfrom
gcwing/dev
Oct 16, 2026
Merged

GCWing merged 7 commits into
mainfrom
gcwing/dev

Conversation

@GCWing

@GCWing GCWing commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Summary

Refresh the path from the personal overview and device selection to assistant/project setup and everyday work in the main workbench.

  • Add a personal overview with usage activity, account/device controls, session history, and entry points for Agents, skills and MiniApps.
  • Unify localized assistant naming and durable numbering across Desktop, CLI, mobile and remote-control surfaces while preserving legacy aliases, explicit names and edited session titles.
  • Consolidate scene and contextual-content tabs into a shared two-pane workbench. Move tabs without remounting views, retain document ownership, and coordinate selection, focus, history, header controls and shortcuts.
  • Simplify assistant/project creation and create empty projects under the selected local, peer or SSH host's home directory.
  • Refine device actions, Agent/Harness previews, skills/import flows and related navigation; extend shared SplitView, Select and Button primitives.
  • Vendor Wry 0.56.0 with a macOS drag-routing patch so HTML tab drags reach WebKit while Finder drops retain native paths.

The branch includes current main. Capability projections were regenerated from the combined sources; personal-overview now has its semantic owner, and navigation icon assertions cover MiniApp-specific icons and assistant avatars. Device-switch declaration order, tab-overflow effect dependencies and namespace sorting are corrected; regression contracts now follow the extracted skill components, asynchronous pane navigation and device-scoped workbench layout.

Validation

AI-assisted changes; tested locally with focused contracts. At head 926f00451:

  • Full Web UI suite: 1,001 files / 11,134 tests passed (pnpm --dir src/web-ui run test:run).
  • pnpm run lint:web — passed with 11 warnings and no errors.
  • pnpm run build:web — passed, including Monaco asset and WebKit compatibility validation.
  • pnpm run capabilities:check and pnpm run capabilities:test — passed (16 contract tests).
  • pnpm run type-check:web and pnpm --dir src/mobile-web run type-check — passed.
  • pnpm run check:core-boundaries and pnpm run check:core-boundaries:test — passed (152 tests).
  • pnpm run check:repo-hygiene, pnpm run i18n:audit, pnpm run theme:color-audit:all, pnpm run appearance:contract-audit, and pnpm run theme:visual-contract — passed.
  • Config contracts: 100 Rust tests passed; session naming: 1 test passed; workspace persistence/legacy record round trips: 4 tests passed.
  • pnpm --dir src/web-ui run gen:types — passed, including 39 Rust export tests.
  • node --test design-system/packages/ui/tests/split-view.test.mjs — 2 tests passed.
  • Git object-size check — 575 blobs checked, no unapproved oversized objects; git diff --check origin/main...HEAD passed.

pnpm run check:web stops at 25 pre-existing typography violations in Design Lab and mobile design-system CSS. Every reported file and the typography checker are identical to current main; this PR does not change those files. Its remaining Web checks were run separately and passed as listed above.

The original PR head also passed a macOS Desktop build and the two native Wry drag-routing unit tests. Cross-platform validation: CI run 38834117303.

Coverage limits

  • Remote workspace: mocked SSH project creation, host ownership and missing-home handling; no live SSH/container run.
  • Peer Device Mode: mocked peer home-directory resolution and device-switch fencing; no live peer run.
  • Remote control: no live mobile/IM controller verification.
  • Detached Dispatch: not exercised.
  • No manual browser/computer-use or visual verification was performed.

The Wry override's provenance and upstream removal condition are documented in third_party/wry/OPENBITFUN-PATCH.md. A Desktop rebuild is required to apply the native patch.

GCWing added 6 commits October 14, 2026 17:20
Add animated device previews with explicit connect, switch, and disconnect actions.
Introduce Harness previews and capability cards in Agent details.
Unify assistant avatars while preserving legacy preset aliases.
Preserve persisted Agent bindings across metadata and transcript restoration.
Polish navigation, dispatch status, copy-menu placement, and localized labels.
- Add a personal overview with usage activity, account controls, and shortcuts
  to agents, skills, and MiniApps.
- Simplify assistant navigation with session history and host-persisted default
  sessions while preserving legacy configuration compatibility.
- Refresh skills discovery, external imports, assistant management, and todos;
  share usage activity rendering and MiniApp creation behavior.
- Update locale resources, capability projections, documentation, and tests.

Validation:
- Passed check:web, i18n:audit, icons:check, git diff --check, and the Rust
  assistant default-session legacy configuration round-trip test.
- Focused frontend tests: 408 passed, 3 failed in navigation icon and unified
  session creation assertions.
- capabilities:check fails because personal-overview has no semantic owner.
- Browser/E2E and actual remote scenarios were not exercised.
Centralize localized assistant names with durable numbering and preserve explicit names and user-edited session titles across legacy data.

Align default session naming across Desktop, CLI, mobile clients, and remote control surfaces.

Add overview device cards and shared agent/skill creation dialogs, and refine assistant configuration, catalog presentation, and sidebar selection.
Replace the workspace picker menu with a dialog for project, assistant, and SSH actions. Show the project name in resource navigation and reveal section actions on hover or keyboard focus.

Reorder workspace session actions, use the session creation icon, and consolidate auxiliary panel controls.
- Coordinate pane selection, focus, history and tab moves without remounting views.
- Share canvas header controls and preserve document ownership during tab transfers.
- Simplify project and assistant creation with reusable folder composition and target-host project directories.
- Extend shared SplitView, Select and Button primitives, appearance contracts and locale copy.
- Vendor Wry 0.56.0 to preserve macOS HTML drags alongside native file drops, with boundary audit coverage.

Validation: 409 focused Web UI tests, SplitView package tests, Wry drag-routing tests, the vendored-Wry boundary regression, check:web, check:core-boundaries, check:repo-hygiene, i18n:audit staged whitespace checks and cargo build -p openbitfun-desktop.

Remote scenarios: SSH workspace and peer project-creation paths have mocked unit coverage only; no live remote workspace or peer run. Remote control and Detached Dispatch were not exercised.
@GCWing
GCWing marked this pull request as ready for review October 16, 2026 01:03
@GCWing
GCWing merged commit 6f931e4 into main Oct 16, 2026
14 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