Skip to content

Ai - #3205

Merged
abose merged 5 commits into
mainfrom
ai
Sep 17, 2026
Merged

Ai#3205
abose merged 5 commits into
mainfrom
ai

Conversation

@abose

@abose abose commented Sep 17, 2026

Copy link
Copy Markdown
Member

Phoenix intercepted shortcuts such as Alt+Up in the AI panel because terminal keyboard routing only recognized the bottom terminal panel.

Recognize focused terminal instances in either panel so xterm receives their input. Preserve Phoenix's allowed shortcuts, and keep the clear scrollback shortcut and clear-buffer hint specific to the bottom panel.

Add bottom-terminal integration tests for Alt+Up forwarding and the Copy/Paste/Clear context menu. The new menu test checks visibility and enabled states without accessing the clipboard, and restores command states during cleanup.

Validation: Terminal integration suite 15/15 and AI Chat CLI integration suite 22/22 passed in the connected Linux Electron runner; ESLint passed. Windows and macOS execution was not verified.

Phoenix intercepted shortcuts such as Alt+Up in the AI panel because
terminal keyboard routing only recognized the bottom terminal panel.

Recognize focused terminal instances in either panel so xterm receives
their input. Preserve Phoenix's allowed shortcuts, and keep the clear
scrollback shortcut and clear-buffer hint specific to the bottom panel.

Add bottom-terminal integration tests for Alt+Up forwarding and the
Copy/Paste/Clear context menu. The new menu test checks visibility and
enabled states without accessing the clipboard, and restores command
states during cleanup.

Validation: Terminal integration suite 15/15 and AI Chat CLI integration
suite 22/22 passed in the connected Linux Electron runner; ESLint passed.
Windows and macOS execution was not verified.
Bottom-panel terminals kept their working directories when the project
changed, leaving users unaware they could still run commands elsewhere.

Show a project-switch banner with actions to keep existing sessions or
restart every bottom-panel terminal in the current project folder.
Preserve shell profiles, tab order and selection on restart, confirm
active processes, and cancel a pending restart if the project changes
during confirmation. Keep the notice across panel hide/show and remove
it when all terminals close.

Use the existing native path conversion and PTY lifecycle on all desktop
platforms, preserving Windows drive roots. Add localized banner text,
theme-aware styling and six integration tests covering the banner flows.

Validation: all 21 Terminal integration tests passed in the connected
Linux Electron runner. ESLint, CSS compilation and diff checks passed;
dark/light themes and a narrower layout were visually checked.
Windows and macOS native execution was not verified.
The project-switch banner reappeared when users returned to the project
their terminals belonged to. Store each terminal's owning project
separately from its shell directory and hide the banner when all tabs
belong to the current project. Keep the notice for mixed-project tabs
until the last mismatched tab closes.

Keep Terminals only dismisses the banner, preserving both the session
and its project association. Restart All associates replacement tabs
with the chosen project, including when another project switch occurs
while the restart is in progress.

Label the destination path as "Restart in:" and move the restart
explanation into the button tooltip to shorten the banner.

Add coverage for returning to the original project and mixed-project
tabs, and update restart and confirmation tests for the new behavior.
Validation: all 23 Terminal integration tests passed in the connected
Linux Electron runner; ESLint and diff checks passed. Native Windows
and macOS execution was not verified.
@abose
abose merged commit 11f8b2e into main Sep 17, 2026
10 of 18 checks passed
@abose
abose deleted the ai branch September 17, 2026 09:48
@sonarqubecloud

Copy link
Copy Markdown

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