* fix: stop billing service accounts twice after a session refresh
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: refuse refresh for expired, swept or impersonation tokens
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore: update ee-repo-ref to 5a2b6b8527250bd12cf856d8a667a9ef3106ec60
This commit updates the EE repository reference after PR #835 was merged in windmill-ee-private.
Previous ee-repo-ref: 8cc94ec6aeb603b6f6ebbe1fa95b32fbec074b74
New ee-repo-ref: 5a2b6b8527250bd12cf856d8a667a9ef3106ec60
Automated by sync-ee-ref workflow.
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
* [ee] feat(service-accounts): allow choosing role at creation time
Previously, service accounts were hardcoded to operator and could not be
used as the CLI sync user since they had no write access. They also only
counted as 0.5 seat each.
This change:
- Extends `NewServiceAccount` to accept optional `is_admin` / `operator`
(defaults to `operator=true` for backward compatibility).
- Exposes a role picker in `AddUser.svelte` when creating a service
account (Operator / Developer / Admin).
- Lets admins update a service account's role from the user list (it
used to be locked to "Operator" with a tooltip).
- Updates the OpenAPI spec + regenerates the frontend client.
A developer/admin service account counts as 1 seat under the existing
seat-cap logic (operators stay at 0.5).
Companion PR on windmill-ee-private updates the `INSERT INTO usr` to
honour the chosen role.
Fixes WIN-1985
* [ee] feat(service-accounts): wm_deployers opt-in for Dev role
When creating a service account with role=Developer, surface a toggle
"Add to wm_deployers" (recommended). Members of wm_deployers can deploy
on behalf of other users — the typical setup when the service account is
used as the CLI sync / CI deploy identity.
- `NewServiceAccount` gains an optional `add_to_deployers` flag.
- Frontend defaults the toggle to on but only shows it under Developer
(admins have it implicitly; operators can't deploy).
- Tooltip links to docs.windmill.dev "Run on behalf of".
Companion EE PR updates the handler to INSERT into usr_to_group for
wm_deployers when the flag is set.
Refs WIN-1985
* chore: update ee-repo-ref to 974ed42067d9f63acb42332b671b8c01ffd4b625
This commit updates the EE repository reference after PR #589 was merged in windmill-ee-private.
Previous ee-repo-ref: f7dbc3cc2ba21c396f4828881e3b9d9ab6f50c69
New ee-repo-ref: 974ed42067d9f63acb42332b671b8c01ffd4b625
Automated by sync-ee-ref workflow.
* [ee] fix(service-accounts): unhardcode role in superadmin user list
Two review issues from the merged #9307 / #589:
1. P1 — The global Users tab in #superadmin-settings still pinned every
service account to "Operator". Now it shows the actual role
(Admin / Operator / Developer), derived from the SA's usr row.
- `list_users_as_super_admin`: replaced `true as operator_only` with
the real `operator` value, and added `is_workspace_admin` from the
row (NULL for password users since their admin status is
per-workspace).
- `global_whoami`: when the email belongs to a service account, look
up its real `operator` / `is_admin` instead of pinning to operator.
- `SuperadminSettingsInner.svelte`: drop the hardcoded "Operator"
badge; render Admin / Operator / Developer using the new fields,
matching the workspace-level view.
2. P2 — Regenerate the bundled `openapi-deref.{yaml,json}` so the
`createServiceAccount` body (now exposing `is_admin`, `operator`,
`add_to_deployers`) and the new `GlobalUserInfo.is_workspace_admin`
field show up at runtime in `/api/openapi.{yaml,json}`.
Bumps `ee-repo-ref.txt` to the EE follow-up that adds the offline
seat-cap check on `create_service_account`.
Refs WIN-1985
* chore: update ee-repo-ref to b7a6068c1f3dc845e012959268b2426f0de4d697
This commit updates the EE repository reference after PR #590 was merged in windmill-ee-private.
Previous ee-repo-ref: 0b1307c21d1bfd6fb43a03c2ba39d2a8bf8e6470
New ee-repo-ref: b7a6068c1f3dc845e012959268b2426f0de4d697
Automated by sync-ee-ref workflow.
---------
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
* fix: default automate_username_creation to true when setting is missing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* latest ref
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* use melt menu in sidebar
* stop keyboard navigation for disabled items
* use melt menu for FavoriteMenu and WorkspaceMenu
* fix popover placement for menuButton
* use melt menu for operator menu
* fix notification
* fix operator menu
* Use melt menu in FlowJobsMenu
* use melt menu for AppMenu
* clean code
* clean code
* add use clickOutside option to Menu
* use pointerdown_outside
* use pointerdown_outside
# Conflicts:
# frontend/src/lib/components/meltComponents/Menu.svelte
* use pointerdown in menus
* add max-h to app dropdown menu
* keep more open in operator menu
* add a MenuItem component
* clean
* nit
* nit
* clean code
* put conditionalMelt as utility function
* remove unused Portal
* Add debounce effect in operator menu
* fix component jumping due to z-index
* format pages
* migrate dropdown to melt
* migrate toggle to melt
* migrate popup to melt popover
* fix missing toggle item
* feat: remove `pip` fallback option for python and ansible (#5186)
* refactor!: Remove `pip` fallback option for python and ansible
BREAKING CHANGE: pip was deprecated since 1.425.0 (2024-11-15)
* fix errors in main.rs
* fix tests
* remove nsjail for pip
* fix imports
* fix compilation error
* reinforce melt types
* fix racing condition issue in closing operator menu
* nit
* fix id conflix with melt element
* nit
* clean code
* use melt dropdown instead of menubar
* prevent modal from closing on click outside button in menu
* Apply automatic changes
* fix nit
* nit
* close dropdown when opening a new one
* replace MenuV2 with melt Menu (1/4) (#5214)
* use melt menu in sidebar
* stop keyboard navigation for disabled items
* use melt menu for FavoriteMenu and WorkspaceMenu
* fix popover placement for menuButton
* use melt menu for operator menu
* fix notification
* fix operator menu
* Use melt menu in FlowJobsMenu
* use melt menu for AppMenu
* clean code
* clean code
* add use clickOutside option to Menu
* use pointerdown_outside
* use pointerdown_outside
# Conflicts:
# frontend/src/lib/components/meltComponents/Menu.svelte
* use pointerdown in menus
* add max-h to app dropdown menu
* keep more open in operator menu
* add a MenuItem component
* clean
* nit
* nit
* clean code
* put conditionalMelt as utility function
* remove unused Portal
* Add debounce effect in operator menu
* fix component jumping due to z-index
* feat: remove `pip` fallback option for python and ansible (#5186)
* refactor!: Remove `pip` fallback option for python and ansible
BREAKING CHANGE: pip was deprecated since 1.425.0 (2024-11-15)
* fix errors in main.rs
* fix tests
* remove nsjail for pip
* fix imports
* fix compilation error
* reinforce melt types
* fix racing condition issue in closing operator menu
* nit
* fix id conflix with melt element
* nit
* prevent modal from closing on click outside button in menu
---------
Co-authored-by: pyranota <92104930+pyranota@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
# Conflicts:
# frontend/src/lib/components/meltComponents/MenuItem.svelte
# frontend/src/lib/utils.ts
* clean
* fix z index and render
* fix initialize of dropdownmenu after melt migration
* feat: add support for | None and Optional in python (#5361)
* feat: add support for | None and Optional in python
* update python parser package
* add local rooting for MenuItem
* fix z index
* clean
* nit
* nit
* clean code
* nit
* nit
* clean code
* reinforce melt types
* wip
* reiforce instance select types for toggleButton
* nit
* fix double event
* fix selectedTable toggle
* fix sqs toggleButton
* fix potential issue with binding in toggleGroup
* Update frontend/src/routes/(root)/(logged)/runs/[...path]/+page.svelte
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
---------
Co-authored-by: pyranota <92104930+pyranota@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: HugoCasa <hugo@casademont.ch>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* use melt menu in sidebar
* stop keyboard navigation for disabled items
* use melt menu for FavoriteMenu and WorkspaceMenu
* fix popover placement for menuButton
* use melt menu for operator menu
* fix notification
* fix operator menu
* Use melt menu in FlowJobsMenu
* use melt menu for AppMenu
* clean code
* clean code
* add use clickOutside option to Menu
* use pointerdown_outside
* use pointerdown_outside
# Conflicts:
# frontend/src/lib/components/meltComponents/Menu.svelte
* use pointerdown in menus
* add max-h to app dropdown menu
* keep more open in operator menu
* add a MenuItem component
* clean
* nit
* nit
* clean code
* put conditionalMelt as utility function
* remove unused Portal
* Add debounce effect in operator menu
* fix component jumping due to z-index
* format pages
* migrate dropdown to melt
* migrate popup to melt popover
* feat: remove `pip` fallback option for python and ansible (#5186)
* refactor!: Remove `pip` fallback option for python and ansible
BREAKING CHANGE: pip was deprecated since 1.425.0 (2024-11-15)
* fix errors in main.rs
* fix tests
* remove nsjail for pip
* fix imports
* fix compilation error
* reinforce melt types
* fix racing condition issue in closing operator menu
* nit
* fix id conflix with melt element
* nit
* clean code
* use melt dropdown instead of menubar
* prevent modal from closing on click outside button in menu
* fix nit
* nit
* close dropdown when opening a new one
* replace MenuV2 with melt Menu (1/4) (#5214)
* use melt menu in sidebar
* stop keyboard navigation for disabled items
* use melt menu for FavoriteMenu and WorkspaceMenu
* fix popover placement for menuButton
* use melt menu for operator menu
* fix notification
* fix operator menu
* Use melt menu in FlowJobsMenu
* use melt menu for AppMenu
* clean code
* clean code
* add use clickOutside option to Menu
* use pointerdown_outside
* use pointerdown_outside
# Conflicts:
# frontend/src/lib/components/meltComponents/Menu.svelte
* use pointerdown in menus
* add max-h to app dropdown menu
* keep more open in operator menu
* add a MenuItem component
* clean
* nit
* nit
* clean code
* put conditionalMelt as utility function
* remove unused Portal
* Add debounce effect in operator menu
* fix component jumping due to z-index
* feat: remove `pip` fallback option for python and ansible (#5186)
* refactor!: Remove `pip` fallback option for python and ansible
BREAKING CHANGE: pip was deprecated since 1.425.0 (2024-11-15)
* fix errors in main.rs
* fix tests
* remove nsjail for pip
* fix imports
* fix compilation error
* reinforce melt types
* fix racing condition issue in closing operator menu
* nit
* fix id conflix with melt element
* nit
* prevent modal from closing on click outside button in menu
---------
Co-authored-by: pyranota <92104930+pyranota@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
# Conflicts:
# frontend/src/lib/components/meltComponents/MenuItem.svelte
# frontend/src/lib/utils.ts
* clean
* fix z index and render
* fix initialize of dropdownmenu after melt migration
* feat: add support for | None and Optional in python (#5361)
* feat: add support for | None and Optional in python
* update python parser package
* add local rooting for MenuItem
* fix z index
* clean
* nit
* nit
* clean code
* nit
---------
Co-authored-by: pyranota <92104930+pyranota@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: HugoCasa <hugo@casademont.ch>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow depolying frontend in a sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Expose base path from $lib/navigation
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* fix: Allow deploying frontend in sub directory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
* update
* update
---------
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
* fix(frontend): Fix toast when adding a user + set default vscoode theme variable + fix DisplayResult componnet
* fix(frontend): handle both encoding
* fix(frontend): add all editorHoverWidget classes