Skip to content

feat(web): refine session defaults and chat affordances - #2918

Merged
GCWing merged 1 commit into
mainfrom
gcwing/dev
Sep 9, 2026
Merged

GCWing merged 1 commit into
mainfrom
gcwing/dev

Conversation

@GCWing

@GCWing GCWing commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add backward-compatible fixed/follow-last defaults for the Agent Harness and remember successful ChatInput Harness selections for ordinary new sessions.
  • Keep Assistant, ACP, and explicitly requested modes unchanged while moving New Session into each workspace action strip.
  • Keep user-message timestamps/actions visible at rest, include seconds, and correct single-line OverflowText overflow detection.
  • Update locales, account settings-sync coverage, capability source data, and generated projections.

Type and Areas

Type: Feature / UI/UX / bug fix

Areas: Web UI, design system, config contracts, Desktop/Tauri adapter, remote settings sync, interactive capability documentation

Motivation / Impact

New ordinary sessions can now either follow the last Harness explicitly selected in ChatInput or use a fixed Harness. Session creation is scoped to its owning workspace, message metadata no longer requires hover, and compact single-line labels no longer show false overflow affordances.

Persisted fields are additive. Existing default_mode_id values keep their historical fixed-default meaning, while untouched configurations adopt follow-last behavior with Standard as the initial fallback.

Verification

Passed locally:

  • pnpm run fmt:rs
  • pnpm --dir src/web-ui run test:run src/flow_chat/services/ChatInputModePreferenceService.test.ts src/infrastructure/config/components/DefaultHarnessConfig.test.tsx src/infrastructure/config/components/RuntimeSettingsPages.test.tsx src/flow_chat/services/flow-chat-manager/SessionModule.test.ts src/flow_chat/hooks/useSessionModeSelection.test.tsx src/flow_chat/utils/chatInputMode.test.ts src/app/components/NavPanel/sections/workspaces/WorkspaceListSectionLayout.test.ts src/app/components/NavPanel/unifiedSessionCreation.test.ts src/flow_chat/components/modern/UserMessageItem.test.tsx src/flow_chat/components/modern/UserMessageItemActions.test.ts src/shared/ui/OverflowText.test.tsx — 11 files, 184 tests
  • pnpm run check:web
  • pnpm run design-system:test
  • pnpm run i18n:audit
  • pnpm run check:repo-hygiene
  • cargo test -p openbitfun-config-contracts --lib — 73 passed
  • cargo test -p openbitfun-core --no-default-features --features remote-connect --lib service::remote_connect::settings_sync::tests — 7 passed
  • cargo check -p openbitfun-desktop
  • pnpm run capabilities:generate
  • pnpm run capabilities:test — 15 passed
  • pnpm run capabilities:check
  • git diff --check origin/main...HEAD
  • node scripts/check-git-object-sizes.mjs --base origin/main --head HEAD — 52 blobs checked, no unapproved oversized objects

pnpm run motion:audit also completed as a non-gating inventory and reported one unrelated existing SSH animation item.

No browser/manual visual validation was performed, per repository guidance; source and component tests do not prove final visual fidelity. Account settings-sync serialization and legacy compatibility were exercised, but no end-to-end remote-control session was run. Remote workspace, Peer Device Mode, Detached Dispatch, release/packaging, and real-data paths were not exercised locally.

Reviewer Notes

The default-Harness config uses additive optional fields. Removing a custom Agent clears both fixed and remembered references without deleting user configuration or silently changing a legacy fixed policy.

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 ee4296e into main Sep 9, 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