From 23a6fbf26d3e69f7b4338fe65c5fd498cdaade1e Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 19 Aug 2024 14:17:47 +0200 Subject: [PATCH 001/523] fix: frontend/package.json & frontend/package-lock.json to reduce vulnerabilities (#4255) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-INFLIGHT-6095116 Co-authored-by: snyk-bot --- frontend/package-lock.json | 69 +++++++++++++++++++++++++------------- frontend/package.json | 2 +- 2 files changed, 47 insertions(+), 24 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 2362fcdcf4..cb330b8eed 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -16,7 +16,7 @@ "@redocly/json-to-json-schema": "^0.0.1", "@tanstack/svelte-table": "^8.9.9", "@windmill-labs/svelte-dnd-action": "latest", - "@xyflow/svelte": "^0.1.14", + "@xyflow/svelte": "^0.1.15", "ag-charts-community": "^9.0.1", "ag-charts-enterprise": "^9.0.1", "ag-grid-community": "^31.0.0", @@ -2294,7 +2294,8 @@ "node_modules/@types/pug": { "version": "2.0.9", "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.9.tgz", - "integrity": "sha512-Yg4LkgFYvn1faISbDNWmcAC1XoDT8IoMUFspp5mnagKk+UvD2N0IWt5A7GRdMubsNWqgCLmrkf8rXkzNqb4szA==" + "integrity": "sha512-Yg4LkgFYvn1faISbDNWmcAC1XoDT8IoMUFspp5mnagKk+UvD2N0IWt5A7GRdMubsNWqgCLmrkf8rXkzNqb4szA==", + "dev": true }, "node_modules/@types/semver": { "version": "7.5.5", @@ -2515,23 +2516,24 @@ } }, "node_modules/@xyflow/svelte": { - "version": "0.1.14", - "resolved": "https://registry.npmjs.org/@xyflow/svelte/-/svelte-0.1.14.tgz", - "integrity": "sha512-DdlFz+JKW1sQt8Q8O1DoSsroTvFk1RzmpcEZcGARt1REbnLy4BYG/03piaiclaC4iHK6feaPDvxpF057CkMCTw==", + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/@xyflow/svelte/-/svelte-0.1.15.tgz", + "integrity": "sha512-QGM7rlBkoLG6jhHA9U8ZyMtqL62Cpn/T4OElTAUuKTgwuLTdzWqwSCdXpFTs8T6eiJD/Y4jYbVYsmQKDaB9rOw==", + "license": "MIT", "dependencies": { "@svelte-put/shortcut": "^3.1.0", - "@xyflow/system": "0.0.37", - "classcat": "^5.0.4", - "svelte-preprocess": "^5.1.3" + "@xyflow/system": "0.0.38", + "classcat": "^5.0.4" }, "peerDependencies": { "svelte": "^3.0.0 || ^4.0.0" } }, "node_modules/@xyflow/system": { - "version": "0.0.37", - "resolved": "https://registry.npmjs.org/@xyflow/system/-/system-0.0.37.tgz", - "integrity": "sha512-hSIhezhxgftPUpC+xiQVIorcRILZUOWlLjpYPTyGWRu8s4RJvM4GqvrsFmD5OnMKXLgpU7/PqqUibDVO67oWQQ==", + "version": "0.0.38", + "resolved": "https://registry.npmjs.org/@xyflow/system/-/system-0.0.38.tgz", + "integrity": "sha512-auJU8djbT59S5Afb9lFds1lQJvKIb0zUoHhO+il/ogDDG5BbFds6D8g5a8Q3oHdyR6dy0TaD1oZq9s7Ydhn41g==", + "license": "MIT", "dependencies": { "@types/d3-drag": "^3.0.7", "@types/d3-selection": "^3.0.10", @@ -3004,6 +3006,7 @@ "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, "engines": { "node": "*" } @@ -3343,7 +3346,8 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "devOptional": true }, "node_modules/confbox": { "version": "0.1.6", @@ -3955,6 +3959,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, "engines": { "node": ">=8" } @@ -4181,7 +4186,8 @@ "node_modules/es6-promise": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==" + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true }, "node_modules/esbuild": { "version": "0.21.5", @@ -4875,7 +4881,8 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "devOptional": true }, "node_modules/fsevents": { "version": "2.3.3", @@ -4993,6 +5000,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "devOptional": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5024,6 +5032,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "devOptional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5033,6 +5042,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "devOptional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -5149,7 +5159,8 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", @@ -5457,6 +5468,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "devOptional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -5465,7 +5477,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "devOptional": true }, "node_modules/ini": { "version": "1.3.8", @@ -5945,7 +5958,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=10" } @@ -7024,6 +7037,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, "engines": { "node": ">=4" } @@ -7112,6 +7126,7 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, "dependencies": { "minimist": "^1.2.6" }, @@ -7224,7 +7239,7 @@ "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "devOptional": true, + "dev": true, "funding": [ { "type": "github", @@ -7533,6 +7548,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "devOptional": true, "dependencies": { "wrappy": "1" } @@ -7729,6 +7745,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -7816,7 +7833,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "devOptional": true + "dev": true }, "node_modules/picomatch-browser": { "version": "2.2.6", @@ -7906,7 +7923,7 @@ "version": "8.4.41", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", - "devOptional": true, + "dev": true, "funding": [ { "type": "opencollective", @@ -8081,7 +8098,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "devOptional": true, + "dev": true, "dependencies": { "lilconfig": "^2.0.5", "yaml": "^2.1.1" @@ -9048,6 +9065,7 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", + "dev": true, "dependencies": { "es6-promise": "^3.1.2", "graceful-fs": "^4.1.3", @@ -9059,6 +9077,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -9228,6 +9247,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", "integrity": "sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==", + "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.14", "buffer-crc32": "^0.2.5", @@ -9885,6 +9905,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.1.4.tgz", "integrity": "sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==", + "dev": true, "hasInstallScript": true, "dependencies": { "@types/pug": "^2.0.6", @@ -9946,6 +9967,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, "dependencies": { "min-indent": "^1.0.0" }, @@ -10325,7 +10347,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "devOptional": true, + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -10788,7 +10810,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "devOptional": true }, "node_modules/write-file-atomic": { "version": "5.0.1", diff --git a/frontend/package.json b/frontend/package.json index 26140e7f23..d34aff5e7f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -97,7 +97,7 @@ "@redocly/json-to-json-schema": "^0.0.1", "@tanstack/svelte-table": "^8.9.9", "@windmill-labs/svelte-dnd-action": "latest", - "@xyflow/svelte": "^0.1.14", + "@xyflow/svelte": "^0.1.15", "ag-charts-community": "^9.0.1", "ag-charts-enterprise": "^9.0.1", "ag-grid-community": "^31.0.0", From 47c5ca7ada9690e2dad13e06b01da97738af301e Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 19 Aug 2024 17:03:06 +0200 Subject: [PATCH 002/523] fix(typescript-client): runFlowAsync by default assume job doesn't outlive flow --- typescript-client/client.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/typescript-client/client.ts b/typescript-client/client.ts index 73c1c1834e..01029ecac2 100644 --- a/typescript-client/client.ts +++ b/typescript-client/client.ts @@ -134,7 +134,7 @@ export async function runFlow( console.info(`running \`${path}\` synchronously with args:`, args); } - const jobId = await runFlowAsync(path, args); + const jobId = await runFlowAsync(path, args, null, true); return await waitJob(jobId, verbose); } @@ -272,7 +272,8 @@ export async function runScriptAsync( export async function runFlowAsync( path: string | null, args: Record | null, - scheduledInSeconds: number | null = null + scheduledInSeconds: number | null = null, + flowOutlivesParent: boolean = false ): Promise { // Create a script job and return its job id. @@ -283,9 +284,11 @@ export async function runFlowAsync( params["scheduled_in_secs"] = scheduledInSeconds; } - let parentJobId = getEnv("WM_JOB_ID"); - if (parentJobId !== undefined) { - params["parent_job"] = parentJobId; + if (flowOutlivesParent) { + let parentJobId = getEnv("WM_JOB_ID"); + if (parentJobId !== undefined) { + params["parent_job"] = parentJobId; + } } let rootJobId = getEnv("WM_ROOT_FLOW_JOB_ID"); From 94d92e90202eb4c05c57d58c912e0d6e3e97de6c Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 19 Aug 2024 17:16:22 +0200 Subject: [PATCH 003/523] Update client.ts --- typescript-client/client.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/typescript-client/client.ts b/typescript-client/client.ts index 01029ecac2..0c7c672f78 100644 --- a/typescript-client/client.ts +++ b/typescript-client/client.ts @@ -134,7 +134,7 @@ export async function runFlow( console.info(`running \`${path}\` synchronously with args:`, args); } - const jobId = await runFlowAsync(path, args, null, true); + const jobId = await runFlowAsync(path, args, null, false); return await waitJob(jobId, verbose); } @@ -273,7 +273,7 @@ export async function runFlowAsync( path: string | null, args: Record | null, scheduledInSeconds: number | null = null, - flowOutlivesParent: boolean = false + flowOutlivesParent: boolean = true ): Promise { // Create a script job and return its job id. @@ -284,7 +284,7 @@ export async function runFlowAsync( params["scheduled_in_secs"] = scheduledInSeconds; } - if (flowOutlivesParent) { + if (!flowOutlivesParent) { let parentJobId = getEnv("WM_JOB_ID"); if (parentJobId !== undefined) { params["parent_job"] = parentJobId; From 40b66062dd30ac347c422e146925d24a52bee1a9 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 19 Aug 2024 22:18:48 +0200 Subject: [PATCH 004/523] fix(cli): improve error message of cli --- cli/flow.ts | 22 ++++++++++++++-------- cli/folder.ts | 3 +-- cli/script.ts | 18 +++++++++++++----- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/cli/flow.ts b/cli/flow.ts index f47d319a07..929e0c2b34 100644 --- a/cli/flow.ts +++ b/cli/flow.ts @@ -115,14 +115,20 @@ export async function pushFlow( }); } else { log.info(colors.bold.yellow("Creating new flow...")); - await FlowService.createFlow({ - workspace: workspace, - requestBody: { - path: remotePath.replaceAll(SEP, "/"), - deployment_message: message, - ...localFlow, - }, - }); + try { + await FlowService.createFlow({ + workspace: workspace, + requestBody: { + path: remotePath.replaceAll(SEP, "/"), + deployment_message: message, + ...localFlow, + }, + }); + } catch (e) { + throw new Error( + `Failed to create flow ${remotePath}: ${e.body ?? e.message}` + ); + } } } diff --git a/cli/folder.ts b/cli/folder.ts index 4c1ddd85c0..ecc6e56e24 100644 --- a/cli/folder.ts +++ b/cli/folder.ts @@ -92,8 +92,7 @@ export async function pushFolder( }, }); } catch (e) { - console.error(e.body); - throw e; + throw Error(`Failed to create folder ${name}: ${e.body ?? e.message}`); } } } diff --git a/cli/script.ts b/cli/script.ts index 408f131b60..5ac01324f6 100644 --- a/cli/script.ts +++ b/cli/script.ts @@ -366,11 +366,19 @@ async function createScript( workspace: Workspace ) { if (!bundleContent) { - // no parent hash - await ScriptService.createScript({ - workspace: workspaceId, - requestBody: body, - }); + try { + // no parent hash + await ScriptService.createScript({ + workspace: workspaceId, + requestBody: body, + }); + } catch (e) { + throw Error( + `Script creation for ${body.path} with parent ${ + body.parent_hash + } was not successful: ${e.body ?? e.message}` + ); + } } else { const form = new FormData(); form.append("script", JSON.stringify(body)); From 5f220f49a981732e75f10207f820f54c7d69046c Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 20 Aug 2024 08:49:51 +0200 Subject: [PATCH 005/523] fix(bun): disable large transpiling cache --- backend/windmill-worker/src/bun_executor.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/windmill-worker/src/bun_executor.rs b/backend/windmill-worker/src/bun_executor.rs index a1bc2ed299..c7ff297ff1 100644 --- a/backend/windmill-worker/src/bun_executor.rs +++ b/backend/windmill-worker/src/bun_executor.rs @@ -571,6 +571,7 @@ pub fn copy_recursively( } } } + let original = entry.path(); if filetype.is_dir() { @@ -1290,6 +1291,10 @@ pub async fn get_common_bun_proc_envs(base_internal_url: &str) -> HashMap Date: Tue, 20 Aug 2024 12:15:04 +0200 Subject: [PATCH 006/523] fix: add FORCE_WORKER_TAGS & fix workers page when default worker group is missing --- backend/src/monitor.rs | 2 +- backend/windmill-common/src/worker.rs | 11 +++++++++++ .../src/routes/(root)/(logged)/workers/+page.svelte | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/backend/src/monitor.rs b/backend/src/monitor.rs index ad835c713b..e4a7fd1e9f 100644 --- a/backend/src/monitor.rs +++ b/backend/src/monitor.rs @@ -934,7 +934,7 @@ pub async fn reload_worker_config( tracing::error!("Error reloading worker config: {:?}", e) } else { let wc = WORKER_CONFIG.read().await; - let config = config.unwrap(); + let mut config = config.unwrap(); if *wc != config || config.dedicated_worker.is_some() { if kill_if_change { if config.dedicated_worker.is_some() diff --git a/backend/windmill-common/src/worker.rs b/backend/windmill-common/src/worker.rs index 292a4aef2e..4924d1ea8a 100644 --- a/backend/windmill-common/src/worker.rs +++ b/backend/windmill-common/src/worker.rs @@ -563,6 +563,17 @@ pub async fn load_worker_config( config.worker_tags = Some(all_tags); } + if let Some(force_worker_tags) = std::env::var("FORCE_WORKER_TAGS") + .ok() + .map(|x| x.split(',').map(|x| x.to_string()).collect::>()) + { + tracing::info!( + "Detected FORCE_WORKER_TAGS, forcing worker tags to: {:#?}", + force_worker_tags + ); + config.worker_tags = Some(force_worker_tags); + } + // set worker_tags using default if none. If priority tags is set, compute the sorted priority tags as well let worker_tags = config .worker_tags diff --git a/frontend/src/routes/(root)/(logged)/workers/+page.svelte b/frontend/src/routes/(root)/(logged)/workers/+page.svelte index f87c86a679..42eec120af 100644 --- a/frontend/src/routes/(root)/(logged)/workers/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/workers/+page.svelte @@ -189,10 +189,10 @@ let queueMetricsDrawer: Drawer let selectedTab: string = 'default' - $: workerGroups && selectedTab == 'default' && updateSelectedTabIfDefaultDoesNotExist() + $: groupedWorkers && selectedTab == 'default' && updateSelectedTabIfDefaultDoesNotExist() function updateSelectedTabIfDefaultDoesNotExist() { - if (selectedTab == 'default' && !workerGroups?.hasOwnProperty('default')) { + if (selectedTab == 'default' && !groupedWorkers.some((x) => x[0] == 'default')) { selectedTab = Object.keys(workerGroups ?? {})[0] ?? 'default' } } From 82e73d8505415fabc0a25a2c26ac7dde2fbcd12e Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Tue, 20 Aug 2024 12:19:44 +0200 Subject: [PATCH 007/523] =?UTF-8?q?feat(frontend):=20improve=20versions=20?= =?UTF-8?q?history=20by=20adding=20a=20diff=20viewer=20with=E2=80=A6=20(#4?= =?UTF-8?q?261)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(frontend): improve versions history by adding a diff viewer with the previous version * feat(frontend): support diff with all previous versions * feat(frontend): support diff with all previous versions * feat(frontend): improving version diff * feat(frontend): improve UI --- .../components/ScriptVersionHistory.svelte | 69 +++++++++++++++++-- .../flows/content/FlowModuleScript.svelte | 34 ++++++++- .../scripts/get/[...hash]/+page.svelte | 2 +- 3 files changed, 97 insertions(+), 8 deletions(-) diff --git a/frontend/src/lib/components/ScriptVersionHistory.svelte b/frontend/src/lib/components/ScriptVersionHistory.svelte index 1cdbf0889b..74783882e0 100644 --- a/frontend/src/lib/components/ScriptVersionHistory.svelte +++ b/frontend/src/lib/components/ScriptVersionHistory.svelte @@ -8,7 +8,9 @@ import FlowModuleScript from './flows/content/FlowModuleScript.svelte' import { createEventDispatcher } from 'svelte' import Button from './common/button/Button.svelte' - import { ExternalLink, Pencil, ArrowRight, X } from 'lucide-svelte' + import { ExternalLink, Pencil, ArrowRight, X, Diff, Code } from 'lucide-svelte' + import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte' + import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte' const dispatch = createEventDispatcher() @@ -19,6 +21,7 @@ let deploymentMsgUpdate: string | undefined = undefined let selectedVersion: ScriptHistory | undefined = undefined + let selectedVersionIndex: number | undefined = undefined let versions: ScriptHistory[] | undefined = undefined let loading: boolean = false @@ -53,6 +56,9 @@ } loadVersions() + + let showDiff: boolean = false + let previousHash: string | undefined = undefined @@ -62,17 +68,34 @@ {#if !loading} {#if versions && versions.length > 0}
- {#each versions ?? [] as version} + {#each versions ?? [] as version, versionIndex} +
{ selectedVersion = version + selectedVersionIndex = versionIndex + + if (showDiff && versions && selectedVersionIndex === versions.length - 1) { + showDiff = false + } + + const availableVersions = versions?.slice(selectedVersionIndex + 1) + + if ( + previousHash && + !availableVersions?.find((v) => v.script_hash === previousHash) + ) { + previousHash = availableVersions?.[0]?.script_hash + } + deploymentMsgUpdate = undefined deploymentMsgUpdateMode = false }} @@ -168,7 +191,41 @@ {/if} - + + {#if selectedVersionIndex !== undefined && versions?.slice(selectedVersionIndex + 1).length} +
+
+ + + + +
+ + {#if showDiff} +
Versions:
+ + {/if} +
+ {:else} +
No previous version found
+ {/if} +
{/key} {:else} diff --git a/frontend/src/lib/components/flows/content/FlowModuleScript.svelte b/frontend/src/lib/components/flows/content/FlowModuleScript.svelte index 0ed67d672f..a019ae2cbc 100644 --- a/frontend/src/lib/components/flows/content/FlowModuleScript.svelte +++ b/frontend/src/lib/components/flows/content/FlowModuleScript.svelte @@ -1,5 +1,6 @@
@@ -47,7 +66,20 @@ {#if notFound}
script not found at {path} in workspace {$workspaceStore}
{:else if showAllCode} - + {#if showDiff} + {#key previousCode + code} + + {/key} + {:else} + + {/if} {:else}
diff --git a/frontend/src/routes/(root)/(logged)/scripts/get/[...hash]/+page.svelte b/frontend/src/routes/(root)/(logged)/scripts/get/[...hash]/+page.svelte index 5e999d7089..b8f8ade638 100644 --- a/frontend/src/routes/(root)/(logged)/scripts/get/[...hash]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/scripts/get/[...hash]/+page.svelte @@ -475,7 +475,7 @@ {#if script} - (versionsDrawerOpen = false)}> + (versionsDrawerOpen = false)} noPadding> Date: Tue, 20 Aug 2024 12:43:35 +0200 Subject: [PATCH 008/523] version diff editor takes screen height --- backend/src/monitor.rs | 2 +- frontend/src/lib/components/ScriptVersionHistory.svelte | 2 +- .../src/lib/components/flows/content/FlowModuleScript.svelte | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/monitor.rs b/backend/src/monitor.rs index e4a7fd1e9f..ad835c713b 100644 --- a/backend/src/monitor.rs +++ b/backend/src/monitor.rs @@ -934,7 +934,7 @@ pub async fn reload_worker_config( tracing::error!("Error reloading worker config: {:?}", e) } else { let wc = WORKER_CONFIG.read().await; - let mut config = config.unwrap(); + let config = config.unwrap(); if *wc != config || config.dedicated_worker.is_some() { if kill_if_change { if config.dedicated_worker.is_some() diff --git a/frontend/src/lib/components/ScriptVersionHistory.svelte b/frontend/src/lib/components/ScriptVersionHistory.svelte index 74783882e0..584ea95596 100644 --- a/frontend/src/lib/components/ScriptVersionHistory.svelte +++ b/frontend/src/lib/components/ScriptVersionHistory.svelte @@ -132,7 +132,7 @@
{#if selectedVersion} {#key selectedVersion} -
+
{#if deploymentMsgUpdateMode}
diff --git a/frontend/src/lib/components/flows/content/FlowModuleScript.svelte b/frontend/src/lib/components/flows/content/FlowModuleScript.svelte index a019ae2cbc..b769c1a33d 100644 --- a/frontend/src/lib/components/flows/content/FlowModuleScript.svelte +++ b/frontend/src/lib/components/flows/content/FlowModuleScript.svelte @@ -69,7 +69,7 @@ {#if showDiff} {#key previousCode + code} Date: Tue, 20 Aug 2024 12:46:31 +0200 Subject: [PATCH 009/523] nit diff editor --- .../src/lib/components/flows/content/FlowModuleScript.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/flows/content/FlowModuleScript.svelte b/frontend/src/lib/components/flows/content/FlowModuleScript.svelte index b769c1a33d..064382f4b8 100644 --- a/frontend/src/lib/components/flows/content/FlowModuleScript.svelte +++ b/frontend/src/lib/components/flows/content/FlowModuleScript.svelte @@ -4,7 +4,7 @@ import HighlightCode from '$lib/components/HighlightCode.svelte' import TimeAgo from '$lib/components/TimeAgo.svelte' import { ScriptService } from '$lib/gen' - import { getScriptByPath } from '$lib/scripts' + import { getScriptByPath, scriptLangToEditorLang } from '$lib/scripts' import { workspaceStore } from '$lib/stores' export let path: string @@ -72,7 +72,7 @@ class="h-screen" readOnly automaticLayout - defaultLang={language} + defaultLang={scriptLangToEditorLang(language)} defaultOriginal={previousCode} defaultModified={code} /> From 5b90b76a9a7a68a7542dd78c861a4da6e823af80 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 20 Aug 2024 12:47:12 +0200 Subject: [PATCH 010/523] chore(main): release 1.382.0 (#4256) * chore(main): release 1.382.0 * Apply automatic changes --------- Co-authored-by: rubenfiszel --- CHANGELOG.md | 18 + backend/Cargo.lock | 427 +++++++++++------- backend/Cargo.toml | 4 +- backend/windmill-api/openapi.yaml | 2 +- benchmarks/lib.ts | 2 +- cli/main.ts | 2 +- frontend/package-lock.json | 4 +- frontend/package.json | 2 +- lsp/Pipfile | 4 +- openflow.openapi.yaml | 2 +- .../WindmillClient/WindmillClient.psd1 | 2 +- python-client/wmill/pyproject.toml | 2 +- python-client/wmill_pg/pyproject.toml | 2 +- typescript-client/jsr.json | 2 +- typescript-client/package.json | 2 +- version.txt | 2 +- 16 files changed, 287 insertions(+), 192 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b457783be..54d37c9aaf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## [1.382.0](https://github.com/windmill-labs/windmill/compare/v1.381.0...v1.382.0) (2024-08-20) + + +### Features + +* **frontend:** improve versions history by adding a diff viewer with… ([#4261](https://github.com/windmill-labs/windmill/issues/4261)) ([c19df12](https://github.com/windmill-labs/windmill/commit/c19df12292241c20c12e3de5d880c04df9b74324)) + + +### Bug Fixes + +* add FORCE_WORKER_TAGS & fix workers page when default worker group is missing ([09c6af0](https://github.com/windmill-labs/windmill/commit/09c6af05cd6e0b3b30f771a125b1fa330a938101)) +* **bun:** disable large transpiling cache ([1a0e32b](https://github.com/windmill-labs/windmill/commit/1a0e32b40b5f1ac5dcfe3639e697affb6e79a558)) +* **cli:** improve error message of cli ([f3bcadb](https://github.com/windmill-labs/windmill/commit/f3bcadbfb1e42b56996e273800aa0dcb01a6868b)) +* frontend/package.json & frontend/package-lock.json to reduce vulnerabilities ([#4255](https://github.com/windmill-labs/windmill/issues/4255)) ([7fe0442](https://github.com/windmill-labs/windmill/commit/7fe0442a814ed42b1775386be5f4defdcb5c0a0f)) +* **frontend:** nit worker limits ([#4258](https://github.com/windmill-labs/windmill/issues/4258)) ([bb92824](https://github.com/windmill-labs/windmill/commit/bb9282427399f305c3e8874204e6478272c43ff8)) +* improve resource picker handling of objects ([2502377](https://github.com/windmill-labs/windmill/commit/250237793b3c2b1afd5ee122b147301bc487eeeb)) +* **typescript-client:** runFlowAsync by default assume job doesn't outlive flow ([010e0fd](https://github.com/windmill-labs/windmill/commit/010e0fdc2352d740a72de124cc26eea8fc1915af)) + ## [1.381.0](https://github.com/windmill-labs/windmill/compare/v1.380.0...v1.381.0) (2024-08-16) diff --git a/backend/Cargo.lock b/backend/Cargo.lock index a553da04f0..0e0f81d57e 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -27,6 +27,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aes" version = "0.7.5" @@ -229,9 +235,9 @@ checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "arrow" @@ -459,7 +465,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -618,7 +624,7 @@ dependencies = [ "bytes", "http 1.1.0", "rand 0.8.5", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde", "serde-aux", "serde_json", @@ -635,7 +641,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -683,7 +689,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -725,7 +731,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -845,9 +851,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca5e0b9fb285638f1007e9d961d963b9e504ab968fe5a3807cce94070bd0ce3" +checksum = "11822090cf501c316c6f75711d77b96fba30658e3867a7762e5e2f5d32d31e81" dependencies = [ "aws-credential-types", "aws-runtime", @@ -867,9 +873,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.39.0" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc3e48ec239bb734db029ceef83599f4c9b3ce5d25c961b5bcd3f031c15bed54" +checksum = "78a2a06ff89176123945d1bbe865603c4d7101bea216a550bb4d2e4e9ba74d74" dependencies = [ "aws-credential-types", "aws-runtime", @@ -889,9 +895,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede095dfcc5c92b224813c24a82b65005a475c98d737e2726a898cf583e2e8bd" +checksum = "a20a91795850826a6f456f4a48eff1dfa59a0e69bdbf5b8c50518fd372106574" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1142,7 +1148,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -1264,10 +1270,28 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.74", + "syn 2.0.75", "which 4.4.2", ] +[[package]] +name = "bindgen" +version = "0.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0127a1da21afb5adaae26910922c3f7afd3d329ba1a1b98a0884cab4907a251" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.75", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -1330,9 +1354,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" dependencies = [ "arrayref", "arrayvec", @@ -1409,7 +1433,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "syn_derive", ] @@ -1498,7 +1522,7 @@ checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -1747,7 +1771,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2133,7 +2157,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2181,7 +2205,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2203,7 +2227,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2690,7 +2714,7 @@ dependencies = [ "dlopen2", "dlopen2_derive", "once_cell", - "rustls-native-certs 0.7.1", + "rustls-native-certs 0.7.2", "rustls-pemfile 2.1.3", ] @@ -2723,7 +2747,7 @@ dependencies = [ "quote", "strum 0.25.0", "strum_macros 0.25.3", - "syn 2.0.74", + "syn 2.0.75", "thiserror", ] @@ -2783,9 +2807,9 @@ dependencies = [ [[package]] name = "deno_unsync" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03ee1607db298c8f12124b345a52d5f2f504a7504c9d535f1d8f07127b237010" +checksum = "2f36b4ef61a04ce201b925a5dffa90f88437d37fee4836c758470dd15ba7f05e" dependencies = [ "parking_lot", "tokio", @@ -2902,7 +2926,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2999,7 +3023,7 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3155,7 +3179,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3175,7 +3199,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3314,13 +3338,13 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.31" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" +checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" dependencies = [ "crc32fast", "libz-sys", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -3366,9 +3390,9 @@ dependencies = [ [[package]] name = "fqdn" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08b1eaa7dfddeab6036292995620bf0435712e619db6d7690605897e76975eb0" +checksum = "eb540cf7bc4fe6df9d8f7f0c974cfd0dce8ed4e9e8884e73433b503ee78b4e7d" [[package]] name = "from_variant" @@ -3378,7 +3402,7 @@ checksum = "32016f1242eb82af5474752d00fd8ebcd9004bd69b462b1c91de833972d08ed4" dependencies = [ "proc-macro2", "swc_macros_common", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3406,7 +3430,7 @@ checksum = "b0fa992f1656e1707946bbba340ad244f0814009ef8c0118eb7b658395f19a2e" dependencies = [ "frunk_proc_macro_helpers", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3418,7 +3442,7 @@ dependencies = [ "frunk_core", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3430,7 +3454,7 @@ dependencies = [ "frunk_core", "frunk_proc_macro_helpers", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3554,7 +3578,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3807,7 +3831,7 @@ checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3894,9 +3918,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ "atomic-waker", "bytes", @@ -4195,7 +4219,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "httparse", @@ -4234,7 +4258,7 @@ dependencies = [ "hyper 1.4.1", "hyper-util", "rustls 0.23.12", - "rustls-native-certs 0.7.1", + "rustls-native-certs 0.7.2", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", @@ -4433,7 +4457,7 @@ dependencies = [ "socket2 0.5.7", "widestring", "windows-sys 0.48.0", - "winreg 0.50.0", + "winreg", ] [[package]] @@ -4451,7 +4475,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4660,9 +4684,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.156" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5f43f184355eefb8d17fc948dbecf6c13be3c141f20d834ae842193a448c72a" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libgit2-sys" @@ -4893,9 +4917,9 @@ dependencies = [ [[package]] name = "malachite" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6ea071913d15f7e0566bc4768aae3918906ea77f0abbb387ca7c0dc9303f90" +checksum = "905472e3a4adfc48b7a6eeb8beb7aba09e851b9e74ba53a4b53798e401b2badf" dependencies = [ "malachite-base", "malachite-nz", @@ -4904,9 +4928,9 @@ dependencies = [ [[package]] name = "malachite-base" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c817c713ff9f16e06cfdc23baa3fecf1b71eaaac714816a98a560f4e350aa6" +checksum = "e5f8d7930df6fcb9c86761ca0999ba484d7b6469c81cee4a7d38da5386440f96" dependencies = [ "hashbrown 0.14.5", "itertools 0.11.0", @@ -4929,9 +4953,9 @@ dependencies = [ [[package]] name = "malachite-nz" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "603729facf62429736ac17a9fc9fe1bf7e0eb8bde3da3b18cc2b6153150464d5" +checksum = "fa263ca62420c1f65cf6758f55c979a49ad83169f332e602b1890f1e1277a429" dependencies = [ "itertools 0.11.0", "libm", @@ -4940,9 +4964,9 @@ dependencies = [ [[package]] name = "malachite-q" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c73844ccbf0e9baaf34d4a6d187f0d6a925ce8e74ef37a67d238e7d65529b38c" +checksum = "b7619384a5b9b54dd576ae5dd9a8a9438353ada4e50adf737c2e002088ba366e" dependencies = [ "itertools 0.11.0", "malachite-base", @@ -5079,6 +5103,15 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + [[package]] name = "mio" version = "1.0.2" @@ -5109,7 +5142,7 @@ checksum = "a7ce64b975ed4f123575d11afd9491f2e37bbd5813fbfbc0f09ae1fbddea74e0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -5148,7 +5181,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "termcolor", "thiserror", ] @@ -5192,7 +5225,7 @@ checksum = "478b0ff3f7d67b79da2b96f56f334431aef65e15ba4b29dd74a4236e29582bdc" dependencies = [ "base64 0.21.7", "bigdecimal", - "bindgen", + "bindgen 0.70.0", "bitflags 2.6.0", "bitvec", "btoi", @@ -5441,7 +5474,7 @@ dependencies = [ "percent-encoding", "quick-xml 0.36.1", "rand 0.8.5", - "reqwest 0.12.5", + "reqwest 0.12.7", "ring 0.17.8", "serde", "serde_json", @@ -5558,7 +5591,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -5876,7 +5909,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -5917,7 +5950,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -6115,7 +6148,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -6168,7 +6201,7 @@ checksum = "07c277e4e643ef00c1233393c673f655e3672cf7eb3ba08a00bdd0ea59139b5f" dependencies = [ "proc-macro-rules-macros", "proc-macro2", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -6180,7 +6213,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -6241,7 +6274,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "syn 2.0.74", + "syn 2.0.75", "thiserror", "typify", "unicode-ident", @@ -6261,7 +6294,7 @@ dependencies = [ "serde_json", "serde_tokenstream", "serde_yaml", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -6304,7 +6337,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -6347,9 +6380,9 @@ dependencies = [ [[package]] name = "pulp" -version = "0.18.21" +version = "0.18.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ec8d02258294f59e4e223b41ad7e81c874aa6b15bc4ced9ba3965826da0eed5" +checksum = "a0a01a0dc67cf4558d279f0c25b0962bd08fc6dec0137699eae304103e882fe6" dependencies = [ "bytemuck", "libm", @@ -6385,9 +6418,9 @@ dependencies = [ [[package]] name = "quick_cache" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec932c60e6faf77dc6601ea149a23d821598b019b450bb1d98fe89c0301c0b61" +checksum = "dbc1dd700847420feb1735b16f8d7ee8a8704f4caec7b1aa19f074ea4f7f25ae" dependencies = [ "ahash 0.8.11", "equivalent", @@ -6642,9 +6675,9 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", @@ -6757,7 +6790,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tokio-rustls 0.24.1", @@ -6769,14 +6802,14 @@ dependencies = [ "wasm-streams", "web-sys", "webpki-roots 0.25.4", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ "async-compression 0.4.12", "base64 0.22.1", @@ -6784,7 +6817,7 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "http-body-util", @@ -6802,14 +6835,14 @@ dependencies = [ "pin-project-lite", "quinn", "rustls 0.23.12", - "rustls-native-certs 0.7.1", + "rustls-native-certs 0.7.2", "rustls-pemfile 2.1.3", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.1", - "system-configuration", + "system-configuration 0.6.0", "tokio", "tokio-native-tls", "tokio-rustls 0.26.0", @@ -6820,7 +6853,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "winreg 0.52.0", + "windows-registry", ] [[package]] @@ -6881,9 +6914,9 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.44" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" dependencies = [ "bitvec", "bytecheck", @@ -6899,9 +6932,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.44" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" +checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" dependencies = [ "proc-macro2", "quote", @@ -6984,7 +7017,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.74", + "syn 2.0.75", "walkdir", ] @@ -7010,9 +7043,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.35.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" +checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" dependencies = [ "arrayvec", "borsh", @@ -7142,9 +7175,9 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" +checksum = "04182dffc9091a404e0fc069ea5cd60e5b866c3adf881eff99a32d048242dffa" dependencies = [ "openssl-probe", "rustls-pemfile 2.1.3", @@ -7299,7 +7332,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b75583aad4a51c50fc0af69c230d18078c9d5a69a98d0f6013d01053acf744f4" dependencies = [ "base64 0.21.7", - "bindgen", + "bindgen 0.69.4", "chrono", "data-encoding", "derive_builder", @@ -7366,7 +7399,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -7513,7 +7546,7 @@ checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -7524,7 +7557,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -7599,7 +7632,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -7654,7 +7687,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8004,7 +8037,7 @@ checksum = "01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8075,7 +8108,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8098,7 +8131,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.74", + "syn 2.0.75", "tempfile", "tokio", "url", @@ -8250,7 +8283,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8304,7 +8337,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8317,7 +8350,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8436,7 +8469,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8502,7 +8535,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8609,7 +8642,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8728,7 +8761,7 @@ checksum = "695a1d8b461033d32429b5befbf0ad4d7a2c4d6ba9cd5ba4e0645c615839e8e4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8739,7 +8772,7 @@ checksum = "91745f3561057493d2da768437c427c0e979dff7396507ae02f16c981c4a8466" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8762,7 +8795,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8778,9 +8811,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.74" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -8796,7 +8829,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8810,6 +8843,9 @@ name = "sync_wrapper" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -8819,7 +8855,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -8844,7 +8880,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658bc6ee10a9b4fcf576e9b0819d95ec16f4d2c02d39fd83ac1c8789785c4a42" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -8857,6 +8904,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tantivy" version = "0.22.0" @@ -9063,7 +9120,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -9262,9 +9319,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.39.2" +version = "1.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" dependencies = [ "backtrace", "bytes", @@ -9287,7 +9344,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -9578,7 +9635,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -9641,7 +9698,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea6023f9fe4b69267ccd3ed7d203d931c43c5f82dbaa0f07202bc17193a5f43" dependencies = [ "loki-api", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde", "serde_json", "snap", @@ -9796,7 +9853,7 @@ dependencies = [ "regress", "schemars", "serde_json", - "syn 2.0.74", + "syn 2.0.75", "thiserror", "unicode-ident", ] @@ -9813,7 +9870,7 @@ dependencies = [ "serde", "serde_json", "serde_tokenstream", - "syn 2.0.74", + "syn 2.0.75", "typify-impl", ] @@ -9946,9 +10003,9 @@ dependencies = [ [[package]] name = "unicode-properties" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" +checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" [[package]] name = "unicode-segmentation" @@ -9964,9 +10021,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" [[package]] name = "unicode_categories" @@ -10101,15 +10158,15 @@ version = "0.99.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa3fc0608a78f0c7d4ec88025759cb78c90a29984b48540060355a626ae329c1" dependencies = [ - "bindgen", + "bindgen 0.69.4", "bitflags 2.6.0", "fslock", "gzip-header", "home", - "miniz_oxide", + "miniz_oxide 0.7.4", "once_cell", "paste", - "which 6.0.2", + "which 6.0.3", ] [[package]] @@ -10207,7 +10264,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "wasm-bindgen-shared", ] @@ -10241,7 +10298,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -10275,7 +10332,7 @@ checksum = "4b8220be1fa9e4c889b30fd207d4906657e7e90b12e0e6b0c8b8d8709f5de021" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -10349,9 +10406,9 @@ dependencies = [ [[package]] name = "which" -version = "6.0.2" +version = "6.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d9c5ed668ee1f17edb3b627225343d210006a90bb1e3745ce1f30b1fb115075" +checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" dependencies = [ "either", "home", @@ -10409,7 +10466,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windmill" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "axum", @@ -10425,7 +10482,7 @@ dependencies = [ "pg-embed", "prometheus", "rand 0.8.5", - "reqwest 0.12.5", + "reqwest 0.12.7", "rsmq_async", "serde", "serde_json", @@ -10449,7 +10506,7 @@ dependencies = [ [[package]] name = "windmill-api" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "argon2", @@ -10493,7 +10550,7 @@ dependencies = [ "quick_cache", "rand 0.8.5", "regex", - "reqwest 0.12.5", + "reqwest 0.12.7", "rsa 0.7.2", "rsmq_async", "rust-embed", @@ -10533,7 +10590,7 @@ dependencies = [ [[package]] name = "windmill-api-client" -version = "1.381.0" +version = "1.382.0" dependencies = [ "base64 0.21.7", "chrono", @@ -10551,7 +10608,7 @@ dependencies = [ [[package]] name = "windmill-audit" -version = "1.381.0" +version = "1.382.0" dependencies = [ "chrono", "serde", @@ -10564,7 +10621,7 @@ dependencies = [ [[package]] name = "windmill-common" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "async-stream", @@ -10588,7 +10645,7 @@ dependencies = [ "prometheus", "rand 0.8.5", "regex", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde", "serde_json", "sha2 0.10.8", @@ -10605,7 +10662,7 @@ dependencies = [ [[package]] name = "windmill-git-sync" -version = "1.381.0" +version = "1.382.0" dependencies = [ "regex", "rsmq_async", @@ -10620,7 +10677,7 @@ dependencies = [ [[package]] name = "windmill-indexer" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "bytes", @@ -10641,7 +10698,7 @@ dependencies = [ [[package]] name = "windmill-parser" -version = "1.381.0" +version = "1.382.0" dependencies = [ "serde", "serde_json", @@ -10649,7 +10706,7 @@ dependencies = [ [[package]] name = "windmill-parser-bash" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "lazy_static", @@ -10660,7 +10717,7 @@ dependencies = [ [[package]] name = "windmill-parser-go" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "gosyn", @@ -10672,7 +10729,7 @@ dependencies = [ [[package]] name = "windmill-parser-graphql" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "lazy_static", @@ -10683,7 +10740,7 @@ dependencies = [ [[package]] name = "windmill-parser-php" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -10697,7 +10754,7 @@ dependencies = [ [[package]] name = "windmill-parser-py" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "itertools 0.13.0", @@ -10708,7 +10765,7 @@ dependencies = [ [[package]] name = "windmill-parser-py-imports" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "async-recursion", @@ -10725,7 +10782,7 @@ dependencies = [ [[package]] name = "windmill-parser-sql" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "lazy_static", @@ -10736,7 +10793,7 @@ dependencies = [ [[package]] name = "windmill-parser-ts" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -10755,7 +10812,7 @@ dependencies = [ [[package]] name = "windmill-parser-wasm" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "getrandom 0.2.15", @@ -10774,7 +10831,7 @@ dependencies = [ [[package]] name = "windmill-queue" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "async-recursion", @@ -10790,7 +10847,7 @@ dependencies = [ "lazy_static", "prometheus", "regex", - "reqwest 0.12.5", + "reqwest 0.12.7", "rsmq_async", "serde", "serde_json", @@ -10807,7 +10864,7 @@ dependencies = [ [[package]] name = "windmill-sql-datatype-parser-wasm" -version = "1.381.0" +version = "1.382.0" dependencies = [ "wasm-bindgen", "wasm-bindgen-test", @@ -10817,7 +10874,7 @@ dependencies = [ [[package]] name = "windmill-worker" -version = "1.381.0" +version = "1.382.0" dependencies = [ "anyhow", "async-recursion", @@ -10857,7 +10914,7 @@ dependencies = [ "prometheus", "rand 0.8.5", "regex", - "reqwest 0.12.5", + "reqwest 0.12.7", "rsmq_async", "rust_decimal", "serde", @@ -10897,6 +10954,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -11073,16 +11160,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "winsafe" version = "0.0.19" @@ -11150,7 +11227,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "synstructure", ] @@ -11172,7 +11249,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -11192,7 +11269,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "synstructure", ] diff --git a/backend/Cargo.toml b/backend/Cargo.toml index 906d9f08b9..f1248a2928 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windmill" -version = "1.381.0" +version = "1.382.0" authors.workspace = true edition.workspace = true @@ -25,7 +25,7 @@ members = [ ] [workspace.package] -version = "1.381.0" +version = "1.382.0" authors = ["Ruben Fiszel "] edition = "2021" diff --git a/backend/windmill-api/openapi.yaml b/backend/windmill-api/openapi.yaml index 0a44378b6d..b35526f5ec 100644 --- a/backend/windmill-api/openapi.yaml +++ b/backend/windmill-api/openapi.yaml @@ -1,7 +1,7 @@ openapi: "3.0.3" info: - version: 1.381.0 + version: 1.382.0 title: Windmill API contact: diff --git a/benchmarks/lib.ts b/benchmarks/lib.ts index 94d6034205..7b26b35bec 100644 --- a/benchmarks/lib.ts +++ b/benchmarks/lib.ts @@ -2,7 +2,7 @@ import { sleep } from "https://deno.land/x/sleep@v1.2.1/mod.ts"; import * as windmill from "https://deno.land/x/windmill@v1.174.0/mod.ts"; import * as api from "https://deno.land/x/windmill@v1.174.0/windmill-api/index.ts"; -export const VERSION = "v1.381.0"; +export const VERSION = "v1.382.0"; export async function login(email: string, password: string): Promise { return await windmill.UserService.login({ diff --git a/cli/main.ts b/cli/main.ts index f2e1fd094b..e56dccf94f 100644 --- a/cli/main.ts +++ b/cli/main.ts @@ -34,7 +34,7 @@ addEventListener("error", (event) => { } }); -export const VERSION = "v1.381.0"; +export const VERSION = "v1.382.0"; let command: any = new Command() .name("wmill") diff --git a/frontend/package-lock.json b/frontend/package-lock.json index cb330b8eed..92ed947a4e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "windmill-components", - "version": "1.381.0", + "version": "1.382.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "windmill-components", - "version": "1.381.0", + "version": "1.382.0", "license": "AGPL-3.0", "dependencies": { "@aws-crypto/sha256-js": "^4.0.0", diff --git a/frontend/package.json b/frontend/package.json index d34aff5e7f..f662e1780b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "windmill-components", - "version": "1.381.0", + "version": "1.382.0", "scripts": { "dev": "vite dev", "build": "vite build", diff --git a/lsp/Pipfile b/lsp/Pipfile index fe8041a2cc..2471bf8611 100644 --- a/lsp/Pipfile +++ b/lsp/Pipfile @@ -4,8 +4,8 @@ verify_ssl = true name = "pypi" [packages] -wmill = ">=1.381.0" -wmill_pg = ">=1.381.0" +wmill = ">=1.382.0" +wmill_pg = ">=1.382.0" sendgrid = "*" mysql-connector-python = "*" pymongo = "*" diff --git a/openflow.openapi.yaml b/openflow.openapi.yaml index 935672229f..16ade9a1be 100644 --- a/openflow.openapi.yaml +++ b/openflow.openapi.yaml @@ -1,7 +1,7 @@ openapi: "3.0.3" info: - version: 1.381.0 + version: 1.382.0 title: OpenFlow Spec contact: name: Ruben Fiszel diff --git a/powershell-client/WindmillClient/WindmillClient.psd1 b/powershell-client/WindmillClient/WindmillClient.psd1 index 638344529e..52fd77498a 100644 --- a/powershell-client/WindmillClient/WindmillClient.psd1 +++ b/powershell-client/WindmillClient/WindmillClient.psd1 @@ -12,7 +12,7 @@ RootModule = 'WindmillClient.psm1' # Version number of this module. -ModuleVersion = '1.381.0' +ModuleVersion = '1.382.0' # Supported PSEditions # CompatiblePSEditions = @() diff --git a/python-client/wmill/pyproject.toml b/python-client/wmill/pyproject.toml index 07d2c21fe9..962fa1cdc9 100644 --- a/python-client/wmill/pyproject.toml +++ b/python-client/wmill/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "wmill" -version = "1.381.0" +version = "1.382.0" description = "A client library for accessing Windmill server wrapping the Windmill client API" license = "Apache-2.0" homepage = "https://windmill.dev" diff --git a/python-client/wmill_pg/pyproject.toml b/python-client/wmill_pg/pyproject.toml index 6f51fab915..4ff9377ab9 100644 --- a/python-client/wmill_pg/pyproject.toml +++ b/python-client/wmill_pg/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "wmill-pg" -version = "1.381.0" +version = "1.382.0" description = "An extension client for the wmill client library focused on pg" license = "Apache-2.0" homepage = "https://windmill.dev" diff --git a/typescript-client/jsr.json b/typescript-client/jsr.json index 8f9d365208..138e207d87 100644 --- a/typescript-client/jsr.json +++ b/typescript-client/jsr.json @@ -1,6 +1,6 @@ { "name": "@windmill/windmill", - "version": "1.381.0", + "version": "1.382.0", "exports": "./src/index.ts", "publish": { "exclude": ["!src", "./s3Types.ts", "./client.ts"] diff --git a/typescript-client/package.json b/typescript-client/package.json index 11c14fa58a..c7b794b7b0 100644 --- a/typescript-client/package.json +++ b/typescript-client/package.json @@ -1,7 +1,7 @@ { "name": "windmill-client", "description": "Windmill SDK client for browsers and Node.js", - "version": "1.381.0", + "version": "1.382.0", "author": "Ruben Fiszel", "license": "Apache 2.0", "devDependencies": { diff --git a/version.txt b/version.txt index 74c015aee9..a5f7f7a2a3 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.381.0 +1.382.0 From 5b27b1f88c1cf529cd478ab9cd6c522690f70f26 Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Tue, 20 Aug 2024 14:42:31 +0200 Subject: [PATCH 011/523] fix(frontend): Fix flow graph step preview (#4264) --- frontend/src/lib/components/FlowGraphViewer.svelte | 5 ++++- frontend/src/lib/components/FlowViewer.svelte | 1 + frontend/src/lib/components/flows/FlowHistory.svelte | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/FlowGraphViewer.svelte b/frontend/src/lib/components/FlowGraphViewer.svelte index b81b1184c2..0e3cef15e2 100644 --- a/frontend/src/lib/components/FlowGraphViewer.svelte +++ b/frontend/src/lib/components/FlowGraphViewer.svelte @@ -6,6 +6,7 @@ import FlowGraphViewerStep from './FlowGraphViewerStep.svelte' import FlowGraphV2 from './graph/FlowGraphV2.svelte' + import { dfs } from './flows/dfs' export let flow: { summary: string @@ -13,6 +14,7 @@ value: FlowValue schema?: any } + export let overflowAuto = false export let noSide = false export let download = false @@ -35,7 +37,8 @@ modules={flow?.value?.modules} failureModule={flow?.value?.failure_module} on:select={(e) => { - stepDetail = e.detail + const mod = dfs(flow?.value?.modules, (m) => m).find((m) => m?.id === e?.detail) + stepDetail = mod ?? e.detail dispatch('select', stepDetail) }} /> diff --git a/frontend/src/lib/components/FlowViewer.svelte b/frontend/src/lib/components/FlowViewer.svelte index b067f445fa..accbe7234c 100644 --- a/frontend/src/lib/components/FlowViewer.svelte +++ b/frontend/src/lib/components/FlowViewer.svelte @@ -87,6 +87,7 @@ {:else}
No inputs
{/if} +
diff --git a/frontend/src/lib/components/flows/FlowHistory.svelte b/frontend/src/lib/components/flows/FlowHistory.svelte index b24151024f..abf891d266 100644 --- a/frontend/src/lib/components/flows/FlowHistory.svelte +++ b/frontend/src/lib/components/flows/FlowHistory.svelte @@ -91,6 +91,7 @@ on:close={() => { drawer?.closeDrawer() }} + noPadding > From 1969c0eea42aab56bafe70b3bc450d104d49a958 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 20 Aug 2024 14:48:18 +0200 Subject: [PATCH 012/523] chore(main): release 1.382.1 (#4263) * chore(main): release 1.382.1 * Apply automatic changes --------- Co-authored-by: rubenfiszel --- CHANGELOG.md | 7 ++++ backend/Cargo.lock | 40 +++++++++---------- backend/Cargo.toml | 4 +- backend/windmill-api/openapi.yaml | 2 +- benchmarks/lib.ts | 2 +- cli/main.ts | 2 +- frontend/package-lock.json | 4 +- frontend/package.json | 2 +- lsp/Pipfile | 4 +- openflow.openapi.yaml | 2 +- .../WindmillClient/WindmillClient.psd1 | 2 +- python-client/wmill/pyproject.toml | 2 +- python-client/wmill_pg/pyproject.toml | 2 +- typescript-client/jsr.json | 2 +- typescript-client/package.json | 2 +- version.txt | 2 +- 16 files changed, 44 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 54d37c9aaf..adffa6fac1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.382.1](https://github.com/windmill-labs/windmill/compare/v1.382.0...v1.382.1) (2024-08-20) + + +### Bug Fixes + +* **frontend:** Fix flow graph step preview ([#4264](https://github.com/windmill-labs/windmill/issues/4264)) ([0a6832a](https://github.com/windmill-labs/windmill/commit/0a6832aa4561468fb0150f9eb435b7ad857fc841)) + ## [1.382.0](https://github.com/windmill-labs/windmill/compare/v1.381.0...v1.382.0) (2024-08-20) diff --git a/backend/Cargo.lock b/backend/Cargo.lock index 0e0f81d57e..6589ecbeaf 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -10466,7 +10466,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windmill" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "axum", @@ -10506,7 +10506,7 @@ dependencies = [ [[package]] name = "windmill-api" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "argon2", @@ -10590,7 +10590,7 @@ dependencies = [ [[package]] name = "windmill-api-client" -version = "1.382.0" +version = "1.382.1" dependencies = [ "base64 0.21.7", "chrono", @@ -10608,7 +10608,7 @@ dependencies = [ [[package]] name = "windmill-audit" -version = "1.382.0" +version = "1.382.1" dependencies = [ "chrono", "serde", @@ -10621,7 +10621,7 @@ dependencies = [ [[package]] name = "windmill-common" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "async-stream", @@ -10662,7 +10662,7 @@ dependencies = [ [[package]] name = "windmill-git-sync" -version = "1.382.0" +version = "1.382.1" dependencies = [ "regex", "rsmq_async", @@ -10677,7 +10677,7 @@ dependencies = [ [[package]] name = "windmill-indexer" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "bytes", @@ -10698,7 +10698,7 @@ dependencies = [ [[package]] name = "windmill-parser" -version = "1.382.0" +version = "1.382.1" dependencies = [ "serde", "serde_json", @@ -10706,7 +10706,7 @@ dependencies = [ [[package]] name = "windmill-parser-bash" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "lazy_static", @@ -10717,7 +10717,7 @@ dependencies = [ [[package]] name = "windmill-parser-go" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "gosyn", @@ -10729,7 +10729,7 @@ dependencies = [ [[package]] name = "windmill-parser-graphql" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "lazy_static", @@ -10740,7 +10740,7 @@ dependencies = [ [[package]] name = "windmill-parser-php" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -10754,7 +10754,7 @@ dependencies = [ [[package]] name = "windmill-parser-py" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "itertools 0.13.0", @@ -10765,7 +10765,7 @@ dependencies = [ [[package]] name = "windmill-parser-py-imports" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "async-recursion", @@ -10782,7 +10782,7 @@ dependencies = [ [[package]] name = "windmill-parser-sql" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "lazy_static", @@ -10793,7 +10793,7 @@ dependencies = [ [[package]] name = "windmill-parser-ts" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -10812,7 +10812,7 @@ dependencies = [ [[package]] name = "windmill-parser-wasm" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "getrandom 0.2.15", @@ -10831,7 +10831,7 @@ dependencies = [ [[package]] name = "windmill-queue" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "async-recursion", @@ -10864,7 +10864,7 @@ dependencies = [ [[package]] name = "windmill-sql-datatype-parser-wasm" -version = "1.382.0" +version = "1.382.1" dependencies = [ "wasm-bindgen", "wasm-bindgen-test", @@ -10874,7 +10874,7 @@ dependencies = [ [[package]] name = "windmill-worker" -version = "1.382.0" +version = "1.382.1" dependencies = [ "anyhow", "async-recursion", diff --git a/backend/Cargo.toml b/backend/Cargo.toml index f1248a2928..1fd2639fb5 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windmill" -version = "1.382.0" +version = "1.382.1" authors.workspace = true edition.workspace = true @@ -25,7 +25,7 @@ members = [ ] [workspace.package] -version = "1.382.0" +version = "1.382.1" authors = ["Ruben Fiszel "] edition = "2021" diff --git a/backend/windmill-api/openapi.yaml b/backend/windmill-api/openapi.yaml index b35526f5ec..d513c9914b 100644 --- a/backend/windmill-api/openapi.yaml +++ b/backend/windmill-api/openapi.yaml @@ -1,7 +1,7 @@ openapi: "3.0.3" info: - version: 1.382.0 + version: 1.382.1 title: Windmill API contact: diff --git a/benchmarks/lib.ts b/benchmarks/lib.ts index 7b26b35bec..567dbabff4 100644 --- a/benchmarks/lib.ts +++ b/benchmarks/lib.ts @@ -2,7 +2,7 @@ import { sleep } from "https://deno.land/x/sleep@v1.2.1/mod.ts"; import * as windmill from "https://deno.land/x/windmill@v1.174.0/mod.ts"; import * as api from "https://deno.land/x/windmill@v1.174.0/windmill-api/index.ts"; -export const VERSION = "v1.382.0"; +export const VERSION = "v1.382.1"; export async function login(email: string, password: string): Promise { return await windmill.UserService.login({ diff --git a/cli/main.ts b/cli/main.ts index e56dccf94f..6ea56c6000 100644 --- a/cli/main.ts +++ b/cli/main.ts @@ -34,7 +34,7 @@ addEventListener("error", (event) => { } }); -export const VERSION = "v1.382.0"; +export const VERSION = "v1.382.1"; let command: any = new Command() .name("wmill") diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 92ed947a4e..1b080fd417 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "windmill-components", - "version": "1.382.0", + "version": "1.382.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "windmill-components", - "version": "1.382.0", + "version": "1.382.1", "license": "AGPL-3.0", "dependencies": { "@aws-crypto/sha256-js": "^4.0.0", diff --git a/frontend/package.json b/frontend/package.json index f662e1780b..c767a0e90c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "windmill-components", - "version": "1.382.0", + "version": "1.382.1", "scripts": { "dev": "vite dev", "build": "vite build", diff --git a/lsp/Pipfile b/lsp/Pipfile index 2471bf8611..ad28500def 100644 --- a/lsp/Pipfile +++ b/lsp/Pipfile @@ -4,8 +4,8 @@ verify_ssl = true name = "pypi" [packages] -wmill = ">=1.382.0" -wmill_pg = ">=1.382.0" +wmill = ">=1.382.1" +wmill_pg = ">=1.382.1" sendgrid = "*" mysql-connector-python = "*" pymongo = "*" diff --git a/openflow.openapi.yaml b/openflow.openapi.yaml index 16ade9a1be..9b69db9588 100644 --- a/openflow.openapi.yaml +++ b/openflow.openapi.yaml @@ -1,7 +1,7 @@ openapi: "3.0.3" info: - version: 1.382.0 + version: 1.382.1 title: OpenFlow Spec contact: name: Ruben Fiszel diff --git a/powershell-client/WindmillClient/WindmillClient.psd1 b/powershell-client/WindmillClient/WindmillClient.psd1 index 52fd77498a..3c5865a6c9 100644 --- a/powershell-client/WindmillClient/WindmillClient.psd1 +++ b/powershell-client/WindmillClient/WindmillClient.psd1 @@ -12,7 +12,7 @@ RootModule = 'WindmillClient.psm1' # Version number of this module. -ModuleVersion = '1.382.0' +ModuleVersion = '1.382.1' # Supported PSEditions # CompatiblePSEditions = @() diff --git a/python-client/wmill/pyproject.toml b/python-client/wmill/pyproject.toml index 962fa1cdc9..5de1aee5fa 100644 --- a/python-client/wmill/pyproject.toml +++ b/python-client/wmill/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "wmill" -version = "1.382.0" +version = "1.382.1" description = "A client library for accessing Windmill server wrapping the Windmill client API" license = "Apache-2.0" homepage = "https://windmill.dev" diff --git a/python-client/wmill_pg/pyproject.toml b/python-client/wmill_pg/pyproject.toml index 4ff9377ab9..73f6eda23c 100644 --- a/python-client/wmill_pg/pyproject.toml +++ b/python-client/wmill_pg/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "wmill-pg" -version = "1.382.0" +version = "1.382.1" description = "An extension client for the wmill client library focused on pg" license = "Apache-2.0" homepage = "https://windmill.dev" diff --git a/typescript-client/jsr.json b/typescript-client/jsr.json index 138e207d87..258a780324 100644 --- a/typescript-client/jsr.json +++ b/typescript-client/jsr.json @@ -1,6 +1,6 @@ { "name": "@windmill/windmill", - "version": "1.382.0", + "version": "1.382.1", "exports": "./src/index.ts", "publish": { "exclude": ["!src", "./s3Types.ts", "./client.ts"] diff --git a/typescript-client/package.json b/typescript-client/package.json index c7b794b7b0..55044aa2ec 100644 --- a/typescript-client/package.json +++ b/typescript-client/package.json @@ -1,7 +1,7 @@ { "name": "windmill-client", "description": "Windmill SDK client for browsers and Node.js", - "version": "1.382.0", + "version": "1.382.1", "author": "Ruben Fiszel", "license": "Apache 2.0", "devDependencies": { diff --git a/version.txt b/version.txt index a5f7f7a2a3..1fbb9fea41 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.382.0 +1.382.1 From 36257cf72962cb5a8117f5eb3dcb157014db5d6d Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Tue, 20 Aug 2024 16:20:19 +0200 Subject: [PATCH 013/523] Fix flow graph input step preview (#4265) --- frontend/src/lib/components/FlowGraphViewer.svelte | 2 +- .../src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/FlowGraphViewer.svelte b/frontend/src/lib/components/FlowGraphViewer.svelte index 0e3cef15e2..22cd5530c2 100644 --- a/frontend/src/lib/components/FlowGraphViewer.svelte +++ b/frontend/src/lib/components/FlowGraphViewer.svelte @@ -37,7 +37,7 @@ modules={flow?.value?.modules} failureModule={flow?.value?.failure_module} on:select={(e) => { - const mod = dfs(flow?.value?.modules, (m) => m).find((m) => m?.id === e?.detail) + const mod = dfs(flow?.value?.modules ?? [], (m) => m).find((m) => m?.id === e?.detail) stepDetail = mod ?? e.detail dispatch('select', stepDetail) }} diff --git a/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte index 15c1be18b4..ca007302ce 100644 --- a/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte @@ -437,7 +437,7 @@ overflowAuto noSide={true} on:select={(e) => { - if (e.detail.id) { + if (e.detail) { stepDetail = e.detail } else { stepDetail = undefined From b80257720a806427b7a4b874e4ed635d42c8bf5b Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 20 Aug 2024 16:27:01 +0200 Subject: [PATCH 014/523] fix: handle more gracefully worker without tags --- backend/windmill-common/src/worker.rs | 8 ++++++++ backend/windmill-queue/src/jobs.rs | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/backend/windmill-common/src/worker.rs b/backend/windmill-common/src/worker.rs index 4924d1ea8a..9f26d2b5e5 100644 --- a/backend/windmill-common/src/worker.rs +++ b/backend/windmill-common/src/worker.rs @@ -86,6 +86,10 @@ lazy_static::lazy_static! { } pub async fn make_suspended_pull_query(wc: &WorkerConfig) { + if wc.worker_tags.len() == 0 { + tracing::error!("Empty tags in worker tags, skipping"); + return; + } let query = format!( "UPDATE queue SET running = true @@ -114,6 +118,10 @@ pub async fn make_suspended_pull_query(wc: &WorkerConfig) { pub async fn make_pull_query(wc: &WorkerConfig) { let mut queries = vec![]; for tags in wc.priority_tags_sorted.iter() { + if tags.tags.len() == 0 { + tracing::error!("Empty tags in priority tags, skipping"); + continue; + } let query = format!("UPDATE queue SET running = true , started_at = coalesce(started_at, now()) diff --git a/backend/windmill-queue/src/jobs.rs b/backend/windmill-queue/src/jobs.rs index 7e1bf9b192..d1cdb8034a 100644 --- a/backend/windmill-queue/src/jobs.rs +++ b/backend/windmill-queue/src/jobs.rs @@ -1967,6 +1967,11 @@ async fn pull_single_job_and_mark_as_running_no_concurrency_limit< * or suspend_until <= now() if it has timed out */ let query = WORKER_SUSPENDED_PULL_QUERY.read().await; + if query.is_empty() { + tracing::warn!("No suspended pull queries available"); + return Ok(None); + } + let r = if suspend_first { // tracing::info!("Pulling job with query: {}", query); sqlx::query_as::<_, QueuedJob>(&query) @@ -1982,6 +1987,11 @@ async fn pull_single_job_and_mark_as_running_no_concurrency_limit< let queries = WORKER_PULL_QUERIES.read().await; + if queries.is_empty() { + tracing::warn!("No pull queries available"); + return Ok(None); + } + for query in queries.iter() { // tracing::info!("Pulling job with query: {}", query); let r = sqlx::query_as::<_, QueuedJob>(query) From 55b85b997980f4adb17c4d0a6b95ca86215f21b4 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 20 Aug 2024 17:03:59 +0200 Subject: [PATCH 015/523] ignore empty FORCE_WORKER_TAGS --- backend/windmill-common/src/worker.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/windmill-common/src/worker.rs b/backend/windmill-common/src/worker.rs index 9f26d2b5e5..9f09852f43 100644 --- a/backend/windmill-common/src/worker.rs +++ b/backend/windmill-common/src/worker.rs @@ -573,6 +573,7 @@ pub async fn load_worker_config( if let Some(force_worker_tags) = std::env::var("FORCE_WORKER_TAGS") .ok() + .filter(|x| !x.is_empty()) .map(|x| x.split(',').map(|x| x.to_string()).collect::>()) { tracing::info!( From c3a161599761e2e5a203590e4524aaa654d7bc10 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 20 Aug 2024 18:11:57 +0200 Subject: [PATCH 016/523] fix(app): database studio/empty table count reset --- .../apps/components/display/dbtable/DbExplorerCount.svelte | 6 ++++-- .../src/lib/components/apps/editor/AppEditorHeader.svelte | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/apps/components/display/dbtable/DbExplorerCount.svelte b/frontend/src/lib/components/apps/components/display/dbtable/DbExplorerCount.svelte index e75ce15c3f..f61e7c7208 100644 --- a/frontend/src/lib/components/apps/components/display/dbtable/DbExplorerCount.svelte +++ b/frontend/src/lib/components/apps/components/display/dbtable/DbExplorerCount.svelte @@ -35,10 +35,12 @@ let localColumnDefs = columnDefs let lastTable = table - $: { + $: lastTable != undefined && table && onTableChange() + + function onTableChange() { if (table !== lastTable) { - localColumnDefs = [] lastTable = table + localColumnDefs = [] } } diff --git a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte index 113d45eb13..0cff2b872f 100644 --- a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte +++ b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte @@ -230,6 +230,11 @@ input: getCountInput(resourceValue, tableValue, dbType, columnDefs, whereClause), id: x.id + '_count' }) + console.log( + x.id, + getCountInput(resourceValue, tableValue, dbType, columnDefs, whereClause), + columnDefs + ) r.push({ input: getInsertInput(tableValue, columnDefs, resourceValue, dbType), id: x.id + '_insert' From da25c96d5d01633d59c21dca21aafc03849cd320 Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Tue, 20 Aug 2024 18:23:30 +0200 Subject: [PATCH 017/523] fix(frontend): Fix initial FlowGraph rendering on Chrome (#4268) --- frontend/src/lib/components/graph/FlowGraphV2.svelte | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/graph/FlowGraphV2.svelte b/frontend/src/lib/components/graph/FlowGraphV2.svelte index 46d0a0c11d..8e949f1235 100644 --- a/frontend/src/lib/components/graph/FlowGraphV2.svelte +++ b/frontend/src/lib/components/graph/FlowGraphV2.svelte @@ -1,7 +1,7 @@
From cce09fcf1c7da2cb73fd867bcd60ef0e86ee4f6e Mon Sep 17 00:00:00 2001 From: Henri Courdent <122811744+hcourdent@users.noreply.github.com> Date: Tue, 20 Aug 2024 18:54:26 +0200 Subject: [PATCH 018/523] Update changelog list 20_08 (#4269) --- frontend/src/lib/components/sidebar/changelogs.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/lib/components/sidebar/changelogs.ts b/frontend/src/lib/components/sidebar/changelogs.ts index 895fbc79ed..d0111dec15 100644 --- a/frontend/src/lib/components/sidebar/changelogs.ts +++ b/frontend/src/lib/components/sidebar/changelogs.ts @@ -5,6 +5,11 @@ export type Changelog = { } const changelogs: Changelog[] = [ + { + label: 'Continue on disapproval/timeout', + href: 'https://www.windmill.dev/changelog/continue-on-disapproval', + date: '2024-08-14' + }, { label: 'Nativets runtime supports npm packages and relative imports', href: 'https://www.windmill.dev/changelog/native-runtime-imports', From 662d60126de655734abb69a7554d47306ea57f0e Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 20 Aug 2024 18:54:40 +0200 Subject: [PATCH 019/523] chore(main): release 1.382.2 (#4267) * chore(main): release 1.382.2 * Apply automatic changes --------- Co-authored-by: rubenfiszel --- CHANGELOG.md | 9 +++++ backend/Cargo.lock | 40 +++++++++---------- backend/Cargo.toml | 4 +- backend/windmill-api/openapi.yaml | 2 +- benchmarks/lib.ts | 2 +- cli/main.ts | 2 +- frontend/package-lock.json | 4 +- frontend/package.json | 2 +- lsp/Pipfile | 4 +- openflow.openapi.yaml | 2 +- .../WindmillClient/WindmillClient.psd1 | 2 +- python-client/wmill/pyproject.toml | 2 +- python-client/wmill_pg/pyproject.toml | 2 +- typescript-client/jsr.json | 2 +- typescript-client/package.json | 2 +- version.txt | 2 +- 16 files changed, 46 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index adffa6fac1..3c0aeece1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [1.382.2](https://github.com/windmill-labs/windmill/compare/v1.382.1...v1.382.2) (2024-08-20) + + +### Bug Fixes + +* **app:** database studio/empty table count reset ([d6d3389](https://github.com/windmill-labs/windmill/commit/d6d33898a765f910f66cd0cfbd70a439ab107528)) +* **frontend:** Fix initial FlowGraph rendering on Chrome ([#4268](https://github.com/windmill-labs/windmill/issues/4268)) ([84d4e2c](https://github.com/windmill-labs/windmill/commit/84d4e2cb956ab4947b364d64c464fd5cf3c1d16f)) +* handle more gracefully worker without tags ([7e1f280](https://github.com/windmill-labs/windmill/commit/7e1f28071a7d6f3f34df417ea746fc9b5dca5157)) + ## [1.382.1](https://github.com/windmill-labs/windmill/compare/v1.382.0...v1.382.1) (2024-08-20) diff --git a/backend/Cargo.lock b/backend/Cargo.lock index 6589ecbeaf..8e90ce6e25 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -10466,7 +10466,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windmill" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "axum", @@ -10506,7 +10506,7 @@ dependencies = [ [[package]] name = "windmill-api" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "argon2", @@ -10590,7 +10590,7 @@ dependencies = [ [[package]] name = "windmill-api-client" -version = "1.382.1" +version = "1.382.2" dependencies = [ "base64 0.21.7", "chrono", @@ -10608,7 +10608,7 @@ dependencies = [ [[package]] name = "windmill-audit" -version = "1.382.1" +version = "1.382.2" dependencies = [ "chrono", "serde", @@ -10621,7 +10621,7 @@ dependencies = [ [[package]] name = "windmill-common" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "async-stream", @@ -10662,7 +10662,7 @@ dependencies = [ [[package]] name = "windmill-git-sync" -version = "1.382.1" +version = "1.382.2" dependencies = [ "regex", "rsmq_async", @@ -10677,7 +10677,7 @@ dependencies = [ [[package]] name = "windmill-indexer" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "bytes", @@ -10698,7 +10698,7 @@ dependencies = [ [[package]] name = "windmill-parser" -version = "1.382.1" +version = "1.382.2" dependencies = [ "serde", "serde_json", @@ -10706,7 +10706,7 @@ dependencies = [ [[package]] name = "windmill-parser-bash" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "lazy_static", @@ -10717,7 +10717,7 @@ dependencies = [ [[package]] name = "windmill-parser-go" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "gosyn", @@ -10729,7 +10729,7 @@ dependencies = [ [[package]] name = "windmill-parser-graphql" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "lazy_static", @@ -10740,7 +10740,7 @@ dependencies = [ [[package]] name = "windmill-parser-php" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -10754,7 +10754,7 @@ dependencies = [ [[package]] name = "windmill-parser-py" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "itertools 0.13.0", @@ -10765,7 +10765,7 @@ dependencies = [ [[package]] name = "windmill-parser-py-imports" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "async-recursion", @@ -10782,7 +10782,7 @@ dependencies = [ [[package]] name = "windmill-parser-sql" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "lazy_static", @@ -10793,7 +10793,7 @@ dependencies = [ [[package]] name = "windmill-parser-ts" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -10812,7 +10812,7 @@ dependencies = [ [[package]] name = "windmill-parser-wasm" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "getrandom 0.2.15", @@ -10831,7 +10831,7 @@ dependencies = [ [[package]] name = "windmill-queue" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "async-recursion", @@ -10864,7 +10864,7 @@ dependencies = [ [[package]] name = "windmill-sql-datatype-parser-wasm" -version = "1.382.1" +version = "1.382.2" dependencies = [ "wasm-bindgen", "wasm-bindgen-test", @@ -10874,7 +10874,7 @@ dependencies = [ [[package]] name = "windmill-worker" -version = "1.382.1" +version = "1.382.2" dependencies = [ "anyhow", "async-recursion", diff --git a/backend/Cargo.toml b/backend/Cargo.toml index 1fd2639fb5..c6f5449937 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windmill" -version = "1.382.1" +version = "1.382.2" authors.workspace = true edition.workspace = true @@ -25,7 +25,7 @@ members = [ ] [workspace.package] -version = "1.382.1" +version = "1.382.2" authors = ["Ruben Fiszel "] edition = "2021" diff --git a/backend/windmill-api/openapi.yaml b/backend/windmill-api/openapi.yaml index d513c9914b..479c8ba8fd 100644 --- a/backend/windmill-api/openapi.yaml +++ b/backend/windmill-api/openapi.yaml @@ -1,7 +1,7 @@ openapi: "3.0.3" info: - version: 1.382.1 + version: 1.382.2 title: Windmill API contact: diff --git a/benchmarks/lib.ts b/benchmarks/lib.ts index 567dbabff4..4fce0f5407 100644 --- a/benchmarks/lib.ts +++ b/benchmarks/lib.ts @@ -2,7 +2,7 @@ import { sleep } from "https://deno.land/x/sleep@v1.2.1/mod.ts"; import * as windmill from "https://deno.land/x/windmill@v1.174.0/mod.ts"; import * as api from "https://deno.land/x/windmill@v1.174.0/windmill-api/index.ts"; -export const VERSION = "v1.382.1"; +export const VERSION = "v1.382.2"; export async function login(email: string, password: string): Promise { return await windmill.UserService.login({ diff --git a/cli/main.ts b/cli/main.ts index 6ea56c6000..e31a204665 100644 --- a/cli/main.ts +++ b/cli/main.ts @@ -34,7 +34,7 @@ addEventListener("error", (event) => { } }); -export const VERSION = "v1.382.1"; +export const VERSION = "v1.382.2"; let command: any = new Command() .name("wmill") diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 1b080fd417..d50a8335c8 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "windmill-components", - "version": "1.382.1", + "version": "1.382.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "windmill-components", - "version": "1.382.1", + "version": "1.382.2", "license": "AGPL-3.0", "dependencies": { "@aws-crypto/sha256-js": "^4.0.0", diff --git a/frontend/package.json b/frontend/package.json index c767a0e90c..49dcbef669 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "windmill-components", - "version": "1.382.1", + "version": "1.382.2", "scripts": { "dev": "vite dev", "build": "vite build", diff --git a/lsp/Pipfile b/lsp/Pipfile index ad28500def..ed1b6055df 100644 --- a/lsp/Pipfile +++ b/lsp/Pipfile @@ -4,8 +4,8 @@ verify_ssl = true name = "pypi" [packages] -wmill = ">=1.382.1" -wmill_pg = ">=1.382.1" +wmill = ">=1.382.2" +wmill_pg = ">=1.382.2" sendgrid = "*" mysql-connector-python = "*" pymongo = "*" diff --git a/openflow.openapi.yaml b/openflow.openapi.yaml index 9b69db9588..c430a78a3d 100644 --- a/openflow.openapi.yaml +++ b/openflow.openapi.yaml @@ -1,7 +1,7 @@ openapi: "3.0.3" info: - version: 1.382.1 + version: 1.382.2 title: OpenFlow Spec contact: name: Ruben Fiszel diff --git a/powershell-client/WindmillClient/WindmillClient.psd1 b/powershell-client/WindmillClient/WindmillClient.psd1 index 3c5865a6c9..c66f35755a 100644 --- a/powershell-client/WindmillClient/WindmillClient.psd1 +++ b/powershell-client/WindmillClient/WindmillClient.psd1 @@ -12,7 +12,7 @@ RootModule = 'WindmillClient.psm1' # Version number of this module. -ModuleVersion = '1.382.1' +ModuleVersion = '1.382.2' # Supported PSEditions # CompatiblePSEditions = @() diff --git a/python-client/wmill/pyproject.toml b/python-client/wmill/pyproject.toml index 5de1aee5fa..1b8feb021b 100644 --- a/python-client/wmill/pyproject.toml +++ b/python-client/wmill/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "wmill" -version = "1.382.1" +version = "1.382.2" description = "A client library for accessing Windmill server wrapping the Windmill client API" license = "Apache-2.0" homepage = "https://windmill.dev" diff --git a/python-client/wmill_pg/pyproject.toml b/python-client/wmill_pg/pyproject.toml index 73f6eda23c..60d417a4db 100644 --- a/python-client/wmill_pg/pyproject.toml +++ b/python-client/wmill_pg/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "wmill-pg" -version = "1.382.1" +version = "1.382.2" description = "An extension client for the wmill client library focused on pg" license = "Apache-2.0" homepage = "https://windmill.dev" diff --git a/typescript-client/jsr.json b/typescript-client/jsr.json index 258a780324..b103f36abb 100644 --- a/typescript-client/jsr.json +++ b/typescript-client/jsr.json @@ -1,6 +1,6 @@ { "name": "@windmill/windmill", - "version": "1.382.1", + "version": "1.382.2", "exports": "./src/index.ts", "publish": { "exclude": ["!src", "./s3Types.ts", "./client.ts"] diff --git a/typescript-client/package.json b/typescript-client/package.json index 55044aa2ec..382475c455 100644 --- a/typescript-client/package.json +++ b/typescript-client/package.json @@ -1,7 +1,7 @@ { "name": "windmill-client", "description": "Windmill SDK client for browsers and Node.js", - "version": "1.382.1", + "version": "1.382.2", "author": "Ruben Fiszel", "license": "Apache 2.0", "devDependencies": { diff --git a/version.txt b/version.txt index 1fbb9fea41..21f6269508 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.382.1 +1.382.2 From c2313a8c8d86b8267148f4a2694b63f4167c795e Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 20 Aug 2024 22:58:09 +0200 Subject: [PATCH 020/523] feat: add wrap_body header to webhooks --- backend/windmill-queue/src/jobs.rs | 11 +++++++---- frontend/src/lib/components/FlowBuilder.svelte | 3 +++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/backend/windmill-queue/src/jobs.rs b/backend/windmill-queue/src/jobs.rs index d1cdb8034a..3e8e466e21 100644 --- a/backend/windmill-queue/src/jobs.rs +++ b/backend/windmill-queue/src/jobs.rs @@ -2598,6 +2598,7 @@ impl DecodeQueries { #[derive(Deserialize)] pub struct RequestQuery { pub raw: Option, + pub wrap_body: Option, pub include_header: Option, } @@ -2632,13 +2633,14 @@ impl PushArgsOwned { async fn from_json( mut extra: HashMap>, use_raw: bool, + force_wrap_body: bool, str: String, ) -> Result { if use_raw { extra.insert("raw_string".to_string(), to_raw_value(&str)); } - let wrap_body = str.len() > 0 && str.chars().next().unwrap() != '{'; + let wrap_body = force_wrap_body || str.len() > 0 && str.chars().next().unwrap() != '{'; if wrap_body { let args = serde_json::from_str::>>(&str) @@ -2743,7 +2745,7 @@ where req: Request, _state: &S, ) -> Result { - let (content_type, mut extra, use_raw) = { + let (content_type, mut extra, use_raw, wrap_body) = { let headers_map = req.headers(); let content_type_header = headers_map.get(CONTENT_TYPE); let content_type = content_type_header.and_then(|value| value.to_str().ok()); @@ -2755,7 +2757,8 @@ where extra.extend(queries); } let raw = query.raw.as_ref().is_some_and(|x| *x); - (content_type, extra, raw) + let wrap_body = query.wrap_body.as_ref().is_some_and(|x| *x); + (content_type, extra, raw, wrap_body) }; if content_type.is_none() || content_type.unwrap().starts_with("application/json") { @@ -2765,7 +2768,7 @@ where let str = String::from_utf8(bytes.to_vec()) .map_err(|e| Error::BadRequest(format!("invalid utf8: {}", e)).into_response())?; - PushArgsOwned::from_json(extra, use_raw, str).await + PushArgsOwned::from_json(extra, use_raw, wrap_body, str).await } else if content_type .unwrap() .starts_with("application/cloudevents+json") diff --git a/frontend/src/lib/components/FlowBuilder.svelte b/frontend/src/lib/components/FlowBuilder.svelte index 65ae5d5068..4e6a703707 100644 --- a/frontend/src/lib/components/FlowBuilder.svelte +++ b/frontend/src/lib/components/FlowBuilder.svelte @@ -205,13 +205,16 @@ draft?: Flow } + let savedAtNewPath = false if (newFlow) { dispatch('saveInitial', $pathStore) } else if (savedFlow?.draft_only && $pathStore !== initialPath) { + savedAtNewPath = true initialPath = $pathStore // this is so we can use the flow builder outside of sveltekit dispatch('saveDraftOnlyAtNewPath', { path: $pathStore, selectedId: getSelectedId() }) } + dispatch('saveDraft', { path: $pathStore, savedAtNewPath, newFlow }) sendUserToast('Saved as draft') } catch (error) { sendUserToast(`Error while saving the flow as a draft: ${error.body || error.message}`, true) From 8545899b6a4aa2a9ea954d67252930f391eeba0a Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 20 Aug 2024 23:24:35 +0200 Subject: [PATCH 021/523] fix base url of flow webhooks for embedded windmill --- frontend/src/lib/components/details/WebhooksPanel.svelte | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/lib/components/details/WebhooksPanel.svelte b/frontend/src/lib/components/details/WebhooksPanel.svelte index e191461aef..2b937f1624 100644 --- a/frontend/src/lib/components/details/WebhooksPanel.svelte +++ b/frontend/src/lib/components/details/WebhooksPanel.svelte @@ -60,10 +60,10 @@ } function computeFlowWebhooks(path: string) { - let base = `${$page.url.origin}/api/w/${$workspaceStore}/jobs` + let webhooksBase = `${$page.url.origin}${base}/api/w/${$workspaceStore}/jobs` - let urlAsync = `${base}/run/f/${path}` - let urlSync = `${base}/run_wait_result/f/${path}` + let urlAsync = `${webhooksBase}/run/f/${path}` + let urlSync = `${webhooksBase}/run_wait_result/f/${path}` return { async: { path: urlAsync From 6a99d999a2b3c390492ef9b55c4ed06f25e6e600 Mon Sep 17 00:00:00 2001 From: HugoCasa Date: Wed, 21 Aug 2024 00:47:34 +0200 Subject: [PATCH 022/523] feat: improve early stop (#4257) --- backend/tests/worker.rs | 8 + backend/windmill-api/src/flows.rs | 4 + backend/windmill-common/src/flows.rs | 3 + backend/windmill-queue/src/jobs.rs | 1 + backend/windmill-worker/src/worker_flow.rs | 76 ++++- .../flows/content/FlowModuleComponent.svelte | 7 +- .../flows/content/FlowModuleEarlyStop.svelte | 268 +++++++++++++----- .../flows/content/FlowModuleHeader.svelte | 2 +- .../src/lib/components/flows/flowExplorer.ts | 3 + .../lib/components/flows/map/MapItem.svelte | 2 +- .../flows/propPicker/PropPickerWrapper.svelte | 2 + .../propertyPicker/PropPickerResult.svelte | 7 +- openflow.openapi.yaml | 9 + 13 files changed, 314 insertions(+), 78 deletions(-) diff --git a/backend/tests/worker.rs b/backend/tests/worker.rs index 66c3ee06a7..6e81aabbd3 100644 --- a/backend/tests/worker.rs +++ b/backend/tests/worker.rs @@ -1113,6 +1113,7 @@ async fn test_deno_flow(db: Pool) { } .into(), stop_after_if: Default::default(), + stop_after_all_iters_if: Default::default(), summary: Default::default(), suspend: Default::default(), retry: None, @@ -1152,6 +1153,7 @@ async fn test_deno_flow(db: Pool) { } .into(), stop_after_if: Default::default(), + stop_after_all_iters_if: Default::default(), summary: Default::default(), suspend: Default::default(), retry: None, @@ -1166,6 +1168,7 @@ async fn test_deno_flow(db: Pool) { } .into(), stop_after_if: Default::default(), + stop_after_all_iters_if: Default::default(), summary: Default::default(), suspend: Default::default(), retry: None, @@ -1270,6 +1273,7 @@ async fn test_deno_flow_same_worker(db: Pool) { concurrency_time_window_s: None, }.into(), stop_after_if: Default::default(), + stop_after_all_iters_if: Default::default(), summary: Default::default(), suspend: Default::default(), retry: None, @@ -1319,6 +1323,7 @@ async fn test_deno_flow_same_worker(db: Pool) { concurrency_time_window_s: None, }.into(), stop_after_if: Default::default(), + stop_after_all_iters_if: Default::default(), summary: Default::default(), suspend: Default::default(), retry: None, @@ -1354,6 +1359,7 @@ async fn test_deno_flow_same_worker(db: Pool) { concurrency_time_window_s: None, }.into(), stop_after_if: Default::default(), + stop_after_all_iters_if: Default::default(), summary: Default::default(), suspend: Default::default(), retry: None, @@ -1369,6 +1375,7 @@ async fn test_deno_flow_same_worker(db: Pool) { ], }.into(), stop_after_if: Default::default(), + stop_after_all_iters_if: Default::default(), summary: Default::default(), suspend: Default::default(), retry: None, @@ -1411,6 +1418,7 @@ async fn test_deno_flow_same_worker(db: Pool) { concurrency_time_window_s: None, }.into(), stop_after_if: Default::default(), + stop_after_all_iters_if: Default::default(), summary: Default::default(), suspend: Default::default(), retry: None, diff --git a/backend/windmill-api/src/flows.rs b/backend/windmill-api/src/flows.rs index ccec53c4dc..0dbe994040 100644 --- a/backend/windmill-api/src/flows.rs +++ b/backend/windmill-api/src/flows.rs @@ -1144,6 +1144,7 @@ mod tests { tag_override: None, }), stop_after_if: None, + stop_after_all_iters_if: None, summary: None, suspend: Default::default(), retry: None, @@ -1172,6 +1173,7 @@ mod tests { expr: "foo = 'bar'".to_string(), skip_if_stopped: false, }), + stop_after_all_iters_if: None, summary: None, suspend: Default::default(), retry: None, @@ -1198,6 +1200,7 @@ mod tests { expr: "previous.isEmpty()".to_string(), skip_if_stopped: false, }), + stop_after_all_iters_if: None, summary: None, suspend: Default::default(), retry: None, @@ -1223,6 +1226,7 @@ mod tests { expr: "previous.isEmpty()".to_string(), skip_if_stopped: false, }), + stop_after_all_iters_if: None, summary: None, suspend: Default::default(), retry: None, diff --git a/backend/windmill-common/src/flows.rs b/backend/windmill-common/src/flows.rs index dbc44afdd9..849a3afa2c 100644 --- a/backend/windmill-common/src/flows.rs +++ b/backend/windmill-common/src/flows.rs @@ -236,6 +236,8 @@ pub struct FlowModule { #[serde(skip_serializing_if = "Option::is_none")] pub stop_after_if: Option, #[serde(skip_serializing_if = "Option::is_none")] + pub stop_after_all_iters_if: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub summary: Option, #[serde(skip_serializing_if = "Option::is_none")] pub suspend: Option, @@ -580,6 +582,7 @@ pub fn add_virtual_items_if_necessary(modules: &mut Vec) { id: format!("{}-v", modules[modules.len() - 1].id), value: crate::worker::to_raw_value(&FlowModuleValue::Identity), stop_after_if: None, + stop_after_all_iters_if: None, summary: Some("Virtual module needed for suspend/sleep when last module".to_string()), mock: None, retry: None, diff --git a/backend/windmill-queue/src/jobs.rs b/backend/windmill-queue/src/jobs.rs index 3e8e466e21..ad43fb6455 100644 --- a/backend/windmill-queue/src/jobs.rs +++ b/backend/windmill-queue/src/jobs.rs @@ -3349,6 +3349,7 @@ pub async fn push<'c, 'd, R: rsmq_async::RsmqConnection + Send + 'c>( }, ), stop_after_if: None, + stop_after_all_iters_if: None, summary: None, suspend: None, mock: None, diff --git a/backend/windmill-worker/src/worker_flow.rs b/backend/windmill-worker/src/worker_flow.rs index c27400c485..10edf6f86a 100644 --- a/backend/windmill-worker/src/worker_flow.rs +++ b/backend/windmill-worker/src/worker_flow.rs @@ -232,22 +232,27 @@ pub async fn update_flow_status_after_job_completion_internal< // "UPDATE FLOW STATUS 2: {module_index:#?} {module_status:#?} {old_status:#?} " // ); - let (skip_loop_failures, parallelism) = if matches!( + let (is_loop, skip_loop_failures, parallelism) = if matches!( module_status, FlowStatusModule::InProgress { iterator: Some(_), .. } ) { let (loop_failures, parallelism) = compute_skip_loop_failures_and_parallelism(flow, old_status.step, db).await?; - (loop_failures.unwrap_or(false), parallelism) + (true, loop_failures.unwrap_or(false), parallelism) } else { - (false, None) + (false, false, None) }; + let is_branch_all = matches!( + module_status, + FlowStatusModule::InProgress { branchall: Some(_), .. } + ); + // 0 length flows are not failure steps let is_failure_step = old_status.step >= old_status.modules.len() as i32 && old_status.modules.len() > 0; - let (mut stop_early, skip_if_stop_early, continue_on_error) = if let Some(se) = + let (mut stop_early, mut skip_if_stop_early, continue_on_error) = if let Some(se) = stop_early_override { //do not stop early if module is a flow step @@ -280,7 +285,18 @@ pub async fn update_flow_status_after_job_completion_internal< .map_err(|e| Error::InternalErr(format!("retrieval of stop_early_expr from state: {e:#}")))?; let stop_early = success + && !is_branch_all && if let Some(expr) = r.stop_early_expr.clone() { + let all_iters = match &module_status { + FlowStatusModule::InProgress { flow_jobs: Some(flow_jobs), .. } + if expr.contains("all_iters") => + { + Some(Arc::new( + retrieve_flow_jobs_results(db, w_id, flow_jobs).await?, + )) + } + _ => None, + }; compute_bool_from_expr( expr, Marc::new( @@ -290,6 +306,7 @@ pub async fn update_flow_status_after_job_completion_internal< .to_owned(), ), result.clone(), + all_iters, None, Some(client), None, @@ -735,6 +752,50 @@ pub async fn update_flow_status_after_job_completion_internal< _ => result.clone(), }; + match &new_status { + Some(FlowStatusModule::Success { .. }) if is_loop || is_branch_all => { + let r_after_all_iters = sqlx::query_as::<_, SkipIfStopped>( + "SELECT + raw_flow->'modules'->$1::int->'stop_after_all_iters_if'->>'expr' as stop_early_expr, + (raw_flow->'modules'->$1::int->'stop_after_all_iters_if'->>'skip_if_stopped')::bool as skip_if_stopped, + NULL as continue_on_error, + args + FROM queue + WHERE id = $2" + ) + .bind(old_status.step) + .bind(flow) + .fetch_one(db) + .await + .map_err(|e| Error::InternalErr(format!("retrieval of stop_early_expr from state: {e:#}")))?; + if let Some(expr) = r_after_all_iters.stop_early_expr { + let should_stop = compute_bool_from_expr( + expr, + Marc::new( + r_after_all_iters + .args + .map(|x| x.0) + .unwrap_or_else(|| serde_json::from_str("{}").unwrap()) + .to_owned(), + ), + nresult.clone(), + None, + None, + Some(client), + None, + None, + ) + .await?; + + if should_stop { + stop_early = should_stop; + skip_if_stop_early = r_after_all_iters.skip_if_stopped.unwrap_or(false); + } + } + } + _ => {} + } + if old_status.retry.fail_count > 0 && matches!(&new_status, Some(FlowStatusModule::Success { .. })) { @@ -1186,6 +1247,7 @@ async fn compute_bool_from_expr( expr: String, flow_args: Marc>>, result: Arc>, + all_iters: Option>>, by_id: Option, client: Option<&AuthedClient>, resumes: Option<(Arc>, Arc>, Arc>)>, @@ -1193,6 +1255,9 @@ async fn compute_bool_from_expr( ) -> error::Result { let mut context = HashMap::with_capacity(if resumes.is_some() { 7 } else { 3 }); context.insert("result".to_string(), result.clone()); + if let Some(all_iters) = all_iters { + context.insert("all_iters".to_string(), all_iters); + } context.insert("previous_result".to_string(), result.clone()); if let Some(resumes) = resumes { @@ -1568,6 +1633,7 @@ async fn push_next_flow_job arc_flow_job_args.clone(), Arc::new(to_raw_value(&json!("{}"))), None, + None, Some(client), None, Some(vec![( @@ -2982,6 +3048,7 @@ async fn compute_next_flow_transform( b.expr.to_string(), arc_flow_job_args.clone(), arc_last_job_result.clone(), + None, Some(idcontext.clone()), Some(client), Some((resumes.clone(), resume.clone(), approvers.clone())), @@ -3258,6 +3325,7 @@ fn is_simple_modules(modules: &Vec, flow: &FlowValue) -> bool { && modules[0].cache_ttl.is_none() && modules[0].retry.is_none() && modules[0].stop_after_if.is_none() + && modules[0].stop_after_all_iters_if.is_none() && (modules[0].mock.is_none() || modules[0].mock.as_ref().is_some_and(|m| !m.enabled)) && flow.failure_module.is_none(); is_simple diff --git a/frontend/src/lib/components/flows/content/FlowModuleComponent.svelte b/frontend/src/lib/components/flows/content/FlowModuleComponent.svelte index 36f990084c..118e449188 100644 --- a/frontend/src/lib/components/flows/content/FlowModuleComponent.svelte +++ b/frontend/src/lib/components/flows/content/FlowModuleComponent.svelte @@ -402,7 +402,12 @@ {#if !$selectedId.includes('failure')} Runtime Cache - + Early Stop Suspend diff --git a/frontend/src/lib/components/flows/content/FlowModuleEarlyStop.svelte b/frontend/src/lib/components/flows/content/FlowModuleEarlyStop.svelte index e52e71b5d7..9226d915fc 100644 --- a/frontend/src/lib/components/flows/content/FlowModuleEarlyStop.svelte +++ b/frontend/src/lib/components/flows/content/FlowModuleEarlyStop.svelte @@ -2,13 +2,14 @@ import SimpleEditor from '$lib/components/SimpleEditor.svelte' import Toggle from '$lib/components/Toggle.svelte' import PropPickerWrapper from '$lib/components/flows/propPicker/PropPickerWrapper.svelte' - import type { FlowModule } from '$lib/gen' + import type { Flow, FlowModule } from '$lib/gen' import Tooltip from '$lib/components/Tooltip.svelte' import type { FlowEditorContext } from '../types' import { getContext } from 'svelte' import { NEVER_TESTED_THIS_FAR } from '../models' import Section from '$lib/components/Section.svelte' import { getStepPropPicker } from '../previousResults' + import { dfs } from '../previousResults' const { flowStateStore, flowStore, previewArgs } = getContext('FlowEditorContext') @@ -26,80 +27,207 @@ false ) + function checkIfParentLoop(flowStore: typeof $flowStore): string | null { + const flow: Flow = JSON.parse(JSON.stringify(flowStore)) + const parents = dfs(flowModule.id, flow, true) + for (const parent of parents.slice(1)) { + if (parent.value.type === 'forloopflow' || parent.value.type === 'whileloopflow') { + return parent.id + } + } + return null + } + + $: isLoop = flowModule.value.type === 'forloopflow' || flowModule.value.type === 'whileloopflow' + $: isBranchAll = flowModule.value.type === 'branchall' $: isStopAfterIfEnabled = Boolean(flowModule.stop_after_if) + $: isStopAfterAllIterationsEnabled = Boolean(flowModule.stop_after_all_iters_if) $: result = $flowStateStore[flowModule.id]?.previewResult ?? NEVER_TESTED_THIS_FAR + $: parentLoopId = checkIfParentLoop($flowStore)
-
- - - If defined, at the end of the step, the predicate expression will be evaluated to decide if - the flow should stop early. - - - - { - if (isStopAfterIfEnabled && flowModule.stop_after_if) { - flowModule.stop_after_if = undefined - } else { - flowModule.stop_after_if = { - expr: 'result == undefined', - skip_if_stopped: false - } - } - }} - options={{ - right: 'Early stop or Break if condition met' - }} - /> - -
- {#if flowModule.stop_after_if} - - Stop condition expression -
- { - editor?.insertAtCursor(detail) - editor?.focus() - }} - > - + + If defined, at the end of the step, the predicate expression will be evaluated to decide + if the flow should stop early or break if inside a for/while loop. + + + + { + if (isStopAfterIfEnabled && flowModule.stop_after_if) { + flowModule.stop_after_if = undefined + } else { + flowModule.stop_after_if = { + expr: 'result == undefined', + skip_if_stopped: false + } + } + }} + options={{ + right: isLoop + ? 'Break loop' + : parentLoopId + ? 'Break parent loop module' + : 'Stop flow' + ' if condition met' + }} + /> + +
+ {#if flowModule.stop_after_if} + {@const earlyStopResult = isLoop + ? Array.isArray(result) && result.length > 0 + ? result[result.length - 1] + : result === NEVER_TESTED_THIS_FAR + ? result + : undefined + : result} + {#if !parentLoopId && !isLoop} + - -
- {:else} - Stop condition expression -