mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-08 08:04:25 +00:00
**Setup ran hub SQL nobody had seen.** Step 3 reviews the migrations it can run there, but the ones deferred to setup went straight to `applyOneMigration` against whatever database the wizard was pointed at — which can be an existing resource holding unrelated objects. Each unconfigured row now carries a disclosure showing exactly what will run, before "Set up" runs it. **Finish was live while the setup decision was still outstanding.** For a project with migrations but no resources, `execution.done` exposed the button while `listDataTables` was still in flight and `setupNeeded` was still false — clicking in that window left for the workspace and skipped a step the answer, a moment later, said was needed. It now reads "Checking…" and is disabled until the check settles. **A reload on step 4 turned Back into a re-import.** `resume` only carries the page's in-memory execution, so after a reload Back mounted a fresh step 3 offering Import over a bundle already in — and on a new workspace, a create that now fails because the finished run cleared its parking. Back exists only while the page still holds the run, which excludes exactly that case. **`validateWorkspaceId` over-rejected a fork named `global`.** It reaches the backend as `wm-fork-global`, which is accepted; only the effective id is checked now, so a plain `global` is still refused. Covered by a test. **An abandoned run left the migrate row spinning.** It is appended once the review settles and set running by `onMigrationsStart`; stopping before its loop left it on `running` forever, reading as work still in progress on a run that had stopped. Also moves the `run()` contract back onto `run()`, and gives `ImportSetupRow` an optional `extra` snippet for detail that does not fit on one line. 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