Commit Graph

9617 Commits

Author SHA1 Message Date
Ruben Fiszel
86eb9074cc feat: blacklist remote agent worker token (#5985) 2025-06-20 12:07:33 +02:00
pyranota
06e61ee958 Add fake main function to fix Python AST parsing (#6006)
The changes ensure the Python AST parser can handle code snippets where the main
function was previously removed, by appending a dummy main function.
2025-06-20 09:28:30 +02:00
Diego Imbert
b9e668b489 Remove last SelectLegacy (#6003)
* Replace SelectLegacy in AppPicker

* Better DynSelect

* remove select legacy

* fix unknown values not displayed

* undo tsconfig change

* better dyn select search

* index js remove

* use bindable defaults
2025-06-19 17:49:53 +02:00
Guilhem
f2425362f9 display branchone default branch label (#6005) 2025-06-19 17:48:16 +02:00
claude[bot]
4ae5928788 fix: ai button in inline script editor to open AI chat in flow builder (#5989)
* fix: ai button in inline script editor to open AI chat in flow builder

- Add openAiChat prop to ScriptGen component to control AI button behavior
- When openAiChat=true, AI button opens AI chat manager in script mode
- When openAiChat=false (default), AI button shows direct generation popover
- Update flow builder (FlowModuleComponent) to use openAiChat=true for inline scripts
- App builder continues using direct generation (openAiChat defaults to false)
- Import AIMode enum properly to fix TypeScript error

Resolves request from @HugoCasa to make flow AI button open chat instead of direct generation while keeping app builder unchanged.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>

* refactor: extract repeated logic into reusable functions in ScriptGen.svelte

- Created determineModeFromEditor() to centralize mode setting logic
- Added callCopilot() to unify copilot function calls with proper typing
- Added handleAiButtonClick() as single handler for button click scenarios
- Created safeLocalStorageOperation() for generic localStorage error handling
- Added getPromptStorageKey() for centralized storage key generation

Reduces code duplication and improves maintainability.

Co-authored-by: HugoCasa <HugoCasa@users.noreply.github.com>

* refactor: extract duplicate determineModeFromEditor call in handleAiButtonClick

Remove code duplication by calling determineModeFromEditor() once at the 
beginning of handleAiButtonClick() instead of in both conditional branches.

Co-authored-by: HugoCasa <HugoCasa@users.noreply.github.com>

* nits

* better color

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: HugoCasa <HugoCasa@users.noreply.github.com>
Co-authored-by: HugoCasa <hugo@casademont.ch>
2025-06-19 16:15:35 +02:00
centdix
9462d56be7 internal: better instructions for claude (#5996)
* better instructions for claude

* remove file

* better rules

* better claude action

* add api routes prefixes

* typo

* typo

* fix

* fix

* add typegen explanations

* remove npm run format
2025-06-19 15:36:10 +02:00
claude[bot]
c4adaeeabd fix: improve piptar upload - sequential uploads via background task queue (#5994)
* feat: improve piptar upload with sequential background task queue

Replace simultaneous piptar uploads with sequential processing via background job queue while keeping dependency installation parallelized.

Key changes:
- Add PiptarUpload job kind and database migration  
- Queue piptar uploads instead of using tokio::spawn
- Implement job handler for sequential S3 uploads
- Maintain parallel dependency installation as requested

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Ruben Fiszel <rubenfiszel@users.noreply.github.com>

* Remove PiptarUpload job kind migration files

Refactoring piptar uploads to use tokio channel instead of Windmill jobs.
Migration files are no longer needed.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>

* Refactor piptar uploads from Windmill jobs to tokio channel

Replace the complex job queue infrastructure for piptar uploads with a simple 
tokio channel approach as requested. This maintains sequential upload behavior
while keeping dependency installation parallel.

Key changes:
- Add PIPTAR_UPLOAD_CHANNEL global channel for sequential processing
- Replace JobPayload::PiptarUpload with simple channel send
- Remove PiptarUpload from JobKind enum and all job handling code
- Remove job dispatcher case from worker.rs
- Simplify upload logic while maintaining same functionality

Benefits:
- Reduced complexity by removing unnecessary job infrastructure
- Sequential uploads without blocking dependency installation
- Better separation of concerns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>

* Update worker.rs

* Update python_executor.rs

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-06-19 15:32:21 +02:00
Diego Imbert
e4255e6276 fix: replace worker tags to listen multiselect (#5997)
* rename all multiselects to Legacy

* move Select

* Separate SelectDropdown

* fix click outside for select with portal

* multiselect v0

* multiselect clear btn

* move filterText logic to SelectDropdown

* ui nits

* console.log

* draggable

* Draggable multiselect

* multiselect search

* nit refacto

* autofocus multiselect input

* Replace in AppMultiSelectV2

* search icon

* app multi select nits

* arginput update multiselect

* fix autofocus scrolling up

* replace High priority tags multiselect

* autoscaling config editor multiselect replace

* fix clear btn not in border

* replace multiselect in cron input

* replace multiselect in savedinputs

* replace EventHandlerItem multiselect

* select dropdown shadow

* more multiselect migration

* hover opacity on drag

* TokensTable UI fixes + replace multiselect

* ai settings replace multiselect

* DefaultTags Multiselect replace

* prevent multiselect from opening on drag

* nit

* app multiselect css + simplify

* console log

* safeSelectItems cleanup

* Remove svelte-multiselect

* clip when wrap not allowed

* hide duplicate app components

* CSS works better  with multiselect in app editor

* allowOverflow

* allowClear

* replace tags to listen to with a multiselect

* fix custom createText messed up with search
2025-06-19 15:00:13 +02:00
Diego Imbert
fa8d1b47db fix: new MultiSelect component (#5979)
* rename all multiselects to Legacy

* move Select

* Separate SelectDropdown

* fix click outside for select with portal

* multiselect v0

* multiselect clear btn

* move filterText logic to SelectDropdown

* ui nits

* console.log

* draggable

* Draggable multiselect

* multiselect search

* nit refacto

* autofocus multiselect input

* Replace in AppMultiSelectV2

* search icon

* app multi select nits

* arginput update multiselect

* fix autofocus scrolling up

* replace High priority tags multiselect

* autoscaling config editor multiselect replace

* fix clear btn not in border

* replace multiselect in cron input

* replace multiselect in savedinputs

* replace EventHandlerItem multiselect

* select dropdown shadow

* more multiselect migration

* hover opacity on drag

* TokensTable UI fixes + replace multiselect

* ai settings replace multiselect

* DefaultTags Multiselect replace

* prevent multiselect from opening on drag

* nit

* app multiselect css + simplify

* console log

* safeSelectItems cleanup

* Remove svelte-multiselect

* clip when wrap not allowed

* hide duplicate app components

* CSS works better  with multiselect in app editor

* allowOverflow

* allowClear

* fix custom createText messed up with search
2025-06-19 14:37:17 +02:00
Ruben Fiszel
054f2c134a improve decision tree builder 2025-06-19 08:07:11 +02:00
Ruben Fiszel
530a72ba83 chore(main): release 1.499.0 (#5990)
* chore(main): release 1.499.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.499.0
2025-06-19 00:58:56 +02:00
claude[bot]
2a334421e8 fix: prevent keypress events from bubbling in decision tree drawer (#5993)
Fixes #5991

- Add keydown event handlers with stopPropagation() to prevent SvelteFlow 
  from receiving keypress events from text inputs in decision tree config
- Applied at individual input level (summary field) and container level 
  (configuration panel) to catch all input types
- Prevents accidental node deletion when typing in configuration inputs

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
2025-06-19 00:34:44 +02:00
Ruben Fiszel
c7c2efbbe5 nits 2025-06-18 23:46:21 +02:00
claude[bot]
b1c4f8b29d feat: devOps role can edit worker groups (#5984)
* feat: allow devOps role to edit worker groups config

- Updated backend permission checks in configs.rs to use require_devops_role() instead of require_super_admin()
- Updated frontend UI in workers page to show worker group management for devOps users
- Updated WorkerGroup component to allow devOps role access to all configuration features
- Updated AssignableTagsInner component to allow devOps users to manage tags

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>

* Update configs.rs

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-06-18 23:06:53 +02:00
Ruben Fiszel
14005fe4c1 nits debug 2025-06-18 22:41:05 +02:00
Ruben Fiszel
4326bb8dc9 improve decision tree preview 2025-06-18 22:33:02 +02:00
centdix
18d12525d2 fix typo (#5982) 2025-06-18 18:29:15 +02:00
Ruben Fiszel
47d1ef0f1c fix additional python paths for windows 2025-06-18 18:24:54 +02:00
claude[bot]
86b5fab4dc [Claude PR] Fix incorrect $props generic syntax in Svelte 5 components (#5975)
* fix: correct $props generic syntax in Svelte 5 components

Replace incorrect `$props<T>()` syntax with correct `let x: T = $props()` syntax
to ensure proper TypeScript typing instead of falling back to `any` types.

This affects 11 Svelte 5 components throughout the frontend codebase.

Fixes #5974

Co-authored-by: Diego Imbert <diegoimbert@users.noreply.github.com>

* fix claude pr

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Diego Imbert <diegoimbert@users.noreply.github.com>
Co-authored-by: Diego Imbert <diego@windmill.dev>
Co-authored-by: Diego Imbert <70353967+diegoimbert@users.noreply.github.com>
2025-06-18 18:21:20 +02:00
centdix
a58b0ffd06 internal: fix sqlx git action usage (#5980)
* create frontend build dir

* specify version

* add cache
2025-06-18 18:20:07 +02:00
Ruben Fiszel
38a050b0f4 simplify select (#5978)
* improve select

* improve
2025-06-18 17:01:57 +02:00
Ruben Fiszel
c088322159 fix input transform reactivity 2025-06-18 16:14:57 +02:00
claude[bot]
079af9292c [Claude PR] Add account_id update support for variables (#5953)
* write sqlx

* all

* update sqlx

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-06-18 15:25:36 +02:00
centdix
0f560bdc41 internal: fix claude tool usage (#5976)
* fix claude tool usage

* fix
2025-06-18 15:00:42 +02:00
dieriba
f97a61ecc8 fix openapi export duplicate issue and nits (#5971)
* nits and fix duplicate issue

* update .sqlx

* nits
2025-06-18 14:28:26 +02:00
Diego Imbert
be0c8ddae0 prevent datatable from spamming loadMore on scroll to end (#5973) 2025-06-18 14:25:55 +02:00
centdix
959280bf5a fix wrong typo (#5970) 2025-06-18 13:22:11 +02:00
centdix
38b06bf3a7 internal: add /updatesqlx as git command (#5969)
* add flow to update sqlx

* archive aider

* fix

* add comments
2025-06-18 13:08:59 +02:00
Ruben Fiszel
f5f2f8f344 chore(main): release 1.498.0 (#5957)
* chore(main): release 1.498.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.498.0
2025-06-17 22:29:56 +02:00
dieriba
aba8c01d7f feat: windmill http triggers and webhooks to openapi spec (#5918)
* add sum and description to http routes

* add to openapi spec

* add subsection

* add collaspable and action button

* added path rendering,

* migrate logic to backend

* remover server and handle different format generation

* add filter for http route and document generated

* remove print

* handled webhook and integrated server component

* done

* add download and copy

* nits

* update .sqlx

* remove .vscode

* fix npm check

* add summary description and fix toggle

* added security handling and nits

* update .sqlx

* nits and rename key

* remove unused code

* update ref

* nits rename var

* nits

* nits

* nits

* nits

* nits

* add token generation for cURL command

* create token

* update label and remove section

* update repo ref

* clean

* let brower start download before cleaning up resource

* handle sync/async for webhook

* format fix

* nits

* nits

* reset sum and description
2025-06-17 19:49:00 +02:00
Diego Imbert
28a0209568 fix gcp trigger bind to undefined (#5967) 2025-06-17 19:47:40 +02:00
Diego Imbert
0cdff8acd1 Fix MQTT undefined binding bug (#5966) 2025-06-17 19:34:28 +02:00
centdix
e4534cabf5 ai chat textarea caret wrong positionning (#5964)
* fix textarea caret

* rename style
2025-06-17 18:44:41 +02:00
Diego Imbert
5bdbaf149b Fix unreactive navbar wizard (#5963)
* fix unreactive AppPicker

* migrate StaticInputEditor to svelte 5
2025-06-17 18:42:27 +02:00
Ruben Fiszel
51b3823f7b improve worker tooltip to get hostname, workerGroup 2025-06-17 18:24:30 +02:00
pyranota
74de2397ce docs: add Nix development guide (#5962)
* update readme

* change formatting

* link docker/dev.nu

Signed-off-by: pyranota <pyra@duck.com>

* move stuff a bit

* remove unrelated docs

* remove duplicates

Signed-off-by: pyranota <pyra@duck.com>

* add php to path

Signed-off-by: pyranota <pyra@duck.com>

---------

Signed-off-by: pyranota <pyra@duck.com>
2025-06-17 18:15:30 +02:00
centdix
2d0e65b7ca internal: give database schemas information to Claude (#5961)
* add schema

* give claude the schema

* use summarized schema

* add indexes

* add usage comments

* Remove backend/schema.sql from remote
2025-06-17 17:35:30 +02:00
Diego Imbert
84808e2694 fix conditional tabs reactivity (#5958)
* fix app conditional wrapper reactivity

* Convert GridCondition to Svelte 5

* Revert "fix app conditional wrapper reactivity"

This reverts commit 2b5910fde2.

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-06-17 11:29:51 +02:00
centdix
8407ac148b nit: fix typo in ai form filling text (#5959)
* differentiate flow from script

* fix typing
2025-06-17 11:24:50 +02:00
centdix
7490e883d7 feat: use provider api to list available AI models in workspace settings (#5947)
* use open router of model lists

* draft

* allow get in ai proxy

* add fetch available models function

* use func

* fix for anthropic

* fix

* fetch on mount

* fix ai settings

* fix

* handle azure
2025-06-17 08:48:47 +00:00
Ruben Fiszel
ad2de83354 chore(main): release 1.497.2 (#5956)
* chore(main): release 1.497.2

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.497.2
2025-06-17 09:16:49 +02:00
Ruben Fiszel
8b7aefb3bc improve tag of new flow dependency job 2025-06-17 09:12:23 +02:00
Ruben Fiszel
0f63d03093 dind compile 2025-06-17 08:14:11 +02:00
Ruben Fiszel
38eb71bdf5 fix: always rm containers in docker mode 2025-06-17 02:32:49 +02:00
Ruben Fiszel
26bec054a3 fix: flow steps use their tags if any specific when used as subflow 2025-06-17 02:27:24 +02:00
Ruben Fiszel
d0ebb66d0d nits perf improvements 2025-06-17 02:06:58 +02:00
Ruben Fiszel
bc9893402b nit prevent default component list 2025-06-17 02:00:30 +02:00
Ruben Fiszel
13ac13e0b7 chore(main): release 1.497.1 (#5955)
* chore(main): release 1.497.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.497.1
2025-06-17 01:53:14 +02:00
Ruben Fiszel
1c6a7c8cd0 fix: fix mcp server initialization 2025-06-17 01:44:04 +02:00
Ruben Fiszel
8e8e1a3129 chore(main): release 1.497.0 (#5912)
* chore(main): release 1.497.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.497.0
2025-06-17 00:09:22 +02:00