mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-10-16 00:03:02 +00:00
The proposal reached the deployed page through the tab url's hash, which the
page already reads for "Run again". Two things were wrong with that carrier:
- A tab already open on the item does not remount when it is re-pointed, and
both detail pages read the hash once at init — so a second proposal for the
same item opened its form on the first one's arguments.
- Tab urls are persisted with the session, so a draft holding file bytes or an
un-minted `password` literal was written to IndexedDB. The transcript avoids
both deliberately, through `redactFileArgs` and `MAX_PERSISTED_ARGS_LENGTH`.
The call now carries its own proposal: `PendingRun.proposedArgs` reads the
card's live draft, the page seeds its form from it at init, and the tab's url
names only the call. `ItemViewerView`'s load key includes that name, so a tab
re-pointed to another call builds its form again.
Two more fixes on the same path:
- `adopt` was read off the prop after awaiting job creation, so a call that
settled during the request could be answered with another call's job. The
press now captures the call it was made under.
- An adopted job's arguments and version are the page's, which this tool cannot
read, but the model was told `Ran with arguments: {}`. It is now told the user
ran it on the item's own page, and that the arguments are the page's.
- Adopting hands the carrying tab to the run, so the page no longer navigates
there as well — that left two tabs open on the same job.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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