Ruben Fiszel
2eac74cef4
fix: resolve BlobPart type incompatibility between Deno and Node.js
...
Use .slice() on Uint8Array values before passing to File/Blob constructors
to create fresh ArrayBuffer-backed arrays, avoiding type errors from
ArrayBufferLike vs ArrayBuffer differences in TypeScript definitions.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-17 21:20:19 +00:00
Ruben Fiszel
dcee9fe7b1
feat: cli branch override ( #7592 )
...
* fix(cli): prevent duplicate 'Using non-dotted paths' log message
Add a flag to track whether the message has already been logged,
so it only prints once even if setNonDottedPaths is called multiple times.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* feat(cli): add --branch option to sync pull/push commands
Add a --branch argument that allows overriding the current git branch
for sync operations. This enables:
- Using branch-specific settings even when not in a git repository
- Overriding the detected git branch when needed
The branch override is applied to:
- getEffectiveSettings() for branch-specific config overrides
- getSpecificItemsForCurrentBranch() for branch-specific items
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* fix(cli): correct log message for workspace fork branches
Use rawGitBranch instead of currentBranch in the log message when
showing the origin of a workspace fork branch.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* feat(cli): extend --branch support to specificItems functionality
Update getBranchSpecificPath and isCurrentBranchFile to accept optional
branchOverride parameter. This ensures that branch-specific file handling
(for variables, resources, triggers) works correctly with --branch flag.
Updated functions:
- getBranchSpecificPath(): now accepts branchOverride
- isCurrentBranchFile(): now accepts branchOverride
- elementsToMap(): now accepts branchOverride
- compareDynFSElement(): now accepts branchOverride
- prettyChanges(): now accepts branchOverride
All call sites updated to pass opts.branch through the call chain.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* fix(cli): resolve TypeScript type errors
- Fix Timeout type in dev.ts using ReturnType<typeof setTimeout>
- Add proper type casts for unknown error types
- Cast FlowModule to any to resolve generated type mismatch
- Cast Uint8Array to BlobPart for Blob constructor compatibility
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* test(cli): add unit tests for branch detection and --branch override
- Add specific_items.test.ts with 35 tests covering:
- toBranchSpecificPath and fromBranchSpecificPath conversions
- isSpecificItem pattern matching
- isBranchSpecificFile detection
- Round-trip path conversions
- branchOverride parameter functionality
- Add conf_branch_override.test.ts with 6 tests covering:
- getEffectiveSettings with branchOverride parameter
- Branch-specific overrides application
- promotionOverrides precedence
- Fallback to top-level settings
- Fix containerized_backend.ts to use dynamic paths instead of
hardcoded user home directories
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* chore(cli): add conf.ts barrel file for test imports
Re-exports from src/core/conf.ts to support existing test imports.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* all
* fix(cli): pass --branch override to workspace resolution
Previously, the --branch flag was only used for config resolution but
not for workspace resolution. This caused confusing log messages that
showed the git branch (e.g., master) before showing the override branch.
Changes:
- Add branchOverride parameter to tryResolveBranchWorkspace()
- Add branchOverride parameter to resolveWorkspace()
- Pass opts.branch from sync pull/push to resolveWorkspace()
- Log "Using branch override" early in workspace resolution
- Remove duplicate log from getEffectiveSettings()
Now when using --branch foobar, the logs show:
Using branch override: foobar
Applied settings for Git branch: foobar
...
Instead of the confusing previous output that mentioned both master
and foobar.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* refactor(cli): remove redundant branch detection in elementsToMap
isCurrentBranchFile() already validates that a branch exists (via
branchOverride or git detection) before returning true. No need to
pre-compute currentBranch before calling it.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-16 20:55:01 +00:00
Ruben Fiszel
be1b4100dd
nonDottedPaths to avoid using .inline_script.
2025-12-27 00:17:36 +00:00
Ruben Fiszel
5f7f67790a
feat(cli): add nonDottedPaths option ( #7459 )
2025-12-26 22:16:38 +00:00
Ruben Fiszel
0e63dd301f
fix: raw app v0.5 ( #7310 )
2025-12-06 16:06:30 +00:00
Ruben Fiszel
2d563c6c17
vite + svelte support on local dev
2025-11-29 18:12:14 +00:00
Tsvetomir Bonev
ce48e76a4b
allow configuring esbuild banner ( #7247 )
2025-11-28 22:27:08 +00:00
Pyra
d38c96db36
feat: workspace dependencies ( #7124 )
...
* commit raw requirements
Signed-off-by: pyranota <pyra@duck.com >
* raw requirements
Signed-off-by: pyranota <pyra@duck.com >
* implement `parse_annotation`
Signed-off-by: pyranota <pyra@duck.com >
* more progress on wdeps
Signed-off-by: pyranota <pyra@duck.com >
* more progress
Signed-off-by: pyranota <pyra@duck.com >
* fixes
Signed-off-by: pyranota <pyra@duck.com >
* more progress
Signed-off-by: pyranota <pyra@duck.com >
* fixes
Signed-off-by: pyranota <pyra@duck.com >
* cli improvements + raw deps
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* fix python versions
Signed-off-by: pyranota <pyra@duck.com >
* progress
Signed-off-by: pyranota <pyra@duck.com >
* update :)
Signed-off-by: pyranota <pyra@duck.com >
* add MaybeLock
Signed-off-by: pyranota <pyra@duck.com >
* go WIP
Signed-off-by: pyranota <pyra@duck.com >
* fix python ignoring py version from requirements
Signed-off-by: pyranota <pyra@duck.com >
* optimize php
Signed-off-by: pyranota <pyra@duck.com >
* require admin to alter
Signed-off-by: pyranota <pyra@duck.com >
* fix(cli): flow generateLocks raw deps
Signed-off-by: pyranota <pyra@duck.com >
* progress in checklist
Signed-off-by: pyranota <pyra@duck.com >
* fix agent workers
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* nit: remove default features
Signed-off-by: pyranota <pyra@duck.com >
* oh-wow
Signed-off-by: pyranota <pyra@duck.com >
* remove dbg!
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* add indexes
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* remove todos
Signed-off-by: pyranota <pyra@duck.com >
* fix cli
Signed-off-by: pyranota <pyra@duck.com >
* add debug flag
Signed-off-by: pyranota <pyra@duck.com >
* cli: remove noise
Signed-off-by: pyranota <pyra@duck.com >
* fix cli
Signed-off-by: pyranota <pyra@duck.com >
* remove todos
Signed-off-by: pyranota <pyra@duck.com >
* trigger deps correctly
Signed-off-by: pyranota <pyra@duck.com >
* fix frontend
Signed-off-by: pyranota <pyra@duck.com >
* fix frontend again
Signed-off-by: pyranota <pyra@duck.com >
* finally fix frontend
Signed-off-by: pyranota <pyra@duck.com >
* ee repo ref
Signed-off-by: pyranota <pyra@duck.com >
* fix all
Signed-off-by: pyranota <pyra@duck.com >
* more fixes...
Signed-off-by: pyranota <pyra@duck.com >
* remove test
Signed-off-by: pyranota <pyra@duck.com >
* Update backend-test.yml
* comment out legacy test
Signed-off-by: pyranota <pyra@duck.com >
* fix ci
Signed-off-by: pyranota <pyra@duck.com >
* fix ci?
Signed-off-by: pyranota <pyra@duck.com >
* comment out thing
Signed-off-by: pyranota <pyra@duck.com >
* ignore test
Signed-off-by: pyranota <pyra@duck.com >
* ci
Signed-off-by: pyranota <pyra@duck.com >
* base fixture
Signed-off-by: pyranota <pyra@duck.com >
* fix regression
Signed-off-by: pyranota <pyra@duck.com >
* fix docs links
Signed-off-by: pyranota <pyra@duck.com >
* update min version
Signed-off-by: pyranota <pyra@duck.com >
* simplify
* implement cache for get_latest
Signed-off-by: pyranota <pyra@duck.com >
* move to workspace settings
Signed-off-by: pyranota <pyra@duck.com >
* sqlx + migration
Signed-off-by: pyranota <pyra@duck.com >
* more migrations
Signed-off-by: pyranota <pyra@duck.com >
* use box pin
Signed-off-by: pyranota <pyra@duck.com >
* nit
Signed-off-by: pyranota <pyra@duck.com >
---------
Signed-off-by: pyranota <pyra@duck.com >
Co-authored-by: Ruben Fiszel <ruben@windmill.dev >
2025-11-28 16:00:11 +00:00
Ruben Fiszel
e8fd36e2e7
fix(cli): support better esm mode for codebases
2025-11-27 17:21:04 +00:00
Ruben Fiszel
62ffe9ffce
fix(cli): add automatic handler of .node files for codebase bundler
2025-11-07 23:10:26 +00:00
Ruben Fiszel
555125d284
cli nits
2025-10-29 08:04:02 +00:00
Ruben Fiszel
a3a68c4fef
nit
2025-10-27 15:01:32 +00:00
Ruben Fiszel
fadfcfd0fc
fix(cli): increase custom bundler output size
2025-10-23 23:18:04 +00:00
Pyra
edece035f8
feat: job debouncing ( #6878 )
...
* feat(EE): job debouncing
Signed-off-by: pyranota <pyra@duck.com >
* remove 'script' file
Signed-off-by: pyranota <pyra@duck.com >
* more work
Signed-off-by: pyranota <pyra@duck.com >
* properly gate it behind enterprise
Signed-off-by: pyranota <pyra@duck.com >
* update ee repo ref
Signed-off-by: pyranota <pyra@duck.com >
* change ee repo ref again
Signed-off-by: pyranota <pyra@duck.com >
* remove unused variable
Signed-off-by: pyranota <pyra@duck.com >
* feat(EE): implement TODOs and enhance tracing for job debouncing
- Add database index on script(workspace_id, debounce_key) for efficient lookups
- Update minimum version requirement to 1.564.0 throughout codebase
- Add tracing warnings when debouncing is disabled due to worker version mismatch
- Fix all documentation links from TODO placeholders to proper URLs
- Replace Gauge icon with Timer icon for debouncing UI elements
- Update placeholder text and tooltips with clear descriptions
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* create -> crate
Signed-off-by: pyranota <pyra@duck.com >
* remove index
Signed-off-by: pyranota <pyra@duck.com >
* some updates
Signed-off-by: pyranota <pyra@duck.com >
* fix once more
Signed-off-by: pyranota <pyra@duck.com >
* fix it once more
Signed-off-by: pyranota <pyra@duck.com >
* Remove flow step debouncing, keep top-level flow debouncing
- Remove debounce fields from RawScript and FlowScript FlowModuleValue variants
- Remove debounce fields from JobPayload::FlowScript and RawCode
- Update raw_script_to_payload function signature
- Remove debouncing UI from flow step runtime settings
- Remove debouncing toggle handler and indicator badge
- Preserve top-level flow debouncing in FlowSettings
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* fixup claude's work
Signed-off-by: pyranota <pyra@duck.com >
* cleanup: remove dbg! statements, update min version to 1.566.0, add comprehensive comments
- Removed all dbg! macro calls from production code
- Updated MIN_VERSION_SUPPORTS_DEBOUNCING from 1.564.0 to 1.566.0
- Added comprehensive documentation comments explaining:
- Debouncing feature purpose and mechanics
- Database schema for debounce_key and debounce_stale_data tables
- Version check logic and guard functions
- Improved code clarity and maintainability
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* improve fallback
Signed-off-by: pyranota <pyra@duck.com >
* remove comments from old migration
Signed-off-by: pyranota <pyra@duck.com >
* fix pull
Signed-off-by: pyranota <pyra@duck.com >
* fix once more
Signed-off-by: pyranota <pyra@duck.com >
* Update frontend/src/lib/components/ScriptBuilder.svelte
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* add sqlx cache
Signed-off-by: pyranota <pyra@duck.com >
* fix: frontend CI - fix debounce field names and remove leftover flow step debouncing
- Fix ScriptBuilder.svelte: change custom_debounce_key to debounce_key
- Add debounce_key and debounce_delay_s fields to NewScript schema in openapi.yaml
- Regenerate frontend types from OpenAPI spec
- Remove leftover flow step debouncing code from FlowModuleComponent.svelte
- Remove debounce fields from RawScript in openflow.openapi.yaml
- Remove unused Timer import from FlowModuleHeader.svelte
All frontend checks now passing (0 errors, 0 warnings)
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* fix ci
Signed-off-by: pyranota <pyra@duck.com >
* remove unused import
Signed-off-by: pyranota <pyra@duck.com >
* fix ci again
Signed-off-by: pyranota <pyra@duck.com >
* udpate ee repo ref
Signed-off-by: pyranota <pyra@duck.com >
* CI doesn't want to be fixed but I still try
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* ci...
Signed-off-by: pyranota <pyra@duck.com >
* Update ee-repo-ref.txt
* safer migration
Signed-off-by: pyranota <pyra@duck.com >
* reduce noise in logs
Signed-off-by: pyranota <pyra@duck.com >
* fix cli for scripts
Signed-off-by: pyranota <pyra@duck.com >
* nit
Signed-off-by: pyranota <pyra@duck.com >
---------
Signed-off-by: pyranota <pyra@duck.com >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
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-10-23 20:18:08 +00:00
Ruben Fiszel
d382ea7c8b
feat: support esm mode for codebase bundles ( #6709 )
...
* rawAppsS3
* make fn common
* all
* merge
* nit
* fix ingress
* all
* all
* all
* all
2025-09-30 14:45:30 +00:00
Ruben Fiszel
a7cbc289af
fix(cli): improve result printing of the CLI
2025-09-23 15:31:10 +00:00
Alexander Petric
2066a2ada2
fix(cli): specific items for file resource type ( #6464 )
...
* cli file resource specific items
* improvement
* resource command + correct order of context
* no dynamic imports
* support trigger types for branch specific items
* also update trigger cli function to be branch aware
* hubscript path
2025-08-27 12:49:46 +00:00
pyranota
11dd4118ce
feat: add ruby support ( #5939 )
...
* implement single line pin
* make panic-safe
* use pin even if multiple modules imported withing single statement
* add repins and make imports respect pins
* keep all pins
* Allow multiple pins
* add comments + handle stuff more safely
* fix fully qualified imports
* remove ignore
* sort nested
* apply unique to output requirements list
* fix typo
* remove mut
* update sqlx
* sort imports
* sort imports
* fix formatter and format
* feat: add ruby support
* fix
* update sqlx
* add ruby to flake.nix
Signed-off-by: pyranota <pyra@duck.com >
* upgrade par_install_language_dependencies helper
rename fields + allow passing custom payload
Signed-off-by: pyranota <pyra@duck.com >
* change migrations
Signed-off-by: pyranota <pyra@duck.com >
* make full pipeline work!
Signed-off-by: pyranota <pyra@duck.com >
* do a bit fixing
* stage
Signed-off-by: pyranota <pyra@duck.com >
* add ruby in dockerfiles
Signed-off-by: pyranota <pyra@duck.com >
* implement auto-require + 'windmill/inline'
Signed-off-by: pyranota <pyra@duck.com >
* create 'windmill/inline' only if does not exist
Signed-off-by: pyranota <pyra@duck.com >
* add nsjail
Signed-off-by: pyranota <pyra@duck.com >
* update global settings
Signed-off-by: pyranota <pyra@duck.com >
* add ruby icon
* generate lockfile on deploy (but broken)
Signed-off-by: pyranota <pyra@duck.com >
* fix(frontend): display deployed script lockfile and other info
Signed-off-by: pyranota <pyra@duck.com >
* feat: add mini-wmill client
Methods:
- get_resource
- get_variable
Additionally add shortcuts on frontend
Signed-off-by: pyranota <pyra@duck.com >
* add nit warning
Signed-off-by: pyranota <pyra@duck.com >
* support private repos credentials
Signed-off-by: pyranota <pyra@duck.com >
* fix compilation error
Signed-off-by: pyranota <pyra@duck.com >
* found rustc bug + refactor universal installer
Signed-off-by: pyranota <pyra@duck.com >
* more refactor + fixes
Signed-off-by: pyranota <pyra@duck.com >
* bug fixing + polishing
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* change 'windmill/inline'
Signed-off-by: pyranota <pyra@duck.com >
* delegate env_clear to universal installer
Signed-off-by: pyranota <pyra@duck.com >
* update init script
Signed-off-by: pyranota <pyra@duck.com >
* add cli support
Signed-off-by: pyranota <pyra@duck.com >
* unhardcode frontend
Signed-off-by: pyranota <pyra@duck.com >
* fix cli
Signed-off-by: pyranota <pyra@duck.com >
* fix init script
Signed-off-by: pyranota <pyra@duck.com >
* make it work on ms windows
Signed-off-by: pyranota <pyra@duck.com >
* do not clean env in the end
Signed-off-by: pyranota <pyra@duck.com >
* fix windows (again)
Signed-off-by: pyranota <pyra@duck.com >
* include PROXY_ENVS (untested)
Signed-off-by: pyranota <pyra@duck.com >
* feat: self-signed certs + proxy support (tested)
Signed-off-by: pyranota <pyra@duck.com >
* flake: pin ruby to 3.4
* merge follow-ups
Signed-off-by: pyranota <pyra@duck.com >
* remove obsolete libc crate
Signed-off-by: pyranota <pyra@duck.com >
* cleanup parser
Signed-off-by: pyranota <pyra@duck.com >
* fix java ci
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* fix nits
Signed-off-by: pyranota <pyra@duck.com >
* Update backend/windmill-worker/src/universal_pkg_installer.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update backend/windmill-worker/src/ruby_executor.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* add nsjail for lock stage
Signed-off-by: pyranota <pyra@duck.com >
* fix merge
Signed-off-by: pyranota <pyra@duck.com >
* Update common.rs
* regen windmill-api-client
Signed-off-by: pyranota <pyra@duck.com >
* fix tests
Signed-off-by: pyranota <pyra@duck.com >
* fix tests again
Signed-off-by: pyranota <pyra@duck.com >
* reference published ruby parser
Signed-off-by: pyranota <pyra@duck.com >
---------
Signed-off-by: pyranota <pyra@duck.com >
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-15 13:03:32 +00:00
centdix
69c2a7c1c8
chore(cli): better folder structure + add config utils ( #6319 )
...
* organize in folders
* add config command
* fix
* cleaning
* move utility functions
* merge
* only show token with option
* only show token with option
* fix
* remove config command
* add config utils
* change paths
* nit
* clean path assigner
---------
Co-authored-by: Alexander Petric <alpetric@users.noreply.github.com >
2025-08-05 13:59:07 +00:00