feat(web): refine session defaults and chat affordances - #2918
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
OverflowTextoverflow detection.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_idvalues 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:rspnpm --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 testspnpm run check:webpnpm run design-system:testpnpm run i18n:auditpnpm run check:repo-hygienecargo test -p openbitfun-config-contracts --lib— 73 passedcargo test -p openbitfun-core --no-default-features --features remote-connect --lib service::remote_connect::settings_sync::tests— 7 passedcargo check -p openbitfun-desktoppnpm run capabilities:generatepnpm run capabilities:test— 15 passedpnpm run capabilities:checkgit diff --check origin/main...HEADnode scripts/check-git-object-sizes.mjs --base origin/main --head HEAD— 52 blobs checked, no unapproved oversized objectspnpm run motion:auditalso 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