* assets migration
* parse assets (duckdb)
* iterate on assets
* S3 object Preview
* remove pagination
* filterText
* better occurence list
* tweak
* assets in JobPreview
* clone impl
* AssetsDetectedBadge
* improve DbManagerButton + asset dropdown button
* edit resource btn
* warning when incorrect resource
* +Resource in DuckDB
* +S3 Object editor bar
* nit fix rename
* flow asset badge
* More Generic OnChange
* Highlight assets used in modules
* Show occurence count in flow
* Better UX, avoid moving parts
* nit
* Asset nodes
* move to dedicated Asset ctx
* fix layoutNodes not handling first assetsMap
* explore asset btn in flow asset node
* correct offset
* single computeAssetNodes function
* Fix y positioning of nodes with assets
* resource editor
* write mode node (ui)
* accessType in ctx + fix insert button positioning
* right positioning when mixing read and write nodes
* right positioning when mixing R and W assets
* Better layout fix algorithm
* listAssetsByUsage and asset nodes on transitive usages
* refactor + remove linkAssets
* Refactor to allow for custom R/W modes
* AssetsDropdownButton in flow script editor
* R/W/RW selection and changes node pos in flow
* layoutNodes doesnt need recompute now
* fix wrong assumption that nodes recompute when assets change
* r/w/rw multi toggle
* MultiToggle cool animation + clearable
* rename + 1px nit
* remove mini toggle button group, use ToggleButtonGroup
* Combinator parser that detects R / W asset context
* nit fix missing flex-1
* missing order by
* better ui indication for access type
* special x offset case when only one asset node for clarity
* parse getResource in TS with swc ecma parser
* support load and write s3 detection in TS
* Python asset parser
* support wmill api calls without special $res: or s3:// syntax
* detect out of context asset uris python
* do not use access type override when not ambiguous in flow graph
* parse_assets match case in rust
* AsRef<str> refactor
* From impl
* Save flow assets
* Save script asset usages + fixes + save fallback access types
* asset sub icon
* max total asset node width to avoid overlap
* small refactor
* don't parse comments in duckdb assets
* fix assets clearing on parse error
* fix script asset save in wrong place
* load initial asset fallback access types
* support variables
* ui fixes
* Support S3Object as URI in TS client
* support new syntax in python client
* Support +S3Object in EditorBar for TS and python
* Reduce resource requests in assets page
* import windmill client when necessary
* update s3Types.d.ts
* nit fix
* Show input resources and s3 objects as assets
* improve asset icons
* DarkModeObserver refactor
* asset page tabs
* Moved resource variables and s3object pages to assets tabs
* fetch resource usages
* Get variables usages
* move assets usage dropdown to component
* Revert "move assets usage dropdown to component"
This reverts commit 622ea4ab12.
* Revert "Get variables usages"
This reverts commit b11ced4e29.
* Revert "fetch resource usages"
This reverts commit aa5187ad4b.
* Revert "Moved resource variables and s3object pages to assets tabs"
This reverts commit 4430487be4.
* Revert "asset page tabs"
This reverts commit dacc2f0da5.
* move assets usage dropdown to component
* asset icon in asset pages
* tooltip
* details
* Storage selector in S3 File Picker
* make edge less opaque
* Refactor computeAssetNodes to separate in and out nodes
* AssetsOverflowedNode
* nits
* fix assets not being parsed in flows sometimes
* show asset kind and resource_type
* ui nits
* support res:// in duckdb
* add banner for old deployments
* Fix permissionning
* fix broken disable /enable all
* assets page view permission for operators
* Disable ExploreAssetButton for operators
* asset kind as subtitle
* do not spam getResource in assets page. prob. revert fail
* update assets page on workspace change
* reload storage names on ws change
* delete assets on archive / deletion
* sqlx prepare
* missing update when updating user
* add indexes on asset
* better message
* missing loadInit: false
* dead code
* use transaction
* typo
* update package.json
* update package.json
---------
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* app compiles with every ee substituted
* Replace all oss files content
* Revert "Replace all oss files content"
This reverts commit ea4017d59f.
* delete all ee
* hide all _ee files under private flag
* hide every oss stuff when private flag set
* pub use *
* gitignore and substitute script
* pub mod for ee needed for ee repo
* small mistakes
* remove oidc_oss impl
* ee ref (temp)
* ee ref
* fix --all-features selecting private in OSS CI
* ee repo ref
* allow unused
* Refactored flow_workspace_runnables to more generic workspace_runnable_dependencies
* list flows referencing an item upon renaming it
* Refactor with two exclusive columns to avoid breaking FK constraints
* Show apps depending on item upon renaming
* sqlx prepare
* list-disc instead of •
* on delete and on update cascade
* displayPathChangedWarning oneOf check instead noneOf
* combine migrations + add "on update cascade" to flow fk
* unique index on app dependencies to avoid duplicates
* create new workspace_runnable_dependencies instead of renaming old table
* Add "looking for references" loading msg
* Revert "create new workspace_runnable_dependencies instead of renaming old table"
This reverts commit 015c38ca8f.
* flow_workspace_runnables view for backwards compatibility
* Add warning for script imports on rename
* support import dependency tracking in deno
* number of using scripts / flows / apps tooltip
* forgot sqlx prepare
* delete app-related rows in down migration
* feat: track workspace runnables used in flows
* track script hash
* weird
* do it with lock
* Revert "feat: add support for | None and Optional in python (#5361)"
This reverts commit 69a2d85f25.
* Revert "Revert "feat: add support for | None and Optional in python (#5361)""
This reverts commit bb8f709894.
* update openapi
* delete old in lock_modules + don't track hub scripts
* feat: Multiplayer deploy collision warning
Show warning with diff viewer if 2+ users try to deploy flow/script/app at the same time
In other words, if user A and user B started editing same flow/script/app and user A deployed it,
user B will get warning if they try to deploy as well.
* Add warning for scripts
* Add `deployedBy` to Apps
* Format
* Fix advanced deployment on scripts
* Write comments and cleanup
* feat(frontend): unify all triggers UX and simplify flow settings (#4259)
* feat(frontend): added list of triggers in the flow graph
* feat(frontend): added list of triggers in the flow graph
* feat(frontend): clean up
* feat(frontend): improve UX
* feat(frontend): triggers
* feat(frontend): triggers
* feat(frontend): done
* feat(frontend): fix trigger when position when a preprocessor is presetn
* Glm/rework flow settings v2 (#4497)
* fat(frontend): simplify flow settings menu
* improve scroll
* changing mute toggle
* Add advanced settings badge
* Add nord theme colors
* Add bage for advanced options
* fix minor issue
* fix minor issue
* Add triggers menu to flow settings
* Add quick trigger access
* remove triggers in flow settings
* fix minor issue
* Move triggers settings to flow right panel
* polishing
* fix unset store
* remove save up to for triggers
* fix padding
* reset default tag color
* remove custom select component
* revert path change
* revert section modif
* Revert unused feature
---------
Co-authored-by: Guilhem <guilhem@mbp-de-windmill.home>
* Connect top bar cron to schedules settings
* Turn copilot into node
* fix copilot placement
* remove useless import
* fix center copilot
* fix binding
* remove copilot on top of preprocessor
* render copilot node on condition
* quickfix
* remove copilot node
* fix minor issues
* fix route count update
* fix schedule sync
* harmonize colors
* fix alignment and add edges
* recenter node summary
* fix schedules sync
* Add id title
* all
* all
* all
* iteration
* all
* all
* done
* fix
* more fixes
---------
Co-authored-by: Guilhem <guilhemlemouel@gmail.com>
Co-authored-by: Guilhem <guilhem@mbp-de-windmill.home>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
* Update ScriptBuilder.svelte
* Remove `onMount` for flows
* Use version instead of last_updated_at in flows
* Use only versions for apps
* Fetch latest data in Diffs in Apps
* Optimize with (script/flow/app)GetLatestVersion
Create several new endpoints, that returns just latest version without rest of the history
* Sync Diffs with deployed
* Improve Diff's data
* Use `getFlowLatestVersion`
* fix failing endpoints for deployed collision warning
---------
Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
Co-authored-by: Guilhem <guilhemlemouel@gmail.com>
Co-authored-by: Guilhem <guilhem@mbp-de-windmill.home>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
* feat: Multiplayer deploy collision warning
Show warning with diff viewer if 2+ users try to deploy flow/script/app at the same time
In other words, if user A and user B started editing same flow/script/app and user A deployed it,
user B will get warning if they try to deploy as well.
* Add warning for scripts
* Add `deployedBy` to Apps
* Format
* Fix advanced deployment on scripts
* Write comments and cleanup
* feat(frontend): unify all triggers UX and simplify flow settings (#4259)
* feat(frontend): added list of triggers in the flow graph
* feat(frontend): added list of triggers in the flow graph
* feat(frontend): clean up
* feat(frontend): improve UX
* feat(frontend): triggers
* feat(frontend): triggers
* feat(frontend): done
* feat(frontend): fix trigger when position when a preprocessor is presetn
* Glm/rework flow settings v2 (#4497)
* fat(frontend): simplify flow settings menu
* improve scroll
* changing mute toggle
* Add advanced settings badge
* Add nord theme colors
* Add bage for advanced options
* fix minor issue
* fix minor issue
* Add triggers menu to flow settings
* Add quick trigger access
* remove triggers in flow settings
* fix minor issue
* Move triggers settings to flow right panel
* polishing
* fix unset store
* remove save up to for triggers
* fix padding
* reset default tag color
* remove custom select component
* revert path change
* revert section modif
* Revert unused feature
---------
Co-authored-by: Guilhem <guilhem@mbp-de-windmill.home>
* Connect top bar cron to schedules settings
* Turn copilot into node
* fix copilot placement
* remove useless import
* fix center copilot
* fix binding
* remove copilot on top of preprocessor
* render copilot node on condition
* quickfix
* remove copilot node
* fix minor issues
* fix route count update
* fix schedule sync
* harmonize colors
* fix alignment and add edges
* recenter node summary
* fix schedules sync
* Add id title
* all
* all
* all
* iteration
* all
* all
* done
* fix
* more fixes
---------
Co-authored-by: Guilhem <guilhemlemouel@gmail.com>
Co-authored-by: Guilhem <guilhem@mbp-de-windmill.home>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
* Update ScriptBuilder.svelte
* Remove `onMount` for flows
* Use version instead of last_updated_at in flows
* Use only versions for apps
* Fetch latest data in Diffs in Apps
* Optimize with (script/flow/app)GetLatestVersion
Create several new endpoints, that returns just latest version without rest of the history
* Sync Diffs with deployed
* Improve Diff's data
* Use `getFlowLatestVersion`
---------
Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
Co-authored-by: Guilhem <guilhemlemouel@gmail.com>
Co-authored-by: Guilhem <guilhem@mbp-de-windmill.home>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
* fix: hide draft only scripts to ops and in pickers/flow builder
* fix: default to hiding draft only scripts
* fix: hide script drafts from ops
* fix: generalize to hide draft only/no main func by default
* fix: archived openapi nit
* Add concurrency_key table and field to payload
Add a new table custom_concurrency_key for storing concurrency keys on a
per job basis. Add the field to the job payload to populate the table on
creation of a new job.
* Rename to custom_concurrency_key
Be more explicit about the nature of the option variable by calling it
a more appropriate name.
* Delete concurrency_keys on delete_expire_items
* Propagate db errors up
* Add ref to EE changes
* update sqlx
* Add concurrency_key to tests
* Revert renaming of FlowValue field
FlowValue field concurrency_key must be named concurrency_key for
serialization purposes.
* Remove debug print statement
* Get concurrency_key from Job
Whether it is a Completed job or a queued one, add a ways to get the
associated concurrency key
* Add endpoint to get concurrency_key
* Add endpoint and button to get job concurrency_key
Add a line with a link on the FlowMetadata that goes to the
concurrency_groups page. add endpoint to get the concurrency_key of a
job
* Merge concurrency_key tables into one
migration + change all related querrys
* Add concurrency plot to the runs page
* Prepare sqlx
* Add concurrency Key filter on UI
* Prepare sqlx
* Prepare sqlx
* Fix filter and order query
The limit makes more sense if we cut the older rows, so order by
started_at
* Factor interpolation to reuse on concurrency key
Factor the arg interpolation logic into a function and finish the
processing of concurrency key before insertion
* Remove old concurrency key processing logic
* Second transaction with userdb
To send all concurrency intervals but revealing only uuids of accessible
jobs, make a second transaction with the userdb.
* Remove old second endpoint
the intervals endpoint now also gets the concurrencyt key information
for all jobs
* Show external jobs
* Put filters into a dropdown
Create a ToggleButtonMore and put elements into a dropdown
* Add toggle between two graphs
* Add filter functionality to concurrency graph
* Improve concurrency graph front
* Fix concurrency groups page
* Prepare sqlx
* Add ref to ee
* Change migration to create new table instead
Instead of renaming the custom_concurrency_key_ended atble, we create a
new table and we will delete custom_concurrency_key_ended in the future
when it is no longer linked to any jobs
* Do small UI improvements
* Fix range fusion by not filtering past jobs
Instead of filtering jobs in the backend on a startedAfter value, limit
the query to 1000 and query all possible towards the past to get a good
context for the graph in most sane situations
* Improve frontend UI