mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-09 08:03:50 +00:00
Codex was right that the occupant-type guard failed open: a getResource that threw became `undefined`, which passed the mismatch test and left filling enabled — so a transient read failure still overwrote the resource the guard exists to protect. Only a read that succeeds and answers with exactly this type now permits the write; a failed read, a missing type and any other type all refuse. That was the same "cannot tell, so proceed" this branch already fixed once in settle(), so the rest of the wizard was swept for it. Two more: findBlankResources dropped a row whenever getResource threw, on the assumption that meant absent. Only a 404 means absent — and that failure the import already reported. Any other error is a read that did not complete, which says nothing about whether the credential needs filling; dropping the row reports "all set" over one nobody filled. The row now stays and offers no action, since none of them can be safe about a path this cannot read. A resource type whose schema would not load left `required` empty, which reads as "nothing missing" — so a half-filled resource passed as done. It stays on the checklist; it just cannot name which fields are short. The other four catches were checked and are already closed in the right direction: probeWorkspace reports absent so the caller creates rather than adopts, probeMigrationsApplied answers undefined which settles to a non-actionable row, and afterWizard keeps whatever the run last said. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xg8vXUuHCH3aRkf91sfxjx
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