Skip to content

feat(web-ui): add MiniApp shortcuts and context usage overview - #3616

Merged
GCWing merged 1 commit into
mainfrom
gcwing/web-ui-miniapp-context-usage-20261030
Oct 30, 2026
Merged

GCWing merged 1 commit into
mainfrom
gcwing/web-ui-miniapp-context-usage-20261030

Conversation

@GCWing

@GCWing GCWing commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add persistent MiniApp shortcuts below Task Board, with add/remove actions in installed-app menus and details. Preferences are isolated by the selected device, and shortcuts use the existing launch and native-window transfer flow.
  • Open a compact context-composition overview from the composer, including category previews and an explicit action to open the detailed report. Inline reads work during a turn and discard stale device responses.
  • Present context usage against the reported capacity, including unused space and explicit missing/overflow states. Refresh report titles while retaining compatibility with saved panels.
  • Keep lower-pane tabs visible in split canvas layouts and shorten the session-history menu reveal using an opaque surface.
  • Update en-US, zh-CN and zh-TW strings, user guidance, and focused verification instructions.

Type and Areas

Type: Feature, UI/UX, regression fix, tests and docs.

Areas: Shared Web UI, MiniApps navigation, FlowChat context usage, content canvas and session-history menu.

Motivation / Impact

Installed MiniApps can be opened directly from the left navigation. Context usage can be inspected without opening a report tab, while detailed reports show consumption relative to model capacity. Split canvas layouts retain tab actions for lower groups.

Verification

Passed:

  • pnpm run check:web (Web UI type-check, canvas SDK, Appearance, theme color and visual contracts).
  • pnpm run i18n:audit (zero warnings).
  • pnpm --dir src/web-ui run icons:check.
  • pnpm run motion:audit completed as an informational inventory; the changed history menu retains its reduced-motion path.
  • git diff --cached --check before commit and git diff origin/main...HEAD --check after commit.
  • node scripts/check-git-object-sizes.mjs --base origin/main --head HEAD.
  • Focused command below: 28 test files, 420 tests passed.
pnpm --dir src/web-ui run test:run \
  src/app/scenes/miniapps/miniAppNavigationStore.test.ts \
  src/app/scenes/miniapps/hooks/useMiniAppCatalogSync.test.tsx \
  src/app/scenes/miniapps/hooks/miniAppCatalogStartupRefresh.test.ts \
  src/app/scenes/miniapps/hooks/useMiniAppLaunch.test.tsx \
  src/app/scenes/miniapps/components/MiniAppInstalledCard.test.tsx \
  src/app/scenes/miniapps/views/MiniAppLibraryView.navigation.test.tsx \
  src/app/components/NavPanel/components/MiniAppShortcuts.test.tsx \
  src/app/components/NavPanel/MainNav.projectCreation.test.tsx \
  src/flow_chat/components/ChatInputWorkspaceStrip.test.tsx \
  src/flow_chat/services/usageReportService.test.ts \
  src/flow_chat/services/openSessionContextPreview.test.ts \
  src/flow_chat/components/usage/SessionUsageComponents.test.tsx \
  src/flow_chat/components/usage/ToolDefinitionsPreview.test.tsx \
  src/flow_chat/components/usage/usageReportUtils.test.ts \
  src/app/components/panels/content-canvas/hooks/canvasPanelOwnership.test.tsx \
  src/app/components/panels/content-canvas/editor-area/EditorArea.test.tsx \
  src/app/components/panels/content-canvas/CanvasToolbar.test.tsx \
  src/app/components/panels/content-canvas/tab-bar/TabBar.test.tsx \
  src/app/components/SceneBar/SceneBar.test.tsx \
  src/app/stores/sceneStore.test.ts \
  src/app/services/sessionSceneLifecycle.test.ts \
  src/app/hooks/useSessionTabLabels.test.tsx \
  src/shared/ui/MenuPopover.test.tsx \
  src/shared/ui/MenuComposition.contract.test.ts \
  src/infrastructure/appearance/registry/AppearanceRegistry.test.ts \
  src/flow_chat/components/modern/UserMessageItem.test.tsx \
  src/infrastructure/design-system/IconUsageIntegration.test.tsx \
  src/app/startup/startupPreload.test.ts

Remote coverage: local DOM/store fixtures exercise simulated SSH data and workspace restrictions, Peer device switching and stale-response ownership, and the dispatch report source. No live Remote Workspace, Remote Control, Peer Device or Detached Dispatch scenario was exercised. Native rendering, browser/desktop interaction checks and screenshots remain pending per the repository instructions.

Reviewer Notes

AI-assisted. Testing level: lightly tested with focused automated checks; no manual or end-to-end validation.

Based on refreshed origin/main at b15a075a1. The existing context-report implementation from #3614 remains the baseline. Checked all 29 open PRs, including drafts, and inspected overlapping diffs in #3588, #3484, #3580 and #3390; those changes concern compaction, skill availability and loop-detection copy rather than these navigation/overview changes.

New navigation preferences tolerate older empty payloads and unknown fields. Legacy usage-report payload round trips and missing context-capacity behavior are covered by tests. No Rust command, transport contract or dependency changes.

Checklist

  • This PR contains the current Web UI changes and no secrets, temporary prompts, generated scratch files or unrelated artifacts.
  • Relevant verification and skipped manual/live checks are recorded above.
  • User-facing strings, docs and locales are updated where applicable.

@GCWing
GCWing merged commit 9353f01 into main Oct 30, 2026
9 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