mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-07 00:01:49 +00:00
- Cap the email claim at 254 bytes as well as requiring a plain address. An over-255-byte email fit the signature but overflowed the guest_activity.email column: the activity write and the login_guest audit both failed while the guest was still admitted, so a guest could enter uncounted and unaudited. Now refused before authentication. - Serve a stale-but-good JWKS entry while a refresh runs off the request path, so a slow or hanging issuer no longer stalls guest requests for the fetch timeout at each 15-minute TTL boundary. Only a cold or negative entry blocks, still under the single-flight lock; the background refresh no-ops when a fetch is already in flight and keeps the stale keys on failure. - Tests: an oversized email is refused alongside the group-shaped and slash-in-email cases. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VF3v6LA9399gNphmZaHYG3
Windmill Backend
This folder holds all backend components, the src/ folder only contains files used to build the "root" binary.
Components
| name | description |
|---|---|
| windmill-api | The API server, exposing functionality to other components and the frontend |
| windmill-audit | Contains audit functionality, allowing different components to record important actions |
| windmill-common | Common code shared by all crates |
| windmill-queue | Contains job & flow queuing functionality, commonly written to by the API server and read from by workers |
| windmill-worker | The worker. Used to process and execute flows & jobs. |
| parsers | Contains code to parse signatures in different langauges. |
Compile sqlx for offline ci
cargo sqlx prepare --workspace -- --bin windmill --features enterprise