From d6bf624f4fc75850823ada989e010b0b246fd87f Mon Sep 17 00:00:00 2001
From: usrnk1 <7547651+usrnk1@users.noreply.github.com>
Date: Fri, 17 Jul 2026 15:27:20 +0200
Subject: [PATCH] feat(desktop): prevent overlapping composer borders
---
packages/app/src/components/prompt-input-v2.tsx | 2 ++
packages/app/src/components/prompt-input.tsx | 2 +-
packages/app/src/pages/session.tsx | 1 +
.../composer/session-revert-dock.stories.tsx | 12 +++++++++---
.../src/v2/components/prompt-input/index.tsx | 9 +++++++--
packages/ui/src/components/dock-surface.css | 14 ++++++++++++++
6 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/packages/app/src/components/prompt-input-v2.tsx b/packages/app/src/components/prompt-input-v2.tsx
index 3f1bf9222f..d42a786b0d 100644
--- a/packages/app/src/components/prompt-input-v2.tsx
+++ b/packages/app/src/components/prompt-input-v2.tsx
@@ -36,6 +36,7 @@ import {
export type PromptInputV2ComposerProps = {
class?: string
controller: PromptInputV2ComposerController
+ borderUnderlay?: boolean
edit?: PromptInputProps["edit"]
onEditLoaded?: PromptInputProps["onEditLoaded"]
}
@@ -57,6 +58,7 @@ export function PromptInputV2Composer(props: PromptInputV2ComposerProps) {
= (props) => {
t={(key) => language.t(key as Parameters[0])}
/>
diff --git a/packages/app/src/pages/session/composer/session-revert-dock.stories.tsx b/packages/app/src/pages/session/composer/session-revert-dock.stories.tsx
index dd030870a1..ce3fd26b02 100644
--- a/packages/app/src/pages/session/composer/session-revert-dock.stories.tsx
+++ b/packages/app/src/pages/session/composer/session-revert-dock.stories.tsx
@@ -1,5 +1,6 @@
import { For } from "solid-js"
import { createStore } from "solid-js/store"
+import { DockShell } from "@opencode-ai/ui/dock-surface"
import { SessionRevertDock } from "@/pages/session/composer/session-revert-dock"
import { SettingsProvider, useSettings } from "@/context/settings"
@@ -78,12 +79,17 @@ function Stage(props: { count: number }) {
{/* Reproduce the real composer stack: dock + card overlapping the dock's bottom by lift() = 18px */}
diff --git a/packages/session-ui/src/v2/components/prompt-input/index.tsx b/packages/session-ui/src/v2/components/prompt-input/index.tsx
index ff33de56a8..30206cba26 100644
--- a/packages/session-ui/src/v2/components/prompt-input/index.tsx
+++ b/packages/session-ui/src/v2/components/prompt-input/index.tsx
@@ -36,6 +36,7 @@ export type PromptInputV2Props = {
controller: PromptInputV2Interaction
disabled?: boolean
readOnly?: boolean
+ borderUnderlay?: boolean
class?: string
modelControl?: JSX.Element
}
@@ -102,8 +103,12 @@ export function PromptInputV2(props: PromptInputV2Props) {