Commit Graph
7473 Commits
Author SHA1 Message Date
hugocasaandClaude Opus 5.5 fb5ff91090 chore: point ee-repo-ref at the rebased companion commit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:17:48 +02:00
hugocasaandClaude Opus 5.5 e573571dcd feat: count browser panel messages and tool outcomes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:17:35 +02:00
d685332771 fix: send hub script completions to the workspace handlers (#11613)
* fix: send hub script completions to the workspace handlers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to a37413ccdd52e65bc240bad3e87084bf4100e119

This commit updates the EE repository reference after PR #858 was merged in windmill-ee-private.

Previous ee-repo-ref: 6e48f2012d73a6ef22130f4e28b987526b9c1057

New ee-repo-ref: a37413ccdd52e65bc240bad3e87084bf4100e119

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>
2026-10-08 15:26:51 +02:00
2758920f11 fix: sync back volume files rewritten to the same size (#11620)
* fix: upload volume files rewritten to the same size

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: never match a volume file stamp with an unreadable change time

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: bump ee ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 127575148c84bb6132d2946c0a95c6dea0f58bb2

This commit updates the EE repository reference after PR #860 was merged in windmill-ee-private.

Previous ee-repo-ref: e06755ddd48c834e75537cf44da017fdc3a9585b

New ee-repo-ref: 127575148c84bb6132d2946c0a95c6dea0f58bb2

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>
2026-10-08 13:02:26 +02:00
Ruben Fiszelandwindmill-internal-app[bot] 588d8463df feat: let a job see that its worker is draining (#11612)
* feat: let a job see that its worker is draining

* fix: gate worker draining check on job visibility and export sdk helper

* fix: keep draining across re-registration and ignore parked jobs

* fix: reset draining only on worker startup registration

* chore: update ee-repo-ref to 55feb2e84332179faa4e17aeb419f7f480df79a6

This commit updates the EE repository reference after PR #857 was merged in windmill-ee-private.

Previous ee-repo-ref: e5010fa046a3aba93595d1bf44eb6a0cef2b5273

New ee-repo-ref: 55feb2e84332179faa4e17aeb419f7f480df79a6

Automated by sync-ee-ref workflow.

---------

Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-08 12:56:33 +02:00
Ruben Fiszelandrubenfiszel d505916609 chore(main): release 1.828.0 (#11611)
* chore(main): release 1.828.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-10-08 09:44:54 +02:00
Diego ImbertandRuben Fiszel c09764fa65 perf: load public raw apps without the loading screen (#11608)
* perf: load public raw apps without the loading screen

* fix: keep license store and drop stale prefetches on public app pages

* fix: answer raw app requests with an error when the job bridge fails to load

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-08 09:15:01 +02:00
0e7d974ce9 fix: keep capturing job logs after a non-UTF-8 output line (#11595)
* fix: keep capturing job logs after a non-UTF-8 output line

The worker read child stdout/stderr with `lines()`, which errors on a line that
is not valid UTF-8; handle_child then logged "error reading output" and stopped
capturing logs for the rest of the job. Read raw segments and decode lossily
instead, so a bad byte becomes U+FFFD and later lines still arrive.

PowerShell on Windows writes redirected output in the console code page
(e.g. CP850), so any umlaut triggered this. Set [Console]::OutputEncoding and
$OutputEncoding to UTF-8 in wrapper.ps1 so pwsh output is UTF-8 on every OS.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: state the pwsh encoding constraint without history

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep pwsh's native-command decoding on the console code page

Forcing [Console]::OutputEncoding to UTF-8 also changes how pwsh decodes
native-command output captured into variables, turning OEM-encoded
characters from legacy tools into U+FFFD inside script values and
results. The worker's lossy decode already keeps log capture going.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to acb254ac509aff244849c09e50a8d39aae185138

This commit updates the EE repository reference after PR #852 was merged in windmill-ee-private.

Previous ee-repo-ref: 9cc330f1a8e80bc075a6ad9839966d3b344f8ddd

New ee-repo-ref: acb254ac509aff244849c09e50a8d39aae185138

Automated by sync-ee-ref workflow.

* fix: share the lossy line decoder with the dedicated worker

Make `decode_output_line` pub(crate) so the dedicated worker (EE) reads
child output through it instead of panicking on a non-UTF-8 line, point
ee-repo-ref at the companion branch, and word two comments as the code
is rather than as it was.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to e5689bf58a125ff46aabb6b5d0f030a7e5c715d3

This commit updates the EE repository reference after PR #855 was merged in windmill-ee-private.

Previous ee-repo-ref: 07bb29070f6419e710c9d167aa7c8553039d6c5b

New ee-repo-ref: e5689bf58a125ff46aabb6b5d0f030a7e5c715d3

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-08 09:11:05 +02:00
hugocasaandClaude Opus 5.5 3f3b1c2c30 fix: add retry to runScriptByPathAsync and runScriptByHashAsync (#11485)
* feat: add retry to runScriptByPathAsync and runScriptByHashAsync

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: refuse retry with invisible_to_owner and keep the parent priority bump

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: refuse retry when a preprocessor would run and export the options type on jsr

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep the dispatching job as parent of a retried run

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: cancel pending native retries with their caller and stop the chain on cancel

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 09:01:32 +02:00
a2e51cdbaa fix: describe exponential retry as multiplier × seconds^attempt (#11546)
* fix: describe exponential retry as multiplier × seconds^attempt in openflow schema

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: update folded exponential retry description in openapi-deref.yaml

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: phrase exponential retry summary per n-th retry, matching seconds field

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to acb254ac509aff244849c09e50a8d39aae185138

This commit updates the EE repository reference after PR #852 was merged in windmill-ee-private.

Previous ee-repo-ref: 9cc330f1a8e80bc075a6ad9839966d3b344f8ddd

New ee-repo-ref: acb254ac509aff244849c09e50a8d39aae185138

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>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-08 08:56:37 +02:00
d7d18f00af feat: improve data table roles and grants UX (#11562)
* feat: improve data table roles and grants UX

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep selected bordered badges the same height as unselected ones

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: refuse taking over roles with members and test grant statements

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep grant filter chips while a filter is set

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: check a taken-over role can log in with the new password

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat: select several grant filter tags at once

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat: explain where schema and table permissions are set

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep the grant create row on one line

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat: show grants as a role and its privileges

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat: show grants in a table with role, privileges and scope

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: hide the grant scope when it can only be the object itself

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat: grant schema usage along with grants inside the schema

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat: confirm before closing the roles drawer with unsaved changes

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to c4002f777f56d90bb0471164291889850c85179d

This commit updates the EE repository reference after PR #848 was merged in windmill-ee-private.

Previous ee-repo-ref: 7937634a52d04caeb083da94e189705cd00796b3

New ee-repo-ref: c4002f777f56d90bb0471164291889850c85179d

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-08 08:53:23 +02:00
8f7e0c7284 feat: add gpt-6.1-sol to the chat, agent steps and weekly ai evals (#11584)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-08 08:52:59 +02:00
Ruben Fiszelandrubenfiszel f40eea2a5f chore(main): release 1.827.0 (#11589)
* chore(main): release 1.827.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-10-07 21:52:12 +02:00
Ruben FiszelandClaude Opus 4.8 a238d01ef6 fix: run dependency resolution and build steps under nsjail (#11609)
Claude-Session: https://claude.ai/code/session_01Nb2pxnBFyi1T9cpi8ah21C

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-07 21:39:55 +02:00
95c4b3096c feat: pause a worker group without stopping its workers (#11596)
* feat: pause a worker group without stopping its workers

* chore: bump ee ref

* fix: keep dedicated workers running across a pause toggle

* fix: edit a copy of the worker group config in the drawer

* fix: stable priority tag order, keep pause-only configs in the drawer

* fix: keep inherited worker tags when saving from the drawer

* fix: keep an explicit empty tag list when leaving dedicated mode

* fix: keep inherited tags when creating a config from the drawer

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to 6f23819e947b18878000e580ddefccfd01a73166

This commit updates the EE repository reference after PR #853 was merged in windmill-ee-private.

Previous ee-repo-ref: 6cf802bdbe17b4a66757016515044b8a9ef9ef19

New ee-repo-ref: 6f23819e947b18878000e580ddefccfd01a73166

Automated by sync-ee-ref workflow.

* feat: confirm before applying a worker config change that restarts workers

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: pin the ee commit that compiles against main

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: retrigger ci after the github outage dropped the push event

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-07 17:28:29 +00:00
Ruben FiszelandClaude Opus 5.5 14381cefee fix: scope the python wheel cache to workspaces with their own registry (#11597)
* feat: pin python lockfile hashes and key the wheel cache by them

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep pinned python cache entries out of reach of unpinned installs

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: scope python cache entries of index-overriding workspaces by hashed id

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep the python cache scope consistent with the index urls read

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: read python index urls and their cache scope from one snapshot

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: drop hash pinning, keep only the workspace scope of the wheel cache

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: resolve pip index urls only after a resolution cache miss

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 17:02:34 +00:00
Ruben FiszelandClaude Opus 5.5 afa9ced84c [ee] feat: job cancel signals (oidc refusal, agent 5s ping, job.canceled) (#11592)
* feat: faster agent cancel detection, job.canceled event, worker_group span attribute

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: report no unix signal in job.canceled where none is sent

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* refactor: agent workers ping every 5s instead of a 2s read-only cancel check

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: emit job.canceled on windows when the process exits unsignaled

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: pin ee ref with the queue delay gauge main requires

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 16:44:57 +00:00
f2fb15603b fix: type snowflake columns in database manager insert and alter forms (#11578)
* fix: type snowflake columns in database manager insert and alter forms

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: scope insert-form type lowercasing to snowflake

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: send snowflake insert-form dates as yyyy-MM-dd

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to acb254ac509aff244849c09e50a8d39aae185138

This commit updates the EE repository reference after PR #852 was merged in windmill-ee-private.

Previous ee-repo-ref: 9cc330f1a8e80bc075a6ad9839966d3b344f8ddd

New ee-repo-ref: acb254ac509aff244849c09e50a8d39aae185138

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-07 14:35:36 +00:00
03e484e597 fix: let recover: true from the error handler turn nested failures green (#11559)
* feat: let the flow error handler mark the flow as successful

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: end the flow as a success when an inner error handler recovers

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep the recovery stop to parents that honor it

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to cbda28f632d773fd44e9bef8bea36dcb5e35b55d

This commit updates the EE repository reference after PR #847 was merged in windmill-ee-private.

Previous ee-repo-ref: b5a8e3631f657fbb0a7b4b4ef89ddb9ed2c43b1d

New ee-repo-ref: cbda28f632d773fd44e9bef8bea36dcb5e35b55d

Automated by sync-ee-ref workflow.

* fix: keep skip-failure loops going and mask the recovery flag at its source

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: recover keeps the steps that run and only turns the flow green

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: only the root flow turns green on a recovered failure

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: a flow-chaining error keeps the flow failed after a recovery

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-07 14:34:28 +00:00
75653496e5 feat: export queue delay as OTel and Prometheus metrics (#11588)
* feat: export queue delay as OTel and Prometheus metrics

* chore: update ee-repo-ref to afd5f322346baee24d9402ca18a95de29d5c2fde

This commit updates the EE repository reference after PR #850 was merged in windmill-ee-private.

Previous ee-repo-ref: 450df01188ce0cfef1165bf5334bb34c26b921ee

New ee-repo-ref: afd5f322346baee24d9402ca18a95de29d5c2fde

Automated by sync-ee-ref workflow.

---------

Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-07 14:30:44 +00:00
0792332859 feat: audit instance settings writes, stable audit OTel target (#11593)
* feat: audit instance settings writes and bulk job cancels

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: audit each setting of a bulk save as it is written

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to acb254ac509aff244849c09e50a8d39aae185138

This commit updates the EE repository reference after PR #852 was merged in windmill-ee-private.

Previous ee-repo-ref: 3dfc563bc95881183fb6c49d39984023b9b83075

New ee-repo-ref: acb254ac509aff244849c09e50a8d39aae185138

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-07 14:27:20 +00:00
Ruben FiszelandClaude Opus 5.5 046df9e44d feat: run AI decision steps on OpenAI's Decisions API (#11590)
* feat: run AI decision steps on OpenAI's Decisions API

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: fail refused openai decisions and keep structured criteria

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: send only user message lists as openai decision messages

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: omit descriptions the openai decision step does not have

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: pass only exact openai user messages through as decision input

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: check the payload of openai decision message parts

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 12:05:04 +00:00
Ruben Fiszel b1af8b0e03 [ee] fix: concurrency limit over-admits when counter row is missing (#11587)
* fix: concurrency limit over-admits when the counter row is missing

* chore: bump ee ref

* fix: restore sqlx entry for the locked counter read and bump ee ref
2026-10-07 13:21:46 +02:00
Ruben Fiszelandrubenfiszel f6fbf75916 chore(main): release 1.826.0 (#11565)
* chore(main): release 1.826.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-10-07 12:28:33 +02:00
AlexRV12andClaude Opus 5.5 fa253976e2 feat: isolate the raw-app editor preview when the app opts into sandboxing (#11572)
* feat: isolate the raw-app editor preview when the app opts into sandboxing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: gate job reads from a sandboxed editor preview like the deployed app

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: send a plain user in a sandboxed raw app's startup message

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: pin ui_builder to d3fdb70

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 10:52:41 +02:00
Ruben FiszelandClaude Opus 5.5 eab3dd5a52 fix: ignore schedule missed-run counters in workspace compare (#11570)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 18:06:09 +02:00
Ruben FiszelandClaude Opus 5.5 cf4bec611f fix: strip NUL from ai agent output and job args before jsonb writes (#11568)
* fix: strip NUL from ai agent output and job args before jsonb writes

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: also strip NUL from tool call ids and citations

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 17:51:07 +02:00
Ruben Fiszel 9519b19f47 bump ee ref 2026-10-06 15:35:22 +02:00
e277735788 feat: count OIDC signatures and reuse server-side tokens (#11556)
* feat: count OIDC signatures and reuse server-side tokens

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee ref

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee ref

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee ref

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to cbda28f632d773fd44e9bef8bea36dcb5e35b55d

This commit updates the EE repository reference after PR #847 was merged in windmill-ee-private.

Previous ee-repo-ref: cec12fc52eb1bb5d3f4f4ae489d86a64e96c6c0c

New ee-repo-ref: cbda28f632d773fd44e9bef8bea36dcb5e35b55d

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-06 15:34:20 +02:00
d493eff237 feat: job_token_scopes OIDC claim (#11551)
* feat: refuse unscoped tokens of restricted jobs, add OIDC scopes claim

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep restricted job_perms rows by a stamp that survives retention

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: log refused unscoped job tokens at warn

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: key the unrestricted cache by token, keep restricted rows on bulk delete

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: clear a sweep stamp raced onto a queued job

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: stamp restricted job_perms rows under a row lock

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* test: give the memo test's job token scopes

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* refactor: keep only the OIDC claim, drop the server-side refusal

A relying party can already tell a restricted job from the claim, which is
absent when the presented token carries no scopes. The auth-layer refusal,
its lookup cache and the job_perms retention it needed are removed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to 065c2c64c3904d5c0b2766b424210d34f9e54d2d

This commit updates the EE repository reference after PR #845 was merged in windmill-ee-private.

Previous ee-repo-ref: ea5354477cdf281598a816a5e16ad1f476d42afb

New ee-repo-ref: 065c2c64c3904d5c0b2766b424210d34f9e54d2d

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-06 15:32:12 +02:00
Ruben Fiszelandrubenfiszel cc37c45c3d chore(main): release 1.825.0 (#11548)
* chore(main): release 1.825.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-10-06 14:56:07 +02:00
hugocasaandClaude Opus 5.5 3d4d80d4ca add drive.readonly and drive to gdocs oauth scope options (#11525)
* feat: add drive.readonly and drive to gdocs oauth scope options

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: describe what the gdocs drive scope grants in its label

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 14:45:56 +02:00
f381f79fb9 ignore self-hosted subscriptions in a team workspace's premium info (#11552)
* fix: ignore self-hosted subscriptions in a team workspace's premium info

Bumps ee-repo-ref to windmill-labs/windmill-ee-private#846.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Update commit hash in ee-repo-ref.txt

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-06 14:44:39 +02:00
AlexRV12andClaude Opus 5.5 5f92daab6d fix: serve the raw-app preview shell sandboxed, load a blob copy in the editor (#11554)
* fix: serve the raw-app preview shell sandboxed, load a blob copy in the editor

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: give the preview shell the deployed app wrapper's sandbox flags

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 14:40:56 +02:00
Ruben FiszelandClaude Opus 5.5 b371af31c9 feat: confine jobs:read to the runnable paths it names (#11550)
* feat: confine jobs:read to the runnable paths it names

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: filter job lists by read scopes alone and keep a job's own flow run readable

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 14:22:12 +02:00
Ruben FiszelandClaude Opus 5.5 4fd4f76d0d fix: honor custom timeout in setup phases and name the limit hit (#11557)
* fix: honor custom timeout in setup phases and name the limit hit

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: label a shared-deadline phase timeout as the job's remaining budget

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: register dbt deploy jobs so their phase timeout is not called custom

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 12:40:04 +02:00
Ruben Fiszel 2bf9cfcd59 fix: search slow runs filters by time windows instead of timing out (#11549)
* fix: search slow runs filters by time windows instead of timing out

* fix: cancel a pending runs page when its listing is reset

* fix: keep runs scan windows disjoint at microsecond precision

* fix: race the single runs request against the window scan

* fix: list the cursor window when a runs scan starts at the oldest job

* fix: show the runs history scan as an info alert

* fix: show runs scan progress as a bar and keep the session button on the searchbar row

* fix: stop a runs scan whose windows are no faster when narrower

* fix: right-align the runs searchbar row when the header wraps

* fix: keep the runs scan stop button inside a narrow list pane
2026-10-06 08:57:54 +00:00
hugocasaandClaude Opus 5.5 18e44d3174 feat: say a canceled team plan is canceled, not past due (#11539)
A team plan canceled mid-month now keeps premium until the 1st, capped at the
executions its final invoice paid for. That reuses the past-due cap, so the job
refusal and the UI toast said "your last invoice is unpaid". Word both for a
canceled plan, and show it on the plan settings page.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 08:08:13 +02:00
Ruben Fiszelandrubenfiszel 0abc0ac0c4 chore(main): release 1.824.1 (#11543)
* chore(main): release 1.824.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-10-06 00:24:43 +02:00
Ruben Fiszelandrubenfiszel af42c471ef chore(main): release 1.824.0 (#11520)
* chore(main): release 1.824.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-10-05 15:27:00 +00:00
hugocasaandClaude Opus 5.5 85248eee78 fix: disable postgres triggers whose replication slot was invalidated (#11536)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 15:18:43 +00:00
3aee181574 feat: bill team-plan service accounts as half a seat (#11298)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-05 15:15:29 +00:00
Ruben Fiszel 92fbfc03d2 fix: bound s3 ai attachment downloads before encoding (#11534) 2026-10-05 14:50:03 +00:00
Ruben Fiszel 4acb5b8f18 chore: bump go to 1.27.1 in the worker and extra images (#11537)
* chore: bump go to 1.27.1 in the worker and extra images

* chore: move the lsp scratch go.mod to go 1.27
2026-10-05 14:47:35 +00:00
3cba8a7e4c feat: add an AI decision flow step (TypeSafe's Jev, Cloudflare's Clef) (#11474)
* feat: add an AI decision flow step on TypeSafe's Jev

An `aidecision` step asks TypeSafe's Jev typed questions (choice, score,
yes/no) about a state and returns calibrated answers. It is a plain step:
a flow routes on the answers with a Branch to one after it, which the
editor builds and keeps in step with the questions. It can also be an AI
agent tool, where the calling model supplies the state.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: read single-quoted branch conditions and flag branches on a removed question

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: route decision tools by their tag and keep structured questions as JSON

The questions editor writes only on an edit, so opening a step leaves its
value untouched, and questions the cards cannot hold stay in a JSON editor.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: re-pick the questions editor mode when the value is replaced from elsewhere

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep the questions JSON editor's text in step with the value

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: recreate the questions JSON editor when the value is replaced from elsewhere

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: run AI decisions on Cloudflare's Clef as well as TypeSafe's Jev

A `cloudflare` provider kind reads the hub's `cloudflare` resource (token and
account id), calls the model's Workers AI URL, and unwraps Workers AI's
`result` envelope. Like TypeSafe, it serves decision steps only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* feat: branch from each AI decision question, and align its editor with the brand guidelines

"Branch on this question" now sits in each choice question's card, which also
links to the Branch to one that routes it and flags options it misses or
branches it no longer matches. Labels, errors, cards and icons follow the form
guidelines and the Branch to one's cards.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* feat: branch on an AI decision from its graph node

A decision with a choice question nothing branches on yet shows a button beside
its node that inserts the Branch to one, as its question card does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: resolve Cloudflare resources in the AI proxy, and use the design-system button on the graph

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: put the decision_inputs test's doc comment back on it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* chore: regenerate the flow schema in prompts and the chat after the AiDecision description edit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* feat: switch AI decision questions between the form and JSON

JSON is always available; the form is offered whenever its cards can hold the
questions, and a value they cannot hold still opens in JSON.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: show step ids as badges and use the JSON toggle of the run forms

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: quote option names in the AI decision branch alerts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* feat: remove stale branches from the AI decision question card

An empty branch is removed directly; one with steps asks first, naming how many
steps go with it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* feat: branch on yes/no AI decision questions, and test a decision step from the AI chat

A yes/no question branches like a choice: "Branch on this question" writes one
"yes" branch on `noul >= 0.5`, with the default as "no", and the helper still
reads it once the threshold is tuned. The AI chat's step test runs a decision
alone as a one-step preview, taking the state the chat passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: record removing several stale branches as one undo step

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: name the typesafe resource type TypeSafe

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: store TypeSafe as the typesafe resource type's display name, not in the word map

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: leave the typesafe and cloudflare resource types to the hub instead of seeding them

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* docs(AGENTS): resource types ship through the hub, not migrations

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: show the questions JSON format beside the JSON toggle

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: give the questions JSON format in the field's description

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: style the decision's graph branch button like Add branch

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: show the questions JSON format only in JSON mode

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* feat: show each question's branching under the questions JSON editor

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: drop the redundant In JSON prefix from the questions format

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: shorten the decision state's description and show an example as its placeholder

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: escape a schema placeholder before the JSON editor renders it as HTML

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* fix: give the decision state's placeholder a text and an object example

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019sEUVZVYBjkzkaVkjbFeAL

* chore: update ee-repo-ref to 154cbccb6b8d47bf662b5507882917b5933d5a45

This commit updates the EE repository reference after PR #839 was merged in windmill-ee-private.

Previous ee-repo-ref: eaf38c1388f3cc5bece163404fffa959ede8cae0

New ee-repo-ref: 154cbccb6b8d47bf662b5507882917b5933d5a45

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>
2026-10-05 14:23:34 +00:00
hugocasa b5fda7d5af feat: offer slack read scopes for files, user groups, emoji and dms (#11526) 2026-10-05 14:21:29 +00:00
hugocasa c4e7c714e4 feat: offer audit-log and drive-metadata scopes for google oauth connects (#11527) 2026-10-05 14:21:11 +00:00
hugocasaandRuben Fiszel 8b2dc1e46c feat: add notion oauth provider (#11528)
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-05 14:20:49 +00:00
hugocasaandClaude Opus 5.5 e76781cc27 fix: label the default slack scopes and list them first in the connect dialog (#11529)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 16:13:19 +02:00
Ruben Fiszelandrubenfiszel 4096c3da74 chore(main): release 1.823.1 (#11516)
* chore(main): release 1.823.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-10-05 08:24:51 +02:00