Add Actions dropdown menu to ShellV2 header#2253
Merged
Conversation
…ptions - Create ShellActionsMenu component with Headless UI Menu dropdown - Create SshConnectionModal for SSH target parameter input - Move Export button from ShellHeader into the dropdown menu - Add New Portal option that sets shell input to pivot.create_portal() - Add SSH option (opens modal) and PTY option, disabled when no portal active - Disabled items show tooltip explaining portal requirement on hover - Add setShellInput callback to useShellTerminal for programmatic input - Update ShellHeader tests for new props and menu interaction Agent-Logs-Url: https://github.com/spellshift/realm/sessions/42859a04-b2a3-4b27-9b5f-a9b0f817184d Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
…Click handlers Agent-Logs-Url: https://github.com/spellshift/realm/sessions/42859a04-b2a3-4b27-9b5f-a9b0f817184d Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
KCarretto
April 17, 2026 02:01
View session
… Portal when active, update SSH placeholder - Replace "Actions" button with Ellipsis icon from lucide-react - Move ShellActionsMenu after active users display (rightmost in header) - Dropdown now opens aligned to the right - Disable "New Portal" when a portal is already active, with tooltip - Update SSH target placeholder to "user:password@host:port" - Fix test to use aria-label selector for the new icon button Agent-Logs-Url: https://github.com/spellshift/realm/sessions/8e141a31-b1f8-445c-a0f5-a5f7b32ea8b3 Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
…as space to grow - Replace Button wrapper on menu trigger with plain button element - Ellipsis icon is now white text, with subtle hover background - Active users section uses min-w-0 and overflow-x-auto to grow - ShellActionsMenu wrapped in flex-shrink-0 so it stays rightmost Agent-Logs-Url: https://github.com/spellshift/realm/sessions/0fb22aed-bebc-4524-8b55-5af194b9bfdd Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
… on tab switch - When portal is active, show "Close Portal" (red, X icon) calling closePortal GraphQL mutation instead of a disabled "New Portal" button - When no portal, show "New Portal" as before - Add ResizeObserver to REPL terminal so it properly resizes when switching back from PTY/SSH tabs (matching PtyTerminal's existing approach) Agent-Logs-Url: https://github.com/spellshift/realm/sessions/6315146a-f09f-4e37-a5ff-79275a2fcf17 Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
HeadlessUI Menu restores focus to Menu.Button after item click, overriding the term.focus() in setShellInput. Added a focusTerminal helper and setTimeout(0) in handleNewPortal to refocus after the menu's focus restoration completes. Agent-Logs-Url: https://github.com/spellshift/realm/sessions/050a6291-7219-4358-b85b-8a1d4d0109a2 Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
When a portal closes, sendPortalClose now queries all open ShellPivots associated with the portal, marks them as closed in the DB, and sends a stream-specific CLOSE mote for each pivot so SSH/PTY sessions receive the shutdown signal before sending the portal-level CLOSE mote. Agent-Logs-Url: https://github.com/spellshift/realm/sessions/af07f1fd-9019-41f3-a6ec-ad3cd74f8173 Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
Agent-Logs-Url: https://github.com/spellshift/realm/sessions/066f875f-0522-4de9-88c0-b1367e1e67f6 Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
…hell header Move bug nub after active user icons and add NotificationBell between bug nub and ellipsis menu. Add WifiOff icon to portal tabs whose SSH/PTY connections have disconnected. Agent-Logs-Url: https://github.com/spellshift/realm/sessions/066f875f-0522-4de9-88c0-b1367e1e67f6 Co-authored-by: KCarretto <16250309+KCarretto@users.noreply.github.com>
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.
api_create_portal.go)WifiOfficon to portal tabs whose SSH/PTY connections have disconnectedonConnectionStatusChangecallback prop toSshTerminalandPtyTerminalShellV2indexWifiOfficon with "Disconnected" tooltip on disconnected portal tabs