Repository navigation
feat(web-ui): customize navigation and add session trajectory - #3624
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
Add configurable sidebar destinations and a searchable session trajectory, and move External import into Settings → Tools & integrations.
session_trajectory_v1capability. Older peers retain an explicit partial view.Type and Areas
Type: Feature / UI/UX
Areas: Web UI, design-system icons, session storage projections, Desktop/Tauri, CLI Peer host, remote capability contracts, i18n, docs.
Motivation / Impact
Users can keep frequently used pages in the sidebar and inspect long conversations without rendering the full transcript. External import now shares the settings layout while historical links continue to resolve.
Verification
Passed locally:
pnpm run check:web— type checking, Appearance, typography, theme color and visual contracts.pnpm --dir src/web-ui run lint— zero errors (16 existing warnings). After correcting the trajectory hook dependencies, lint andpnpm --dir src/web-ui exec tsc --noEmitpassed in an isolated checkout.pnpm --dir src/web-ui exec vitest run src/flow_chat/trajectory src/flow_chat/components/modern/VirtualMessageList.session-boundary.test.tsx src/flow_chat/components/modern/useFlowChatSearchPresentation.test.tsx— 132 tests passed in the isolated checkout, including summary-read stability across live session updates.pnpm --dir src/web-ui exec vitest run src/infrastructure/design-system/IconUsageIntegration.test.tsx src/flow_chat/components/modern/useFlowChatNavigation.focus.test.tsx src/flow_chat/components/modern/useFlowChatSearchPresentation.test.tsx— 17 tests passed, including focus request/release identity and the current shared-icon consumers.pnpm --dir src/web-ui exec vitest run src/flow_chat/components/usage/SessionUsageComponents.test.tsx src/flow_chat/components/usage/ToolDefinitionsPreview.test.tsx src/flow_chat/components/usage/usageReportUtils.test.ts— 93 tests passed.cargo check --locked -p openbitfun-desktop.cargo test --locked -p openbitfun-cli --bin openbitfun peer_host::— 105 tests passed.cargo test --locked -p openbitfun-services-core --no-default-features --features local-storage --lib session::trajectory— 3 tests passed.cargo test --locked -p openbitfun-product-domains --no-default-features remote_surface— 20 tests passed.pnpm --dir design-system run build:uiand theicon.test.mjs/icon-slots.test.mjsfixtures — 19 tests passed.pnpm run i18n:audit,pnpm run check:core-boundaries,pnpm run capabilities:check,pnpm run capabilities:test.pnpm run fmt:rs,git diff --cached --check, andnode scripts/check-git-object-sizes.mjs --base origin/main --head HEAD.Reviewer Notes
AI-assisted; tested with focused automated checks. Native visual checks remain pending; no browser or computer-use verification was performed, per the user's instruction.
Remote coverage is limited to automated fixtures for SSH workspace identity/routing, simulated Peer activation and old-host capability gating, plus CLI peer handler contracts. No live SSH, Remote Control, Peer Device, or Detached Dispatch environment was exercised. The trajectory is an observer and adds no runtime dependency to headless jobs.
Checklist