* feat: add password reset flow using configured SMTP settings Implements password reset functionality for users with email/password login: Backend: - Add `/auth/request_password_reset` endpoint to request a password reset email - Add `/auth/reset_password` endpoint to reset password using token - Add `/auth/is_smtp_configured` endpoint to check if SMTP is available - Uses existing `magic_link` table for storing reset tokens - Tokens expire after 1 hour - Invalidates all existing sessions on password reset - Includes audit logging Frontend: - Add "Forgot password?" link on login page (shown when SMTP is configured) - Add `/user/forgot-password` page for requesting password reset - Add `/user/reset-password` page for entering new password - Both pages follow existing Windmill design patterns Security: - Always returns success response to prevent email enumeration - Password must be at least 8 characters - Uses argon2 for password hashing (same as existing login) Closes #7524 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com> * nits * nits * fix oss * nits * fix oss --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com> Co-authored-by: HugoCasa <hugo@casademont.ch> Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
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