Commit Graph
12605 Commits
Author SHA1 Message Date
Diego Imbert 7c0af24b4a nit 2026-03-27 15:10:25 +01:00
Diego ImbertandClaude Opus 4.5 f6978bbca5 refactor: remove original_dbname/original_resource from forked_from, resolve from parent
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-27 15:01:50 +01:00
Diego Imbert e0654e3b9a nit 2026-03-27 14:48:46 +01:00
Diego ImbertandClaude Opus 4.5 b090f87bdb refactor: rename fork_pg_database to import_pg_database with source/target/override params
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-27 14:14:07 +01:00
Diego ImbertandClaude Opus 4.5 6374ce84f4 feat: enforce schema_and_data admin-only and extract create_custom_instance_database
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-27 12:05:27 +01:00
Diego Imbert a3db90feea dead code 2026-03-27 11:56:20 +01:00
Diego ImbertandClaude Opus 4.5 85d388bc7b refactor: simplify fork_pg_database to take source + target_dbname
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-27 11:21:33 +01:00
Diego ImbertandClaude Opus 4.5 8321cccf19 refactor: type DataTable.forked_from as DataTableForkedFrom struct
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-27 10:53:06 +01:00
Diego ImbertandClaude Opus 4.5 bef700b5cf fix: add validation to drop_custom_instance_database and use source db for CREATE/DROP
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-27 10:46:55 +01:00
Diego Imbert fd60dd11f4 Don't replace postgres dbname 2026-03-27 10:42:21 +01:00
Diego ImbertandClaude Opus 4.5 28795acfb4 refactor: use temp file on disk for pg_dump instead of in-memory string
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-27 10:30:36 +01:00
Diego Imbert 0ae726e358 nits 2026-03-26 21:11:30 +01:00
Diego ImbertandClaude Opus 4.5 3f40599c4f fix: handle missing columns/foreignKeys in schema conversion
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 20:57:10 +01:00
Diego ImbertandClaude Opus 4.5 9afbc1f976 feat: add confirmation modal before deploying migration to parent
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 20:47:42 +01:00
Diego Imbert 8c4adae457 nit auto next 2026-03-26 20:44:22 +01:00
Diego Imbert f4fe530db2 revert 2026-03-26 20:42:31 +01:00
Diego ImbertandClaude Opus 4.5 048aad6b18 fix: re-fetch target live schema after migration for correct baseline
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 20:41:36 +01:00
Diego ImbertandClaude Opus 4.5 1c476e6898 fix: show diff between forked_from schema and changed side
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 20:16:52 +01:00
Diego Imbert 4a0b19ffa3 ui nits 2026-03-26 20:15:20 +01:00
Diego ImbertandClaude Opus 4.5 e4a5e86c85 feat: add review drawer with DiffEditor and SQL migration runner
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 19:59:05 +01:00
Diego Imbert 6781f633bd Revert "feat: add review drawer with YAML diff and SQL migration runner"
This reverts commit 0a0deb5ddb.
2026-03-26 19:54:19 +01:00
Diego Imbert 4a0f1e815a Revert "refactor: use Monaco DiffEditor for YAML diff in review drawer"
This reverts commit a86008ba4c.
2026-03-26 19:54:13 +01:00
Diego Imbert 11934e840f nit 2026-03-26 19:52:50 +01:00
Diego ImbertandClaude Opus 4.5 a86008ba4c refactor: use Monaco DiffEditor for YAML diff in review drawer
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 19:31:10 +01:00
Diego ImbertandClaude Opus 4.5 0a0deb5ddb feat: add review drawer with YAML diff and SQL migration runner
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 19:12:50 +01:00
Diego Imbert 849da088ad UI 2026-03-26 18:23:09 +01:00
Diego ImbertandClaude Opus 4.5 48cffa17ec feat: add datatable schema diff section to merge UI
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 18:01:26 +01:00
Diego ImbertandClaude Opus 4.5 d7a79d960b refactor: extract drop_custom_instance_database into windmill-common
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 17:38:28 +01:00
Diego Imbert 815e47c2db ui nit 2026-03-25 17:36:22 +01:00
Diego ImbertandClaude Opus 4.5 61cb23f5ad fix: show dbname instead of resource type in fork deletion modal
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 17:29:23 +01:00
Diego ImbertandClaude Opus 4.5 fec09b6e3d fix: cast pg char columns to text in FK schema query
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 17:24:48 +01:00
Diego ImbertandClaude Opus 4.5 5027642b83 refactor: extract drop_forked_datatable_databases from delete_workspace
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 17:04:15 +01:00
Diego ImbertandClaude Opus 4.5 0433b0d3fa feat: drop forked databases on workspace deletion with confirmation UI
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 16:51:57 +01:00
Diego Imbert 70cbb64ce4 nits 2026-03-25 16:34:39 +01:00
Diego ImbertandClaude Opus 4.5 e252fc32a4 fix: set forked_from on datatable config for both instance and resource types
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 16:06:16 +01:00
Diego Imbert 38d7d2898c fix duplicate migration key 2026-03-25 15:56:01 +01:00
Diego ImbertandClaude Opus 4.5 4a91e30187 feat: add get_datatable_full_schema endpoint and snapshot schema on fork
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 13:11:58 +01:00
Diego Imbert 5bb67954bd Revert "feat: track datatable table DDL changes in workspace_diff"
This reverts commit 7526dd68b9.
2026-03-25 11:03:37 +01:00
Diego ImbertandClaude Opus 4.5 7526dd68b9 feat: track datatable table DDL changes in workspace_diff
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 14:27:58 +01:00
Diego Imbert 01c3cfe7fa Merge remote-tracking branch 'origin/main' into fork-datatable-schema-export 2026-03-24 13:16:46 +01:00
Diego ImbertandClaude Opus 4.5 5a541c1e20 fix: add forked_from to DataTableSettings OpenAPI schema
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 11:42:44 +01:00
Diego Imbert a3ea32e3ba nit onFinish 2026-03-24 11:38:04 +01:00
Diego ImbertandClaude Opus 4.5 54007cb26d feat: add forked_from field to DataTable and set it for instance forks
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 11:30:04 +01:00
Diego ImbertandClaude Opus 4.5 38f6e6e985 feat: update forked workspace datatable settings after fork creation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 11:23:03 +01:00
Diego ImbertandClaude Opus 4.5 f9af035e65 fix: use source workspace for forkPgDatabase calls during fork
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 11:10:35 +01:00
Diego Imbert 6221868703 nit fix switching workspace prematurely 2026-03-24 11:10:02 +01:00
Ruben FiszelandClaude Opus 4.6 37886edda1 fix: show effective isolation level on workers page (#8491)
* Show effective isolation level on workers page, not configured

The workers page displayed the configured isolation level (nsjail/unshare)
even when the binary wasn't actually available, which was misleading.

Now shows "none (nsjail unavailable)" or "none (unshare unavailable)"
when the setting is enabled but the binary failed its startup test,
so admins can immediately see the mismatch from the UI.

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

* Simplify: use standard 'none' value when isolation binary unavailable

Keep the string as one of the 3 known values (nsjail/unshare/none)
since the frontend checks === 'none' for the warning badge. Now if
nsjail/unshare is configured but the binary is unavailable, it
correctly reports 'none' so the warning badge shows up.

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

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 09:48:56 +00:00
5d1c54d9b3 feat: Debounce node (#8324)
* Debounce node works

* sqlx prepare

* sqlx prepare

* fix: address PR review issues for flow node debouncing

- Add sibling check in parent-walking loop to avoid killing branchall siblings
- Remove stale .sqlx cache files from earlier iterations
- Remove single-variant FlowNodeDebounceResult enum, use Result<()>
- Parse flow value once in version guard, recurse into nested modules
- Fix Svelte reactivity when switching selected flow modules
- Fix Tab indentation in FlowModuleComponent
- Use integer types in OpenAPI spec for debounce fields

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

* ee repo ref

* nit sqlx

* add Debouncing: None

* ee repo ref

* ee repo

* sqlx update

* fix: reject node-level debouncing inside branches (branchall/branchone)

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

* Revert "fix: reject node-level debouncing inside branches (branchall/branchone)"

This reverts commit fa4820dde2.

* ee repo

* sqlx prepare

* sqlx prepare

* feat: add MIN_VERSION_SUPPORTS_NODE_DEBOUNCING (1.658.0) version guard

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

* docs: mark node-level debouncing as EE only in openflow schema

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

* fix: guard node debouncing against parallel steps (len > 1)

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

* generate system prompts

* system prompts

* chore: update ee-repo-ref to c04f3851c03758662e4936ff4b6e71bc56dbae7e

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

Previous ee-repo-ref: d140bb8944dfe3efb23cf8c12f556eacf30e2f87

New ee-repo-ref: c04f3851c03758662e4936ff4b6e71bc56dbae7e

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-03-24 09:47:41 +00:00
Diego ImbertandClaude Opus 4.5 aa30fd252d fix: Move database manager SQL queries to backend (#8306)
* SQL Query builders in Rust

* Remove frontend sql scripts and substitute at execution

* fix null value bug

* Handle WM_INTERNAL_DB marker for apps deployed prior

* Revert policy handling

* Fix database studio empty string as where clause

* check policy

* Revert "check policy"

This reverts commit 3ea7899979.

* Revert "Fix database studio empty string as where clause"

This reverts commit 432fc87915.

* Revert

* legacy comments

* Move DDL queries to backend

* tests

* move bigquery bun scripts to backend

* expand markers + other nits

* fix: escape sql literals in query builders and async preview sql

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

* fix: quote all user-supplied identifiers in query builders to prevent SQL injection

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

* fix: suppress dead_code warnings for deserialization-only fields and test-only helpers

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

* fix: correct DDL test assertions and drop_table schema handling for non-schema DBs

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

* MySQL fix

* Fix 0/1 bool

* MySQL fix Yes/No casing

* Better error toasts

* Fix ms sql ntext cast

* fix: quote table name in Snowflake SHOW PRIMARY KEYS query

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

* fix: quote schema and table in Snowflake SHOW IMPORTED KEYS query

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

* fix: quote BigQuery dataset name in metadata query

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

* fix: remove invalid + separator in MSSQL CONCAT for count query

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 09:45:37 +00:00
hugocasaandClaude Opus 4.6 37ebaf4d0a feat: add typed request body to OpenAPI spec generation (#8481)
* feat: add typed request body schema to OpenAPI spec for runnables without preprocessor

For HTTP routes and webhooks whose runnables (scripts/flows) don't have a
preprocessor, generate a typed request body in the OpenAPI spec using the
runnable's argument schema. Routes with preprocessors or wrap_body keep
the existing generic default request body.

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

* fix sqlx

* fix: add warning logs for schema fetch failures and strip non-OpenAPI keys

- Log tracing::warn when DB queries for schema fail instead of silently
  swallowing errors with .ok()
- Strip $schema and order keys from the JSON Schema before embedding in
  the OpenAPI spec for broader client compatibility

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

* fix: add tracing dependency to windmill-api-openapi

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

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 09:29:06 +00:00