Validation shell : la carte reste jusqu'à décision de l'utilisateur

L'agent termine son tour pour attendre la validation, donc le streaming
s'arrête aussitôt — or la carte de confirmation n'était affichée que
pendant le streaming, elle disparaissait avant qu'on puisse cliquer.

- La carte de validation shell s'affiche tant que `pendingShell` existe,
  indépendamment de l'état de streaming (approbation/refus déjà gérés
  hors flux).
- Changer de session efface une validation en attente (elle appartenait
  à la session quittée).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SVay7z3y7q2gEe54ByAE6N
This commit is contained in:
Claude committed 2026-07-20 13:30:38 +00:00
1 parent 43d3c79eda
commit 41f07b0ba8
2 files changed
+6 -2

No files matched your search

+4 -1
View File
@@ -115,7 +115,10 @@ export function ChatPanel() {
planDone={streamPlanDone}
/>
)}
{showingStreaming && pendingShell && (
{/* La validation shell persiste APRÈS la fin du flux : l'agent
termine son tour en attendant l'utilisateur, donc le streaming
s'arrête — la carte doit rester tant qu'on n'a pas tranché. */}
{pendingShell && (
<ShellConfirm
command={pendingShell}
onApprove={approveShell}
+2 -1
View File
@@ -308,9 +308,10 @@ export const useStore = create<LokiState>((set, get) => ({
set({
currentSessionId: id,
messages,
// Une validation shell en attente appartient à la session quittée.
...(streaming
? {}
: { streamContent: "", streamStatus: "", streamNotice: null }),
: { streamContent: "", streamStatus: "", streamNotice: null, pendingShell: null }),
});
// L'arborescence suit le projet de la session ouverte.
await get().refreshFiles();