Commit Graph

10255 Commits

Author SHA1 Message Date
Diego Imbert cd02586ba2 feat: use S3 Proxy for duckdb instead of direct connection (#6505)
* s3 proxy works with get (no auth yet)

* nit

* support s3:// syntax

* Support s3:// syntax and fix vite api proxy normalizing double slashes in URI

* s3 checks authed

* nit

* PUT works

* delete file works

* Derive the JWT signature from the backend

* Authorize s3 correctly (JWT signature is never sent in cleartext)

* convert object store error to wmill error for correct status code

* stash

* fix

* POST first request proxy works

* s3 put for duckdb

* factor out direct proxy code

* Fix Issue with backend proxy and wrong signature due to Host header mismatch

* Add _default_ syntax to solve URI normalization issues with signing

* restricted to user paths toggle

* user path restriction works !

* change restriction to allow

* fix

* factor out code

* better permissions UX in object storage settings

* Revert to restrict_to_user_paths

* check permissions in old s3 api

* DuckDB now uses S3 Proxy and no longer needs LFS query

* implement todo

* fix hardcoded w_id

* s3 proxy size limit

* s3_proxy is ee

* nit

* add Google Cloud Storage as option to secondary storage

* GCS secret in duckdb

* fix toolchain compile

* Remove user permissions for v0

* fix ci 2

* fix CI OSS

* fix missing feature flag

* fix unused warning

* integration test fails bc rustc 1.85.0

* ee ref

* fix ci ...

* update ee ref
2025-09-03 15:03:44 +00:00
Guilhem 003e2711be fix(frontend): make prop search case insensitive (#6512)
* fix(frontend): make prop search case insensitive

* fix search object

* autofocus on search

* restore index search for arrays
2025-09-03 14:44:16 +00:00
claude[bot] f14140b365 feat: add S3 streaming info to 10k rows SQL error message (#6528)
Extended the error message when SQL queries return more than 10k rows
to inform users about S3 streaming capability with a link to docs

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-09-03 13:18:23 +00:00
Ruben Fiszel 9bef2ca4ca use oauth for code claude + sonnet 2025-09-03 12:09:26 +00:00
hugocasa b82a81f3ad fix(cloud): only load premium info when workspace admin (#6522) 2025-09-03 09:47:33 +00:00
Ruben Fiszel 3e3d608a74 nits git sync 2025-09-02 22:47:01 +00:00
Ruben Fiszel 0f5e32c755 fix rust client 2025-09-02 21:42:17 +00:00
Ruben Fiszel d2d9aa051e fix rust client 2025-09-02 21:39:16 +00:00
Ruben Fiszel 89e8062991 test logs 2025-09-02 21:32:21 +00:00
Ruben Fiszel 66b4800d6c nit sqlx 2025-09-02 20:25:02 +00:00
Ruben Fiszel 88646fd1ee fix extra migration startup issue 2025-09-02 20:15:37 +00:00
Ruben Fiszel b6df9ccc4d nit allow_cache 2025-09-02 17:00:58 +00:00
Ruben Fiszel 10a95845e9 nit allow_cache 2025-09-02 16:29:36 +00:00
Ruben Fiszel ad5fbd0a66 nit 2025-09-02 16:28:57 +00:00
Ruben Fiszel 10d4b5e983 nit 2025-09-02 15:25:42 +00:00
Ruben Fiszel a86681edd0 add variable caching api 2025-09-02 14:34:46 +00:00
dieriba 7953d3c09f feat: refactor trigger crud (#6472)
* base

* base crate

* websocket updated

* crud refactored

* fix and nits

* fix compiler warning, nits and update repo ref

* fix oss

* fix compilation

* update ref

* fix

* update feature

* listener base

* add listener

* refactor logic done and implemented for postgres

* fix capture

* websocket

* implem for all triggers

* update sqlx,repo ref and fix

* fix oss

* unify struct fix websocket

* nits and fix oss runtime axum error

* perf cache query

* update .sqlx

* update .sqlx

* fix

* fix unused

* fix

* fix

* nits and fix http handler update endpoint

* update .sqlx

* update repo ref

* nits

* fix

* update ref

* fix

* update .sqlx
2025-09-02 11:28:06 +00:00
Ruben Fiszel bca9f899a0 improve the notify mechanism for resource change 2025-09-02 11:08:05 +00:00
hugocasa de47d61d71 fix(backend): retrieve root_job for MiniPulledJob + fix root job for flow jobs (#6490)
* feat(backend): retrieve root_job for MiniPulledJob + fix root job for flow jobs

* nit

* nits

* set root_job only if additional information meaning if not equal to innermost or parent

* nit

* feat: add root job env var

* nits

* fix build

* nit

* fix build

* nit

* sqlx
2025-09-02 09:44:09 +00:00
centdix 8c6053b575 feat(aichat): allow custom system prompt for each mode (#6500)
* add ui to add custom system prompt

* implement backend changes

* add custom prompt in system prompt

* add in openapi

* add max length

* add backend validation
2025-09-02 09:27:37 +00:00
claude[bot] 02d5dab51b feat(perf): add 60-second local cache for variables and resources(#6511)
* feat: add 60-second cache for variables and resources with PostgreSQL invalidation

- Add new var_resource_cache module with 60-second TTL
- Implement PostgreSQL NOTIFY/LISTEN for immediate cache invalidation
- Cache get_variable() for non-secret, non-encrypted reads
- Cache get_resource_value() for all read operations
- Add database triggers on variable/resource table changes
- Initialize cache system in main.rs after database connection
- Add Clone derive to ListableVariable for cache compatibility

Performance benefits:
- Avoids database queries on cache hits
- Immediate invalidation ensures data consistency
- Selective caching respects security constraints

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

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

* refactor: move cache to API layer with allow_cache query param

- Move variable/resource cache from windmill-common to windmill-api
- Add allow_cache query parameter to variables and resources endpoints
- Follow raw script cache pattern with timestamp + value structure
- Create proper database migration for notification triggers
- Include encrypted values in cache when appropriate
- Only activate caching when explicitly requested

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

* refactor: move cache to API layer with allow_cache query param

Move PostgreSQL LISTEN logic to main.rs following established pattern
- Remove custom listener initialization from cache module
- Add cache invalidation channels to centralized notification handler
- Simplified cache module to only handle cache operations
- Follow raw script cache pattern for notification handling

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

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
2025-09-02 07:48:03 +00:00
Guilhem ce1fe9e64a fix(frontend): improve flow step buttons layout (#6507)
* improve flow step buttons layout

* nit

* nit

* harmonize branche delete
2025-09-02 06:52:18 +00:00
centdix ded248ff0b fix(mcp): fix path transformation (#6508)
* fix path transformation

* fix mcp url copy

* safer code
2025-09-02 06:50:14 +00:00
Ruben Fiszel 3cb9eb8f8e remove pin ambiguity on cache 2025-09-01 14:59:25 +00:00
Ruben Fiszel 57754a8919 feat: cache relative imports (#6504)
* all

* all

* update
2025-09-01 14:55:08 +00:00
Ruben Fiszel 13b03bc9e6 chore(main): release 1.538.0 (#6495)
* chore(main): release 1.538.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-09-01 12:42:19 +00:00
hugocasa 00b3ccdfcb feat(frontend): preprocessor snippet completion in code editor (#6502)
* feat(frontend): preprocessor snippet completion in code editor

* fix: only for main script editor
2025-09-01 12:36:06 +00:00
hugocasa e5d15dccae fix(backend): http triggers early return (#6501) 2025-09-01 12:33:24 +00:00
Guilhem c0704a9efc typo (#6503)
* Fix typo

* improve debounce on popover
2025-09-01 10:53:56 +00:00
Guilhem 2cd9e727ec fix(frontend): Improve runs page ux (#6485)
* improve arg layout

* improve runs row (wip)

* Add job badges

* group filters in dropdown

* improve runs row layout

* Improve filter layout

* use select for graph display

* handle width modification

* Remove useless headers

* fix bad display when result is null

* Display all jobs tags

* Improve display for 'step of flow' jobs

* Add empty message for JobAssetsViewer

* Move job preview assets tab to flow result for flows

* Only show tag in the tag column

* Add job kind to rows

* Add padding to the run preview

* nit

* move refresh on top of table

* Move filters into header bar

* move runs table topbar outside table

* Simplify layout

* Use toggle for kind for large screen

* move sync job and add batch actions breakpoint

* revert dropdown to toggle for conurrency/duration

* handle run labels overflow

* improve time display

* fix flow preview with no path display

* Add titles

* Prevent tab shift for script and flow result

* nit

* Allow job deselect

* Make job link more visible

* Fix filtering for queued job

* Fix filter not reseting after select from toggleMore

* Allways show assets for flow status viewer

* Update run chart to svelte 5 and fix reactivity issue

* migrate concurrency chart to svelte 5

* Improve admmin workspace display and fix missing in add filter popover

* nit

* fix run table resize

* Add breakpoint to hide tag in small screens

* use a css file for gathering RunRow and RunTable classes

* nit

* nit

* remove debug log

* nit

* fix typo

* Have too icons for queued workers and suspended

* add gap before auto-refresh

* Replace min max to from to calendar picker

* Add loading state for job preview

* Move duration

* Display kind full width when calendar not set

* Only show 2 digits for jobs duration

* Replace Scheduled for by a clock un the run row

* Fix typpo in dropown select to dropdown select

* Hide sync and previews in toggle more

* Fix runs row padding

* Change notification colors for queued jobs

* use utils debounce function

* fix typo

* nit

* use class instead of classNames

* clean select filter side effects
2025-09-01 09:49:15 +00:00
centdix 4bb9be09af feat(aichat): cache prompts when using anthropic models (#6489)
* working draft

* add caching

* add anthropic.ts

* cleaning

* better typing

* nit

* use anthropic sdk

* draft

* draft parser

* cleaning

* update openai sdk + use stream method

* fix anthropic base url

* cleaning

* better error handling + cleaning

* rollback to old parsing

* nit

* set strict to false for mistral
2025-09-01 08:55:15 +00:00
Ruben Fiszel e1df2f036f fix(frontend): make resource a separate top-level type in schema editor for clarity 2025-08-31 16:19:04 +00:00
Ruben Fiszel 690b2470bf json editor nit 2025-08-31 13:17:12 +00:00
Ruben Fiszel cee09be4fd typo env nit 2025-08-31 12:23:37 +00:00
claude[bot] 1f1bd8cae7 feat(perf): add 300-second local cache for variable crypt retrieval (#6483)
* feat: add 60-second cache for workspace key retrieval

This implements a cache with 60-second staleness for the get_workspace_key
function to reduce database queries for workspace encryption keys. The cache
follows the same pattern as the existing CUSTOM_ENVS_CACHE but with a
shorter expiration time.

Requested by @rubenfiszel

Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>

* Extend cache staleness from 60 to 300 seconds

* feat: add cache invalidation notifications for workspace keys

Add PostgreSQL LISTEN/NOTIFY mechanism to invalidate workspace key cache
across all servers and workers when workspace keys change.

- Add database migration with trigger function for workspace_key changes
- Add notification handler in main.rs to remove from WORKSPACE_KEY_CACHE
- Follow same pattern as existing workspace environment cache invalidation
- Ensures distributed cache consistency for workspace encryption keys

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

* finish

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
2025-08-31 12:19:59 +00:00
Ruben Fiszel c67620e4da add TAGS_ARE_SENSITIVE env variable 2025-08-30 10:26:24 +00:00
Ruben Fiszel d15510effa fix: schema editor reactivity improvements (#6496)
* all

* all

* all

* all

* all

* nit

* all

* all

* all

* all
2025-08-30 02:32:35 +00:00
hugocasa de15ca4671 fix(frontend): capture/trigger UI nits (#6494) 2025-08-29 13:00:27 +00:00
Ruben Fiszel f4802eb0a3 chore(main): release 1.537.1 (#6491)
* chore(main): release 1.537.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-29 09:43:00 +00:00
Ruben Fiszel 127ad349fc fix: fix error handling of pre-processor steps 2025-08-29 09:38:25 +00:00
Ruben Fiszel fa43b7a672 fix: skipPreprocessor on re-running job immedaitely from UI 2025-08-29 07:24:47 +00:00
Ruben Fiszel 01d98239e2 nit check 2025-08-29 07:06:17 +00:00
Ruben Fiszel e09af3c2f1 fix: fix preprocessor not displaying immediately on addition 2025-08-29 06:57:01 +00:00
Ruben Fiszel 7e3a40a356 chore(main): release 1.537.0 (#6486)
* chore(main): release 1.537.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
2025-08-28 19:29:04 +00:00
BaptisteMoureaux 3871cfa81b bump lsp go version & add private packages go support (#6484) 2025-08-28 18:06:36 +00:00
Ruben Fiszel eca3f3ed3e fix: fix workflow as code behavior with multithread 2025-08-28 17:44:57 +00:00
hugocasa 734fb3f1f7 prevent past due team plans to overuse (#6487)
* prevent past due team plans to overuse

* nit

* update ee ref
2025-08-28 16:56:57 +00:00
centdix 30081eca92 feat(aichat): allow reverting specific line for inline script suggestions (#6480)
* draft

* cleaning

* settimeout temp fix

* adjust colors

* cleaning

* good stuff

* no timeout

* add on finish callback

* cleaning

* fix

* adpat accept all / reject all

* cleaning

* cleaning

* adapt click on module reject/accept

* clearer function names

* nit

* simplify
2025-08-28 10:00:59 +00:00
Ruben Fiszel 78fa7d8700 fix: fix okta and oauth0 sso settings 2025-08-27 18:38:07 +00:00
pyranota a1b702f2a8 fix: fix relative imports cache invalidation (#6468)
* fix: new script on deps job for secondary scripts

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

* make it work (dirty)

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

* reduce db calls

* remove `triggered_by_relative_import`

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

* add comment to common_dependency_path

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

* add fallback to old behavior

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

* remove TODOs

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

* pass deployed hash to git sync handler function

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

* fix ci

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

---------

Signed-off-by: pyranota <pyra@duck.com>
2025-08-27 17:44:35 +00:00