Files
windmill/frontend
hugocasaandClaude Fable 5 3358fe6376 fix(ai-sessions): pass prompts to sends instead of staging the shared field
Two sends can race the run guard, and the loser's refusal ran while the
winner was mid-turn: restoreRefusedSend resolved the prompt from
this.instructions — which the winner may already own — handed that text
back, and blanked the field the winner still reads for its bubble and
its outgoing message. The unconditional clear turned that race into an
empty turn on a transcript a retry had already rewound.

Every sender now passes its prompt in the options (retry/edit, AI Fix,
Ask AI, background-job auto-resume, the raw-app hand-off page), so the
field is written only by sendRequestImpl and a refusal touches nothing
it does not own. Auto-resume drops its conditional unwind — with
nothing staged there is nothing to leak on a refusal.

Also trims the retry test's comment down to its assertions and adds a
case pinning that a refusal parks its own prompt and leaves a
concurrent winner's field untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019N8x51GqABUEFvg52V6aYo
2026-08-31 22:18:51 +02:00
..

Windmill frontend

The Windmill frontend written in Svelte 5 + Tailwind CSS

The frontend is under AGPL, see the LICENSE file at the root of this repo