fix(web): move composer working-strip into the message pane (stop clipping the input)
The "Working — message will queue" strip lived inside the sized input Pane, so appearing/disappearing ate the textarea's fixed height and clipped it, forcing a resize. Move it into the message Pane alongside the connection/error banners — those correctly consume transcript space (flex-1) rather than the input's fixed height. The input Pane is now stable whether or not a background turn is running. Styling/idiom unchanged. VERSION: 0.17.2 -> 0.17.3
This commit is contained in:
@@ -404,11 +404,31 @@
|
||||
<button
|
||||
class="ml-1 text-muted-foreground hover:text-foreground"
|
||||
onclick={() => onDismissError(err.id)}
|
||||
aria-label="Dismiss">×</button
|
||||
aria-label="Dismiss">×</button>
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
|
||||
{#if working && !streaming}
|
||||
<!-- Background/autonomous turn in progress (no live stream to watch):
|
||||
keep the composer open so the operator can queue a follow-up
|
||||
(plan 2026-08-03 F1/F2). Lives in the message pane (alongside the
|
||||
connection/error banners) so it consumes transcript space, NOT the
|
||||
input pane's fixed height — otherwise appearing/disappearing would
|
||||
clip the textarea and force a resize. Terminal status strip:
|
||||
spinner + fg label + primary-tinted hairline border, aligned to the
|
||||
textarea column. -->
|
||||
<div class="mx-auto w-full max-w-3xl px-4">
|
||||
<div class="composer-status mb-2">
|
||||
<Spinner class="size-3 shrink-0 text-primary" />
|
||||
<span class="composer-status-label">Working</span>
|
||||
<span class="composer-status-text"
|
||||
>message will queue — runs when Nomos is free</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</Pane>
|
||||
|
||||
<Pane bind:size={inputSize} minSize={inputMinSize} maxSize={45} class="flex flex-col">
|
||||
@@ -416,22 +436,6 @@
|
||||
class="flex h-full min-h-0 flex-col border-t bg-card/50 p-3 input-ornament relative"
|
||||
bind:this={inputWrapperRef}
|
||||
>
|
||||
{#if working && !streaming}
|
||||
<!-- Background/autonomous turn in progress (no live stream to watch):
|
||||
keep the composer open so the operator can queue a follow-up
|
||||
(plan 2026-08-03 F1/F2). Styled as a terminal status strip that
|
||||
mirrors AgentTrace's running idiom (spinner + fg label + a
|
||||
primary-tinted hairline border) and aligns to the textarea's
|
||||
column, so it reads as part of the working state rather than a
|
||||
floating footnote. -->
|
||||
<div class="composer-status mx-auto mb-2 w-full max-w-3xl">
|
||||
<Spinner class="size-3 shrink-0 text-primary" />
|
||||
<span class="composer-status-label">Working</span>
|
||||
<span class="composer-status-text"
|
||||
>message will queue — runs when Nomos is free</span
|
||||
>
|
||||
</div>
|
||||
{/if}
|
||||
<form
|
||||
class="relative mx-auto flex h-full w-full max-w-3xl"
|
||||
onsubmit={(e) => {
|
||||
|
||||
Reference in New Issue
Block a user