fix(app): scroll to active tab when clicked (fixes #11674)#11685
fix(app): scroll to active tab when clicked (fixes #11674)#11685Geralt4 wants to merge 1 commit intoanomalyco:devfrom
Conversation
|
Thanks for your contribution! This PR doesn't have a linked issue. All PRs must reference an existing issue. Please:
See CONTRIBUTING.md for details. |
|
The following comment was made by an LLM, it may be inaccurate: Based on my search, I found a potentially duplicate PR: PR #11676 - "fix(app): scroll review tab into view when clicked while overflowed" This appears to be addressing the same issue as PR #11685. Both PRs are fixing tab scrolling behavior when tabs are overflowed, specifically making the close button accessible by scrolling tabs into view when clicked. This looks like it may be a duplicate of the current PR. |
There was a problem hiding this comment.
Pull request overview
This PR fixes two issues: #11674 (scroll to active tab when clicked) and #11687 (validate paths for unexpanded environment variables on Windows). The changes include tab scrolling functionality, path validation improvements, and various refactoring/cleanup across multiple components.
Changes:
- Added scroll-to-view functionality for overflowed tabs in file/review sections
- Added path validation to detect unexpanded environment variables on Windows
- Refactored multiple components to improve code organization and remove duplication
Reviewed changes
Copilot reviewed 180 out of 1811 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/app/src/components/settings-providers.tsx | Refactored provider notes to use a centralized lookup table and improved type safety |
| packages/app/src/components/settings-permissions.tsx | Extracted rollback logic into a separate function for better code organization |
| packages/app/src/components/settings-models.tsx | Extracted loading and empty state components for reusability |
| packages/app/src/components/settings-mcp.tsx | Added TODO comment for future implementation |
| packages/app/src/components/settings-commands.tsx | Added TODO comment for future implementation |
| packages/app/src/components/settings-agents.tsx | Added TODO comment for future implementation |
| packages/app/src/components/session/session-sortable-terminal-tab.tsx | Replaced setTimeout-based focus with createEffect and requestAnimationFrame |
| packages/app/src/components/session/session-sortable-tab.tsx | Updated to use TooltipKeybind and improved memoization |
| packages/app/src/components/session/session-new-view.tsx | Switched from sync.data.path.directory to sdk.directory |
| packages/app/src/components/session/session-context-metrics.ts | New file: Extracts session context metrics calculation logic |
| packages/app/src/components/session/session-context-metrics.test.ts | New file: Test coverage for session context metrics |
| packages/app/src/components/session/session-context-format.ts | New file: Utility for formatting session context values |
| packages/app/src/components/session/session-context-breakdown.ts | New file: Calculates token usage breakdown for session context |
| packages/app/src/components/session/session-context-breakdown.test.ts | New file: Test coverage for context breakdown calculations |
| packages/app/src/components/session-context-usage.tsx | Refactored to use extracted metrics calculation and added toggle functionality |
| packages/app/src/components/server/server-row.tsx | New file: Reusable component for displaying server connection rows |
| packages/app/src/components/prompt-input/placeholder.ts | New file: Extracted placeholder logic from prompt input component |
| packages/app/src/components/prompt-input/placeholder.test.ts | New file: Test coverage for placeholder logic |
| packages/app/src/components/prompt-input/image-attachments.tsx | New file: Extracted image attachments display component |
| packages/app/src/components/prompt-input/history.test.ts | New file: Test coverage for prompt history functionality |
| packages/app/src/components/prompt-input/editor-dom.ts | New file: DOM manipulation utilities for prompt editor |
| packages/app/src/components/prompt-input/editor-dom.test.ts | New file: Test coverage for editor DOM utilities |
| packages/app/src/components/prompt-input/drag-overlay.tsx | New file: Overlay component for drag and drop operations |
| packages/app/src/components/prompt-input/context-items.tsx | New file: Display component for context items in prompt |
| packages/app/src/components/link.tsx | Changed from button to anchor element with proper href attribute |
| packages/app/src/components/file-tree.test.ts | New file: Test coverage for file tree functionality |
| packages/app/src/components/dialog-settings.tsx | Removed commented out tabs |
| packages/app/src/components/dialog-select-provider.tsx | Consolidated provider notes into a function |
| packages/app/src/components/dialog-select-model-unpaid.tsx | Moved event handler to component scope and removed unused imports |
| packages/app/src/components/dialog-select-mcp.tsx | Refactored status labels into a lookup object and improved error handling |
| packages/app/src/components/dialog-release-notes.tsx | Simplified keyboard handling by moving to onKeyDown prop |
| packages/app/src/components/dialog-manage-models.tsx | Added provider-level visibility toggling and improved sorting logic |
| packages/app/src/components/dialog-fork.tsx | Added error handling with toast notifications |
| packages/app/src/components/dialog-edit-project.tsx | Fixed promise handling and replaced getElementById with ref |
| packages/app/src/addons/serialize.ts | Improved terminal buffer type checking and fixed cursor styling issues |
| packages/app/src/addons/serialize.test.ts | Re-enabled previously skipped tests |
| packages/app/script/e2e-local.ts | Improved cleanup handling and signal management |
| packages/app/playwright.config.ts | Updated network configuration to use 127.0.0.1 instead of localhost |
| packages/app/package.json | Updated version and added unit test scripts |
| packages/app/e2e/**/*.spec.ts | Multiple e2e test improvements and new test files |
| packages/app/bunfig.toml | Added test root configuration |
| package.json | Updated package manager version and dependencies |
| Various README files | Added new language links and updated installation instructions |
| Various .github files | Added vouch system, updated workflows, and improved issue management |
| Various nix files | Updated nix configuration and build scripts |
| Various .opencode files | Updated agent configurations and added glossary files |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Scroll to active tab when clicked (fixes anomalyco#11674) - Validate paths on Windows for unexpanded USERNAME environment variable (fixes anomalyco#11687)
Fixes #11674
Fixes #11687
Summary
Two fixes:
[BUG]: (app): Clicking on overflowed tab on the right in the file view/review section does not scroll it into view #11674: When clicking on an overflowed tab in the file view/review section, the tab is now scrolled into view so the close button becomes accessible. This extends the existing tab scrolling functionality from PR fix(app): file tabs - auto scroll on open & scroll via mouse wheel #11070.
Windows: Preparing apply_patch... Error: apply_patch verification failed: F #11687: Added validation to detect paths containing "USERNAME" which may indicate an unexpanded environment variable or corrupted patch on Windows. This helps diagnose the apply_patch verification failed error.
Changes
Issue #11674 (scroll to active tab when clicked)
Issue #11687 (validate paths for unexpanded environment variables)
Testing
Issue #11674:
Issue #11687: