Commit Graph
5234 Commits
Author SHA1 Message Date
Guilhem 4ddde07fb7 add padding on large screens (#7626) 2026-01-20 15:21:43 +00:00
Pyra 95df7b9a6a feat: otel REST tracing (#7571) 2026-01-20 13:38:02 +00:00
Ruben Fiszel 32059499d5 feat(raw-apps): enable hash-based routing with URL sync for shareable URLs (#7624) 2026-01-20 13:19:29 +00:00
Diego Imbert ceb798838c Display download btn with S3:/// syntax (#7623) 2026-01-20 12:25:47 +00:00
Ruben Fiszel bb22fcb3a4 raw app improvements 2026-01-20 08:37:15 +00:00
Ruben FiszelandClaude Opus 4.5 c143e78d7f feat(raw-apps): add ctx input type for secure backend-resolved user context (#7621)
* feat(raw-apps): add ctx input type for secure backend-resolved user context

Add support for ctx inputs in raw app backend runnables, allowing
developers to securely access user context (username, email, groups,
workspace, author) that is resolved by the backend and cannot be
altered by users.

- Add CtxInput type with { type: 'ctx', ctx: 'property' } syntax
- Add ctx toggle option in RawAppInputsSpecEditor with property selector
- Show current user's actual values in ctx property dropdown
- Convert ctx fields to $ctx:property format when executing runnables
- Use actual user values when testing in editor
- Preserve fieldType when switching input types
- Fix computeFields to preserve inputs without fieldType

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

* fix: use Object.assign instead of spread for type compatibility

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 08:27:46 +00:00
Ruben Fiszel f33b79936b fix: add HIDE_WORKERS_FOR_NON_ADMINS env var and workspace-scoped custom_tags endpoint (#7613) 2026-01-19 19:14:18 +00:00
Ruben Fiszel 8daeccc89f fix: update git sync CLI to 1.612.0 2026-01-19 18:36:11 +00:00
Ruben Fiszel 1438b26310 fix: fix runs page initialization 2026-01-19 18:30:15 +00:00
Guilhem 9359ad820d fix(frontend): improve ai settings page (#7606)
* compute diff before save

* Use modal to configure ai prompts

* workspace ai to brand guidelines

* improve ai settings page

* nit

* nit

* nit
2026-01-19 17:48:51 +00:00
Guilhem 30da9e69f8 fix(frontend): improve loading centered modal ui (#7605) 2026-01-19 17:48:20 +00:00
Guilhem c1ec159471 fix(frontend): fix centered page shift when scroll (#7610)
* fix(frontend): fix centered page shift overflow

* fix home page overflow

* fix all other page overflow
2026-01-19 17:47:10 +00:00
Pyra c04eb371cc feat: move job metrics from ee to ce (#7608)
* open source job metrics

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

* fix

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

* update

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

---------

Signed-off-by: pyranota <pyra@duck.com>
2026-01-19 15:48:50 +00:00
Ruben FiszelandClaude Opus 4.5 4f8110eb98 fix(flow-chat): handle SSE timeout and fix temp message race condition
- Add proper handling for SSE timeout, ping, error, and not_found message
  types in handleStreamingMessage. On timeout after 30s, the connection
  now properly closes and reconnects instead of silently failing.

- Fix race condition where the first text bubble would disappear during
  streaming. The pollConversationMessages method was removing all temp
  messages on every poll interval, even while streaming was active. Now
  temp messages are only removed during the final poll after job completion.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 08:17:00 +00:00
Ruben Fiszel 1b9d1c56c7 feat: add HashiCorp Vault secret storage integration (#7599)
* feat: add HashiCorp Vault secret storage integration

- Create SecretBackend trait abstraction for secret storage
- Add VaultBackend implementation with CRUD operations
- Integrate secret backend into variable CRUD operations
- Add migration functions (DB → Vault and Vault → DB)
- Add frontend configuration UI for secret backend
- Add test connection and migration endpoints
2026-01-18 23:08:29 +00:00
Ruben Fiszel b3cb41efa4 feat: add private npm registry proxy support for ATA in webide (#7597) 2026-01-17 10:44:30 +00:00
Alexander Petric 86ebf9e25a fix: transparency issue of instance setting save button (#7594) 2026-01-16 22:43:40 +01:00
Ruben Fiszel 1819713450 feat: add streamJob to raw apps 2026-01-16 10:47:52 +00:00
Diego Imbert b6ef536098 fix: S3 secondary storage client and UI fixes (#7587)
* fix storage selector broken

* Fix writeS3File not returning secondary storage
2026-01-16 10:33:22 +00:00
Ruben Fiszel 21ebaa4196 update git sync 2026-01-16 00:07:50 +00:00
Ruben Fiszel cd88a03791 update git sync version 2026-01-15 23:08:34 +00:00
centdix 62c1fd4ee7 feat(flow): add diff viewer in deployment history (#7575) 2026-01-15 10:12:28 +00:00
Ruben FiszelandClaude Opus 4.5 303b673a75 fix(frontend): detect [windmill] log marker anywhere in content, not just at start (#7583)
When logs stream quickly at job start, preamble content (job metadata,
execution headers) appears before the [windmill] compacted log marker.
The LogViewer now searches for the marker within the first 2000 chars
and renders the "Show more..." button inline at the correct position.

Optimizations:
- Fast early bail-out using short '[windmill]' search before long prefix matching
- Skip expensive ansi_to_html computation when splitHtml is active

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 10:01:54 +00:00
Diego Imbert 2a4a288160 Refactor runs page search params state logic (#7543)
* start refactoring runs page query params state

* more refactor

* more migration

* more refactor

* per_page migrate

* refactor

* char consistency layout

* runs filter wrong logic

* fix autosetFilter

* nit remove Default Email filter

* Revert "nit remove Default Email filter"

This reverts commit b46b3872a9.

* nit

* arg nits

* fix filters.arg reactivity

* RunsFilter pass 1

* Refactor JobsLoader into useJobsLoader

* fix lastFetchWentToEnd

* update claude.md

* debounce to avoid flicker

* debounce

* callback mistake

* missing return

* change to null

* dead code file (SavedInputs was replaced with V2)

* arg and result filter nits

* better flicker prevention

* avoid duplicates when loading more jobs

* fix broken type

* nit type

* improve date filter state mgmt + encode URI component on all params
2026-01-15 07:20:04 +00:00
Diego Imbert 54db9eeed3 Fix suspend step duplicate forms (#7581)
* nit totalEventsWaiting

* remove temp console log

* loading indicator in Resume button

* refactor

* Revert "refactor"

This reverts commit eae6213cdd.

* useThrottle

* fix promises

* Revert "fix promises"

This reverts commit 90a5613245.

* svelte 5 migration

* Fix duplicate resume forms

* Check all flow_jobs
2026-01-15 06:09:14 +00:00
Guilhem 1d5d28ae7a fix(frontend): remove workspace invites (#7579)
* disable auto invite outside cloud and legacy

* Add confirmation modal and warning
2026-01-14 21:04:20 +00:00
Guilhem 15842ad638 fix overflows in the app builder [Merge ui-builder first] (#7576)
* fix raw app header overflow

* update ui-builder hash
2026-01-14 15:45:49 +00:00
wendrul 0c78aebe6a fix: remove audit logs page overflow scrollbars (#7572) 2026-01-14 14:52:52 +00:00
Diego Imbert a7335d6914 fix: Fix number ordering in postgres' db manager (#7570) 2026-01-14 14:22:39 +00:00
Guilhem da54a67822 fix(frontend): improve context for ai chat in raw app builder (#7566)
* feed datatable name and schema into context when available

* fix corrupted frontend wip

* debug wip

* Revert "debug wip"

This reverts commit 2beeb998dd.

* Revert "fix corrupted frontend wip"

This reverts commit 43b01deaec.
2026-01-14 13:36:23 +00:00
Guilhem 739b347c1b Improve cancel flow step titles (#7567) 2026-01-14 13:35:23 +00:00
centdix 5c08abe141 feat(aiagent): handle oauth for mcp tools (#7564)
* feat(aiagent): handle oauth for mcp tools

* cleaning

* cleaning

* move oauth2

* cleaning

* cimd

* wrap path

* fix frontend

* fix

* refresh resources

* cleaning

* update ee ref

* update sqlx

* cleaning

* update

* cleaning

* update ref

* cleaning

* cleaning

* update ref
2026-01-14 12:06:40 +00:00
HugoCasa f72c16456f Revert "feat(aiagent): handle oauth for mcp tools [merge-ee-first] (#7544)"
This reverts commit e823c953d1.
2026-01-14 12:59:14 +01:00
centdix e823c953d1 feat(aiagent): handle oauth for mcp tools [merge-ee-first] (#7544)
* feat(aiagent): handle oauth for mcp tools

* cleaning

* cleaning

* move oauth2

* cleaning

* cimd

* wrap path

* fix frontend

* fix

* refresh resources

* cleaning

* update ee ref

* update sqlx

* cleaning

* update

* cleaning

* update ref

* cleaning

* cleaning
2026-01-14 11:57:00 +00:00
Guilhem 0dee67d5cd add accent ai style (#7555) 2026-01-14 11:17:19 +00:00
Guilhem 28e25ec60d fix(frontend):fix first draft save (#7552)
* Fix first draft save

* fix draft low code app save
2026-01-13 21:24:59 +01:00
wendrul 4431dd4ba0 Rename sync mode and promotion mode into Git Sync and Git Promotion (#7550) 2026-01-13 18:00:22 +00:00
Pyra 3135a8b095 feat: enable debouncing for sync jobs (#7551)
Signed-off-by: pyranota <pyra@duck.com>
2026-01-13 18:00:11 +00:00
Ruben FiszelandClaude Opus 4.5 f8cbf15d86 refactor: change debugger port from 5679 to 3003
Updates the debugger service to use port 3003 instead of 5679 across
all configuration files, documentation, and code references. This aligns
the debugger with the other windmill-extra services which use ports
3001 (LSP) and 3002 (Multiplayer).

Changes:
- docker-compose.yml: Update port exposure and add DEBUGGER_PORT env
- docker/entrypoint-extra.sh: Change default port from 5679 to 3003
- debugger/dap_debug_service.ts: Update default port in code and docs
- debugger/README.md: Update port documentation
- debugger/test_debug_service.ts: Update test URLs
- docker/test_windmill_extra.ts: Update test configuration
- .github/workflows/publish_extra.yml: Update test container ports
- frontend/src/lib/components/debug/*: Update frontend examples and defaults

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 17:58:12 +00:00
Guilhem c210853033 fix(frontend): update raw app editor to brand guidelines (#7545)
* nit

* Update sidebar to brand guidelines

* use dropdown for file delete and rename

* update runnable script styling

* fix icon sizes

* Polish app creation form

* Add missing languages icons

* Allow  to delete runnable from the left pannel

* update top bar to brand guidelines

* improve svelte template

* fix runnables binding

* nit

* Deselect frontend file when selecting background runnable

* fix renaming wip

* fix add ing files, update only after adding

* Change filename when already existing

* update deployment page to brand guidelines

* fix folder open error

* expand folder if adding file inside

* nit

* fix bad link

* use alert for ai not configured message
2026-01-13 16:33:32 +00:00
Ruben Fiszel 4451a37999 feat: debuggers for python and bun v0 (#7546) 2026-01-13 15:20:06 +00:00
Diego Imbert f0fd1c5e1a Improve alter table query speed + duckdb nits (#7538)
* Fetch alter table metadata much faster

* Upgrade duckdb to 1.4.3

* Disable transactional DDL for Ducklake (bug on their side)
2026-01-10 01:24:02 +01:00
Ruben Fiszel 57fd32b11d fix improve tags sensitivity behavior for certain backend apis 2026-01-09 17:32:44 +00:00
Diego Imbert 17d29cd8c7 fix: Better workspace storage settings (#7533)
* Better Workspace Storage settings

* nit

* super nit

* Permission settings in modal

* badge indicator

* nit width
2026-01-09 15:16:56 +00:00
6f7cf2fb16 feat: add password reset flow using configured SMTP settings (#7525)
* feat: add password reset flow using configured SMTP settings

Implements password reset functionality for users with email/password login:

Backend:
- Add `/auth/request_password_reset` endpoint to request a password reset email
- Add `/auth/reset_password` endpoint to reset password using token
- Add `/auth/is_smtp_configured` endpoint to check if SMTP is available
- Uses existing `magic_link` table for storing reset tokens
- Tokens expire after 1 hour
- Invalidates all existing sessions on password reset
- Includes audit logging

Frontend:
- Add "Forgot password?" link on login page (shown when SMTP is configured)
- Add `/user/forgot-password` page for requesting password reset
- Add `/user/reset-password` page for entering new password
- Both pages follow existing Windmill design patterns

Security:
- Always returns success response to prevent email enumeration
- Password must be at least 8 characters
- Uses argon2 for password hashing (same as existing login)

Closes #7524

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

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

* nits

* nits

* fix oss

* nits

* fix oss

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: HugoCasa <hugo@casademont.ch>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-01-09 10:31:56 +00:00
Diego Imbert 668b1b0a89 Fix wonky operator menu (#7528)
* Fix wonky operator menu

* fix on close
2026-01-09 04:30:46 +00:00
Diego Imbert 08a88b302d fix wrong schema var (#7527) 2026-01-08 17:26:04 +00:00
Diego Imbert e513f143b7 fix oneOf infer bug (#7526) 2026-01-08 12:45:00 +00:00
Guilhem 61d357ff56 improve job preview popover layout (#7485) 2026-01-08 06:29:49 +00:00
Guilhem b8c8df080b fix(frontend): improve centered page overflow (#7515)
* center page top when needed

* remove debug message
2026-01-08 06:26:32 +00:00