fix: preserve cockpit steps across view toggles and show full step info

Backend: stop wiping pending_task_lane when AI response has no new
[ACTIONS]/[QUESTIONS] markers — previous task lane state is still
relevant until replaced by new markers.

Frontend (selectChat): don't eagerly clear task lane before server
response arrives; restore from sessionStorage as fallback when
pending_task_lane is null (covers sessions before backend fix).

StepsPanel: show description and command for all steps instead of
hiding behind hover/active-only visibility. Commands render as
inline code blocks.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
chihlasm
2026-04-03 03:09:19 +00:00
parent 4ba32a08ac
commit b07dfb7603
3 changed files with 39 additions and 13 deletions

View File

@@ -101,15 +101,22 @@ export function StepsPanel({
'transition-colors duration-200',
isCompleted && 'line-through opacity-70',
)}>{action.label}</span>
{/* Show description for active step and on hover for others */}
{action.description && (
<p className={cn(
'text-xs text-muted-foreground mt-0.5 leading-relaxed transition-all duration-200',
isActive ? 'opacity-100 max-h-20' : 'opacity-0 max-h-0 group-hover:opacity-70 group-hover:max-h-20 overflow-hidden',
'text-xs text-muted-foreground mt-0.5 leading-relaxed',
isCompleted && 'opacity-60',
)}>
{action.description}
</p>
)}
{action.command && (
<code className={cn(
'block text-[11px] font-mono mt-1 px-2 py-1 rounded bg-white/[0.04] border border-white/[0.06] text-muted-foreground break-all',
isCompleted && 'opacity-60',
)}>
{action.command}
</code>
)}
</div>
{/* Active indicator */}