Commit Graph
11898 Commits
Author SHA1 Message Date
Ruben Fiszel ddade4e59c adapt to libkafka-changes 2026-02-10 08:06:06 +00:00
Ruben Fiszel d753332f04 fix: remove unecessary drop index on labeled_jobs_on_jobs 2026-02-10 08:02:38 +00:00
Ruben Fiszelandrubenfiszel 74e0fb31c7 chore(main): release 1.629.0 (#7844)
* chore(main): release 1.629.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2026-02-09 23:03:21 +00:00
Ruben Fiszel e2b7e4813c nit test 2026-02-09 22:51:57 +00:00
Ruben Fiszel 778f8f13e7 fix: reduce DB pool contention by eliminating dual-connection patterns (#7861) 2026-02-09 22:48:29 +00:00
Ruben FiszelandClaude Opus 4.6 b4bd908d94 nit test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:13:52 +00:00
Ruben Fiszel 8e7fd16925 test-thread 10 2026-02-09 20:50:23 +00:00
Ruben FiszelandClaude Opus 4.6 b7bb37f599 nit backend tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 18:28:01 +00:00
Guilhem 305b2ed7bc fix(frontend): reorganize workspace settings (#7788)
* Add vertical nav bar to workspace settings

* harmonize settings content titles

* remove sidebar icons

* add background to sidebar

* nit user section

* EEonly display

* Workspace settings general design

* Add schema validation and dirty detection

* Put critical alerts in a separated tab

* separate error success handler

* only enable save when there is some changes

* Fix dirty detection for deployment UI

* Only enable save button when changes for datatables ws storage

* Add setting footer component

* Use new footer setting for saving configs

* nit

* apply setting footer

* improve save button

* nit

* nit

* nit

* make ws app use same pattern as other tabs

* Separate scrolling between sidebar and content

* Gather error handlers

* use universal save button for object storage

* Title sentence case

* nit

* nit

* improve dirty config logic

* nit

* nit

* clean dead code

* Use settings footer for deployment settings

* Git sync settings

* move tabs

* fix dirty stats of error handlers

* nit

* nit
2026-02-09 18:22:22 +00:00
hugocasa 90ba82680f fix: restart after empty branchone + improve UI (#7838)
* improve flow restart UI

* fix: better restart UI + fix restart avec empty branch one
2026-02-09 18:13:18 +00:00
Ruben FiszelandClaude Opus 4.6 21ea1be748 reuse existing transaction in push to reduce pool pressure (#7858)
* fix: reuse existing transaction in push instead of acquiring new connection

In push_inner, fetch_authed_from_permissioned_as was acquiring a new
connection from the pool to fetch job permissions, even though a
transaction was already open. Use fetch_authed_from_permissioned_as_conn
with the existing transaction instead, reducing pool pressure when many
jobs are pushed concurrently.

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

* improve contention

* improve contention

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 18:07:33 +00:00
Ruben Fiszel aaab733fb2 nit backend tests 2026-02-09 18:05:14 +00:00
Ruben Fiszel cd4701a04a fix form on small screens 2026-02-09 17:57:05 +00:00
Ruben Fiszel 9a5126223d fix missing overflow on form 2026-02-09 17:53:16 +00:00
hugocasaandwindmill-internal-app[bot] 04f91f2768 fix(backend): prevent sqs hanging (#7857)
* fix(backend): prevent sqs hanging

* fix dep

* chore: update ee-repo-ref to b1916254951d504db136759f4150a40d3a88a638

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

Previous ee-repo-ref: a5d74260b942eb208cd4b963bd63d74ad5240931

New ee-repo-ref: b1916254951d504db136759f4150a40d3a88a638

Automated by sync-ee-ref workflow.

---------

Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-02-09 16:25:18 +00:00
Ruben FiszelandClaude Opus 4.6 4ea213a3d7 fix: parse Python datetime.datetime and datetime.date type annotations (#7856)
* fix: parse Python datetime.datetime and datetime.date type annotations correctly

The Python parser only matched ExprKind::Name for type annotations, so
`datetime.datetime` (an Attribute expression) silently fell through to
Typ::Unknown and no datetime picker was shown in the UI.

- Extend parse_expr to resolve `datetime.*` attribute access (alongside
  the existing `wmill.*` handling)
- Add Typ::Date variant for `datetime.date` → JSON schema format "date"
- Update python worker to import and convert `date.fromisoformat()`
- Update argSigToJsonSchemaType, AI types, schema validation, and SQL
  datatype wasm for the new Date variant

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

* all

* all

* all

* all

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 15:17:26 +00:00
centdixandClaude Opus 4.6 9cc7bbd0d2 internal: flake nix devshell clang/mold/openssl compatibility (#7855)
* fix: flake nix devshell clang/mold/openssl compatibility

- Add mold linker to buildInputs
- Pin cargo linker to clang 18 (stdenv's clang 21 causes SIGSEGV with mold)
- Embed OpenSSL rpath via rustflags instead of LD_LIBRARY_PATH to avoid leaking into git/ssh

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

* more fixes

* fix

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 14:03:22 +00:00
Ruben FiszelandClaude Opus 4.6 c1727b7d3d test: add end-to-end trigger integration tests and DB CRUD tests
Add 7 #[ignore] e2e tests (one per trigger type) that fire real messages
to external services and verify job creation in v2_job. Also add 9 DB-level
CRUD tests for MQTT, GCP, and Email triggers.

Includes helper shell scripts in tests/fixtures/ to start/stop each
external service (MQTT, WebSocket, Postgres replication, Kafka, NATS,
SQS via LocalStack, GCP Pub/Sub emulator).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 12:28:25 +00:00
Ruben Fiszel 825c5b544c fix: incorrect raw app public workspaceStore derived 2026-02-09 00:23:42 +00:00
Ruben Fiszel 5b791390bc ci cap 2026-02-09 00:03:21 +00:00
Ruben Fiszel 71db1ae68f remove legacy RawAppService endpoints 2026-02-08 23:59:40 +00:00
Ruben FiszelandClaude Opus 4.5 5da830b1dd test: add hub, auth, critical alerts, and fork/tarball endpoint coverage
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 22:35:36 +00:00
Ruben FiszelandClaude Opus 4.6 dbcb5db155 test: add global endpoint coverage for users, groups, schedules, and more
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:20:34 +00:00
Ruben FiszelandClaude Opus 4.6 3256c34309 test: expand workspace endpoint coverage to ~40 endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:06:53 +00:00
Ruben FiszelandClaude Opus 4.5 4c737c57f0 test: expand endpoint coverage with workspaces, global users, and unauthed routes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 21:57:06 +00:00
Ruben FiszelandClaude Opus 4.6 d3bc4c4e52 fix: add missing :name param to groups/is_owner route
The handler expected Path((w_id, name)) but the route was registered
as /is_owner without :name, making the endpoint unreachable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 21:41:50 +00:00
Ruben FiszelandClaude Opus 4.6 49770dec94 test: add coverage for remaining easy/medium endpoints
Scripts: raw_unpinned, list_tokens, list_paths_from_workspace_runnable,
  history_update, toggle_workspace_error_handler, delete_bulk
Flows: list_tokens, list_paths_from_workspace_runnable,
  get/v/:version/p/*path, history_update, toggle_workspace_error_handler
Apps: secret_of, history_update
Users: exists, list_usage, update
Schedules: setdefaulthandler

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 21:38:31 +00:00
Ruben FiszelandClaude Opus 4.6 11fb483d66 test: add integration tests for schedules, groups, folders, users, and drafts
Also extends existing tests with additional endpoint coverage:
- scripts: archive/h, delete/h
- flows: get/v/:version
- apps: get/v/:version, custom_path_exists
- resources: list_names/:type
- base fixture: add password entry for whoami LEFT JOIN

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 21:25:35 +00:00
Ruben FiszelandClaude Opus 4.6 7a338427be ci: add mcp feature to backend test workflow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 21:07:39 +00:00
Ruben FiszelandClaude Opus 4.6 14cd7fc7d3 test: set RUST_LOG=off in CI and gate mcp_tools test behind mcp feature
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 21:06:51 +00:00
Ruben FiszelandClaude Opus 4.6 757401c9bb test: remove tracing init from API tests to silence server logs in CI
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 21:04:19 +00:00
Ruben FiszelandClaude Opus 4.6 b87356bfe7 test: add integration tests for scripts, flows, and apps endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 21:02:08 +00:00
Ruben Fiszel d1b8b61622 add back mcp_tools endpoints 2026-02-08 20:50:58 +00:00
Ruben Fiszel 9af9a3f39a add back get_value_interpolated from resource 2026-02-08 20:10:27 +00:00
Ruben Fiszel 2a328ae78c test nit 2026-02-08 18:47:26 +00:00
Ruben FiszelandClaude Opus 4.6 ac8cd098eb ci: limit test threads to prevent pool exhaustion (#7852)
* ci: limit test threads to 16 to prevent postgres pool exhaustion

Running all tests with unlimited parallelism exhausts postgres
max_connections (default 100), causing sqlx::test databases to fail
setup and producing spurious RowNotFound errors.

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

* fix: CI ruby env vars and mysql test binary coercion

- Ruby executor reads RUBY_BUNDLE_PATH and RUBY_GEM_PATH but CI was
  setting BUNDLE_PATH and GEM_PATH, causing "Executable bundle not
  found on worker" errors.
- MySQL test CAST(CONCAT(...) AS CHAR) returns binary type when param
  is bound as bytes. Use CONVERT(? USING utf8mb4) to ensure character
  result type.

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 18:25:10 +00:00
Ruben Fiszel acb2bd0517 ci nit 2026-02-08 17:54:48 +00:00
Ruben FiszelandClaude Opus 4.6 94865d3e69 ci: increase postgres max_connections to 500 for parallel tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:41:33 +00:00
Ruben FiszelandClaude Opus 4.6 8cfc4a154a chore: remove obsolete debouncing tests
The test file used old JobPayload/FlowValue field names that were
refactored into DebouncingSettings/ConcurrencySettings structs.
Remove the test file, fixture, feature flag, and cfg gate in monitor.rs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:39:27 +00:00
Ruben FiszelandClaude Opus 4.6 2b4c16c16c chore: improve quickjs disabled error message, disable rust cache in CI
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:25:06 +00:00
Ruben Fiszel 76f5f836bd ubicloud 16 2026-02-08 17:22:35 +00:00
Ruben FiszelandClaude Opus 4.6 2b08f812a4 chore: add quickjs feature to all_sqlx_features and CI test command
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:20:07 +00:00
Ruben Fiszel 896747344f sqlx 2026-02-08 16:49:06 +00:00
Ruben Fiszel efe23026ae sqlx 2026-02-08 16:41:24 +00:00
Ruben Fiszel a651e5b0c5 nit 2026-02-08 16:26:44 +00:00
Ruben Fiszel fa7f553baf ee-ref 2026-02-08 16:18:40 +00:00
Ruben FiszelandClaude Opus 4.6 7543e9d2c8 chore: make rquickjs, kube, otel proxy deps optional behind feature flags
- rquickjs: gated behind `quickjs` feature in windmill-jseval, propagated through windmill-worker/windmill-api, added to oss_core
- windmill-autoscaling: made optional in windmill-api (was unconditional), enabled via enterprise feature
- opentelemetry-proto, prost, hudsucker, rcgen, hyper-http-proxy, hyper-tls, hyper-util: made optional in windmill-worker, enabled via enterprise feature

This significantly reduces compilation time for vanilla `cargo check` without features.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 16:13:16 +00:00
Ruben Fiszel 4d50a598b9 nit 2026-02-08 15:52:19 +00:00
Ruben FiszelandClaude Opus 4.6 377d30e73e fix: box push() future to prevent stack overflow in nested async chains
The push() function generates a ~13KB async state machine that gets inlined
into every caller's future. In deeply nested async chains (e.g. flow execution),
this causes stack overflows. Boxing the future at the definition site via a thin
wrapper reduces each caller's stack footprint to a single pointer.

This also reverts the RUST_MIN_STACK workaround from CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 15:51:44 +00:00
Ruben Fiszel 38e81484f7 fix: improve tracing behavior with NO_PROXY 2026-02-08 15:44:26 +00:00