* fix(ui-primitives): keep tall menus inside the mobile viewport * fix(client): anchor model picker with Floating UI Use Floating UI for fixed model-menu placement and automatic viewport updates. Preserve top-end alignment and defer automatic focus until placement is ready. Guard asynchronous results across updates and menu teardown. * fix(client): preserve menu blur under pinned group titles Keep the current provider title outside the native scroll viewport so model rows cannot bleed through during fast scrolling. Preserve the enclosing menu fill and backdrop filter, and update both model pickers, lifecycle tests and ARIA goldens. Validation: doc-sync, full build, final type checks, focused lint and all 12 model-picker browser checks pass. The full unit run has 42,597 passing tests and four failures in unchanged gateway, third-party- notices and Inspector tests. The Inspector case passes in isolation. * fix(client): stabilize floating panels during browser zoom * fix(client): keep portal menus aligned during Safari zoom * fix(client): commit floating menu positions before paint * fix(client): unify floating panel positioning * fix(client): validate grouped menu headings * fix(client): hide inactive pinned menu headings * test(client): await floating menu layout across consumers * test(ui-chat): await folded reply menu positioning * test(client): align current consumers with asynchronous panel layout * fix(client): prevent mobile model search focus zoom * refactor(client): inject mobile device state from layout * fix(client): keep anchored panel layout synchronous * fix(client): address panel review coverage and documentation * fix(client): keep viewport changes focused on iOS zoom * fix(client): cover anchored panel lifecycle and scrollbar colors * fix(client): preserve zoomed model menu scrolling and alignment * fix(client): hide empty model menus and stabilize viewport pan tests * test(web): use native wheel input for zoomed viewport panning * fix(client): keep automation pickers scrollable when zoomed * fix(client): allow horizontal gestures across clock columns * fix(client): ellipsize overflowing floating-panel labels * test(web): make clock overflow fixture independent of system fonts --------- Co-authored-by: Zrs000 <[email protected]>
271 lines
9.5 KiB
JSON
271 lines
9.5 KiB
JSON
{
|
|
"extends": "../../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"rootDir": ".",
|
|
"outDir": "lib/types",
|
|
"jsx": "react-jsx",
|
|
"lib": [
|
|
"ES2024",
|
|
"DOM",
|
|
"DOM.Iterable"
|
|
],
|
|
"types": [
|
|
"node"
|
|
]
|
|
},
|
|
"include": [
|
|
"src",
|
|
"scripts",
|
|
"tests"
|
|
],
|
|
// The web e2e lane (scaffold + replay specs) boots the host spine and reads
|
|
// its Context merges — host-plane programs, checked in tsconfig.host.json;
|
|
// this client-registered project must not also hold them (one program
|
|
// cannot see both sides of the cordis Context merges).
|
|
"exclude": [
|
|
"tests/sidebar-drawer.e2e.ts",
|
|
"tests/creation-recommendations.e2e.ts",
|
|
"tests/plugin-recommendations.e2e.ts",
|
|
"tests/japanese-plugin-metadata.e2e.ts",
|
|
"tests/context-menus.e2e.ts",
|
|
"tests/additional-locales.e2e.ts",
|
|
"tests/rich-text-quotes.e2e.ts",
|
|
"tests/hover-input.e2e.ts",
|
|
"tests/collapse-timing.e2e.ts",
|
|
"tests/notice-wake-tail.e2e.ts",
|
|
"tests/fold-blank-matrix.e2e.ts",
|
|
"tests/chat-fold-opened-group.e2e.ts",
|
|
"tests/chat-flow-layout.e2e.ts",
|
|
"tests/layout-bottom.e2e.ts",
|
|
"tests/shortcuts-desktop.e2e.ts",
|
|
"tests/shortcuts-workspace.e2e.ts",
|
|
"tests/shortcuts-panels.e2e.ts",
|
|
"tests/shortcuts-fixed.e2e.ts",
|
|
"tests/shortcuts.e2e.ts",
|
|
"tests/composer-shortcuts.e2e.ts",
|
|
"tests/default-product-isolation.e2e.ts",
|
|
"tests/diff-context.e2e.ts",
|
|
"tests/search-empty-include.e2e.ts",
|
|
"tests/code-card-layout.e2e.ts",
|
|
"tests/code-language.snapshot.ts",
|
|
"tests/scaffold.ts",
|
|
"tests/clock.e2e.ts",
|
|
"tests/connection-recovery.e2e.ts",
|
|
"tests/server-restart.e2e.ts",
|
|
"tests/voice-input.e2e.ts",
|
|
"tests/cot-translation.e2e.ts",
|
|
"tests/cot-translation-paid.e2e.ts",
|
|
"tests/forge-panel.e2e.ts",
|
|
"tests/voice-setup.e2e.ts",
|
|
"tests/voice-download.e2e.ts",
|
|
"tests/prefix-proxy.ts",
|
|
"tests/auto-review-fixture.ts",
|
|
"tests/scaffold-generation.spec.ts",
|
|
"tests/scaffold-hermetic.e2e.ts",
|
|
"tests/startup-rpc-budget.e2e.ts",
|
|
"tests/minimal-preset.snapshot.ts",
|
|
"tests/message-feedback-protocol.snapshot.ts",
|
|
"tests/preset-migration.snapshot.ts",
|
|
"tests/subagent-fork-schedule.snapshot.ts",
|
|
"tests/live-interactions.e2e.ts",
|
|
"tests/question-composer.e2e.ts",
|
|
"tests/question-composer-recommended.e2e.ts",
|
|
"tests/question-ptc.e2e.ts",
|
|
"tests/approval-composer.e2e.ts",
|
|
"tests/ptc-escalation.e2e.ts",
|
|
"tests/standalone-string-editor.e2e.ts",
|
|
"tests/official-subagent-bundle.e2e.ts",
|
|
"tests/plan-control-row.e2e.ts",
|
|
"tests/plan-review.e2e.ts",
|
|
"tests/steering.e2e.ts",
|
|
"tests/navigation-panes.e2e.ts",
|
|
"tests/shell-command-details.e2e.ts",
|
|
"tests/terminal-command-browser.ts",
|
|
"tests/focus-rings.e2e.ts",
|
|
"tests/chat-scroll-fixture.ts",
|
|
"tests/trajectory-virtualization.e2e.ts",
|
|
"tests/lifecycle-chrome.e2e.ts",
|
|
"tests/reasoning-preview.e2e.ts",
|
|
"tests/details-session-lifecycle.e2e.ts",
|
|
"tests/sessionless-header.e2e.ts",
|
|
"tests/document-preview.e2e.ts",
|
|
"tests/file-browser.e2e.ts",
|
|
"tests/file-browser-composition.e2e.ts",
|
|
"tests/excel-opc.e2e.ts",
|
|
"tests/office-fixture.ts",
|
|
"tests/sidebar-browser.e2e.ts",
|
|
"tests/jobs-menu-layering.e2e.ts",
|
|
"tests/plugin-config.e2e.ts",
|
|
"tests/input-plugin-extensions.e2e.ts",
|
|
"tests/plugin-manager.e2e.ts",
|
|
"tests/plugin-market-toolbar.e2e.ts",
|
|
"tests/plugin-sticky-motion.e2e.ts",
|
|
"tests/entry-customization.e2e.ts",
|
|
"tests/cua-optin.e2e.ts",
|
|
"tests/bundle-platform.e2e.ts",
|
|
"tests/cua-permissions.e2e.ts",
|
|
"tests/schedule-header.e2e.ts",
|
|
"tests/schedule-phone.e2e.ts",
|
|
"tests/schedule-pickers.e2e.ts",
|
|
"tests/worktree-opt-in.e2e.ts",
|
|
"tests/session-inspector.e2e.ts",
|
|
"tests/shared-inspector.e2e.ts",
|
|
"tests/inspector-late-enable.e2e.ts",
|
|
"tests/devtools-frontend.e2e.ts",
|
|
"tests/inspector-panels.e2e.ts",
|
|
"tests/inspector-source-build.e2e.ts",
|
|
"tests/plugin-install-cancel.e2e.ts",
|
|
"tests/plugin-install-approve.e2e.ts",
|
|
"tests/plugin-hmr-lifecycle.e2e.ts",
|
|
"tests/plugin-install-registry.e2e.ts",
|
|
"tests/plugin-install-github.e2e.ts",
|
|
"tests/plugin-install-silent-failure.e2e.ts",
|
|
"tests/client-plugin-live.e2e.ts",
|
|
"tests/icon-skin.e2e.ts",
|
|
"tests/draft-initialization.e2e.ts",
|
|
"tests/settings-chrome.e2e.ts",
|
|
"tests/session-log-upload.e2e.ts",
|
|
"tests/caption-overlays.e2e.ts",
|
|
"tests/settings-appearance.e2e.ts",
|
|
"tests/menu-material.e2e.ts",
|
|
"tests/desktop-locale.e2e.ts",
|
|
"tests/settings-import.e2e.ts",
|
|
"tests/desktop-updates.e2e.ts",
|
|
"tests/developer-tools-settings.e2e.ts",
|
|
"tests/models-settings.e2e.ts",
|
|
"tests/deepseek-messages-settings.e2e.ts",
|
|
"tests/model-badge.e2e.ts",
|
|
"tests/deepseek-messages-chat.e2e.ts",
|
|
"tests/models-settings-recovery.e2e.ts",
|
|
"tests/default-model.e2e.ts",
|
|
"tests/model-menu-observer.e2e.ts",
|
|
"tests/default-workspace.e2e.ts",
|
|
"tests/new-session-refused.e2e.ts",
|
|
"tests/github-ready-review.e2e.ts",
|
|
"tests/streaming-fence-highlight.e2e.ts",
|
|
"tests/declared-reasoning.e2e.ts",
|
|
"tests/onboarding-deepseek-config.e2e.ts",
|
|
"tests/onboarding-native.e2e.ts",
|
|
"tests/desktop-onboarding.e2e.ts",
|
|
"tests/bonus-notice.e2e.ts",
|
|
"tests/account-login.e2e.ts",
|
|
"tests/onboarding-usable-provider.e2e.ts",
|
|
"tests/remote-settings.e2e.ts",
|
|
"tests/public-mount.e2e.ts",
|
|
"tests/workspace-new-session-folding.e2e.ts",
|
|
"tests/workspace-management.e2e.ts",
|
|
"tests/workspace-recency.e2e.ts",
|
|
"tests/session-unarchive.e2e.ts",
|
|
"tests/session-archive-active.e2e.ts",
|
|
"tests/replay-round-trip.e2e.ts",
|
|
"tests/session-replay-reload.e2e.ts",
|
|
"tests/hmr-live.e2e.ts",
|
|
"tests/preview-boot.e2e.ts",
|
|
"tests/seeded-history.e2e.ts",
|
|
"tests/stats-paged-history.e2e.ts",
|
|
"tests/stats-truncated-tooltip.e2e.ts",
|
|
"tests/sidebar-scrollbar.e2e.ts",
|
|
"tests/sidebar-alignment.e2e.ts",
|
|
"tests/sidebar-title-hover-scroll.e2e.ts",
|
|
"tests/rail-search-expand.e2e.ts",
|
|
"tests/conversation-column-overflow.e2e.ts",
|
|
"tests/ptc-round.e2e.ts",
|
|
"tests/present.e2e.ts",
|
|
"tests/present-svg.e2e.ts",
|
|
"tests/present-after-closing-reply.e2e.ts",
|
|
"tests/autolink-cjk-punctuation.e2e.ts",
|
|
"tests/composer-draft-scroll.e2e.ts",
|
|
"tests/composer-focus.e2e.ts",
|
|
"tests/composer-placeholder.e2e.ts",
|
|
"tests/context-meter.e2e.ts",
|
|
"tests/cordis-tool-round.e2e.ts",
|
|
"tests/web-search-round.e2e.ts",
|
|
"tests/file-upload-round.e2e.ts",
|
|
"tests/message-actions.e2e.ts",
|
|
"tests/open-in-app-ssh.e2e.ts",
|
|
"tests/fork-mid-turn.e2e.ts",
|
|
"tests/message-feedback.e2e.ts",
|
|
"tests/markdown-images.e2e.ts",
|
|
"tests/markdown-image-refresh.e2e.ts",
|
|
"tests/markdown-file-links.e2e.ts",
|
|
"tests/user-text-secret-mask.e2e.ts",
|
|
"tests/reference-composer.e2e.ts",
|
|
"tests/markdown-wide-table.e2e.ts",
|
|
"tests/thinking-markdown.e2e.ts",
|
|
"tests/math-rendering.e2e.ts",
|
|
"tests/markdown-cjk-strong.e2e.ts",
|
|
"tests/markdown-inline-code-links.e2e.ts",
|
|
"tests/clickable-links-gallery.e2e.ts",
|
|
"tests/queue-actions.e2e.ts",
|
|
"tests/prompt-admission.e2e.ts",
|
|
"tests/idle-submission-handoff.e2e.ts",
|
|
"tests/cold-blank-session.e2e.ts",
|
|
"tests/blank-writer-reuse.e2e.ts",
|
|
"tests/blank-preset-reuse.e2e.ts",
|
|
"tests/queue-image.e2e.ts",
|
|
"tests/skill-invocation-policy.e2e.ts",
|
|
"tests/skill-user-invoke.e2e.ts",
|
|
"tests/skill-menu-plugin-change.e2e.ts",
|
|
"tests/permission-policy-context.e2e.ts",
|
|
"tests/access-confirmation.e2e.ts",
|
|
"tests/agent-preset-selection.e2e.ts",
|
|
"tests/agent-preset-authoring.e2e.ts",
|
|
"tests/shipped-composition.e2e.ts",
|
|
"tests/schedule-after.e2e.ts",
|
|
"tests/schedule-manual.e2e.ts",
|
|
"tests/feedback-command.e2e.ts",
|
|
"tests/feedback-release.e2e.ts",
|
|
"tests/agent-team-panel.e2e.ts",
|
|
"tests/client-ui-stats-panel.e2e.ts",
|
|
"tests/sidebar-right.e2e.ts",
|
|
"tests/sidebar-terminal.e2e.ts",
|
|
"tests/startup-auto-selection.e2e.ts",
|
|
"tests/changed-files-turn.e2e.ts",
|
|
"tests/produced-file-mentions.e2e.ts",
|
|
"tests/goal-bar.e2e.ts",
|
|
"tests/goal-command-presentation.e2e.ts",
|
|
"tests/subagent-conversation.e2e.ts",
|
|
"tests/subagent-interrupt.e2e.ts",
|
|
"tests/subagent-interrupt-ui.e2e.ts",
|
|
"tests/sidebar-subagent-activity.e2e.ts",
|
|
"tests/background-job-list.e2e.ts",
|
|
"tests/live-job-stream.e2e.ts",
|
|
"tests/auto-review-approval.e2e.ts",
|
|
"tests/auto-review-denial.e2e.ts",
|
|
"tests/bash-abort-row.e2e.ts",
|
|
"tests/interrupted-turn.e2e.ts",
|
|
"tests/skill-tool-row.e2e.ts",
|
|
"tests/tool-details.e2e.ts",
|
|
"tests/turn-tail-actions.e2e.ts",
|
|
"tests/goal-multi-turn-actions.e2e.ts",
|
|
"tests/chat-scroll-fixture.ts",
|
|
"tests/chat-scroll-contract.e2e.ts",
|
|
"tests/chat-long-interactions.e2e.ts",
|
|
"tests/chat-continuous-conversation.e2e.ts",
|
|
"tests/composer-tab-geometry.e2e.ts",
|
|
"tests/conversation-view-tabs.e2e.ts",
|
|
"tests/window-drag-coverage.e2e.ts",
|
|
"tests/complex-history.perf.ts",
|
|
"tests/pwsh-terminal.e2e.ts",
|
|
"tests/workflow-run.e2e.ts"
|
|
],
|
|
"references": [
|
|
{ "path": "../../packages/experimental/auto-review" },
|
|
{
|
|
"path": "../../packages/client/store"
|
|
},
|
|
{
|
|
"path": "../../packages/client/web"
|
|
},
|
|
{
|
|
"path": "../../packages/client/modules"
|
|
},
|
|
{
|
|
"path": "../../packages/test-support/client-runtime"
|
|
},
|
|
{
|
|
"path": "../../packages/test-support/remote-mock"
|
|
}
|
|
]
|
|
}
|