Skip to content

fix: terminal/browser panels open behind agent panel in single mode#193

Merged
flazouh merged 2 commits into
flazouh:mainfrom
liyakhar:fix/project-header-icon-hover
May 17, 2026
Merged

fix: terminal/browser panels open behind agent panel in single mode#193
flazouh merged 2 commits into
flazouh:mainfrom
liyakhar:fix/project-header-icon-hover

Conversation

@liyakhar

@liyakhar liyakhar commented May 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Terminal and browser panels now open correctly in single-panel view mode instead of being hidden behind the agent panel. A secondary fix removes the group-hover fade effect on project header action icons so each icon highlights independently.

What changed

Panel store: terminal/browser as first-class top-level panels (panel-store.svelte.ts)

Terminal and browser panels are stored outside workspacePanels, but 3 key mechanisms only checked workspacePanels when resolving targets:

  1. isTopLevelFullscreenTarget — didn't recognize terminal/browser panel IDs, routing them through the wrong fullscreen path.
  2. focusOpenedTopLevelPanel — couldn't resolve project paths for terminal/browser panels, leaving focusedViewProjectPath unset and the panel invisible.
  3. topLevelPanelsWithProject in panels-container.svelte — missed terminal/browser panels entirely, so single-mode view state fell back to the agent panel as fullscreen target.

All 3 sites now include terminal and browser panels. A new resolveTopLevelPanelProjectPath helper unifies the project-path lookup across workspace, terminal, and browser panels.

Project header icon hover (session-list-ui.svelte)

projectHeaderHoverActionButtonClass previously used opacity-50 group-hover:opacity-100, causing all 3 folder/terminal/browser icons to fade in together on row hover. Now each icon uses only per-icon hover:bg-accent hover:text-foreground, matching the rest of the app's icon hover behavior. transition-all narrowed to transition-colors.

CI note

The Frontend CI job fails on main (pre-existing runed/bun-test ESM resolution issue). Unrelated to this PR.


Compound Engineering
Opus 4.6

…cons

The folder/terminal/browser icons in the project header used opacity-50 +
group-hover:opacity-100, causing all three to fade in together when
hovering anywhere on the project row. Switch to per-icon hover only so
each icon behaves like every other icon button in the app.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 33 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="packages/desktop/tabler-icons-mock.ts">

<violation number="1" location="packages/desktop/tabler-icons-mock.ts:85">
P2: Duplicate mock.module registration for the same worker module creates unnecessary maintenance risk</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic

Drawer: mockPrimitive,
}));

mock.module("@pierre/diffs/worker/worker.js?worker&url", () => ({

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Duplicate mock.module registration for the same worker module creates unnecessary maintenance risk

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/desktop/tabler-icons-mock.ts, line 85:

<comment>Duplicate mock.module registration for the same worker module creates unnecessary maintenance risk</comment>

<file context>
@@ -82,51 +82,8 @@ mock.module("vaul-svelte", () => ({
-	box: runedState,
-	watcher: runedNoop,
-	AnimationFrames: class {},
+mock.module("@pierre/diffs/worker/worker.js?worker&url", () => ({
+	default: "/mock-pierre-worker.js",
 }));
</file context>

Tip: Review your code locally with the cubic CLI to iterate faster.

@cubic-dev-ai

cubic-dev-ai Bot commented May 17, 2026

Copy link
Copy Markdown

You're iterating quickly on this pull request. To help protect your rate limits, cubic has paused automatic reviews on new pushes for now—when you're ready for another review, comment @cubic-dev-ai review.

@liyakhar liyakhar changed the title fix(session-list): remove group-hover fade on project header action icons fix: terminal panel opens behind agent panel in single mode May 17, 2026
@liyakhar liyakhar force-pushed the fix/project-header-icon-hover branch from f9d82cf to 82f9fc4 Compare May 17, 2026 17:39
Terminal and browser panels are stored outside workspacePanels but three
key mechanisms only checked workspacePanels when resolving fullscreen
targets:

- topLevelPanelsWithProject in panels-container missed terminal/browser
  panels, so view-mode state fell back to the agent panel as fullscreen
  target, hiding non-agent panels via isAgentFullscreenActive.
- isTopLevelFullscreenTarget didn't recognize terminal/browser IDs,
  routing them to fullscreenPanelId instead of the single-mode path.
- focusOpenedTopLevelPanel couldn't resolve project paths for
  terminal/browser panels, leaving focusedViewProjectPath unset.

Add terminal and browser panels to all three sites and extract
resolveTopLevelPanelProjectPath helper for unified lookup.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@liyakhar liyakhar changed the title fix: terminal panel opens behind agent panel in single mode fix: terminal/browser panels open behind agent panel in single mode May 17, 2026
@flazouh flazouh merged commit b7cc630 into flazouh:main May 17, 2026
4 of 5 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.

2 participants