Commit Graph
689 Commits
Author SHA1 Message Date
Faton Ramadani 84eefadfcf feat(frontend): Catch flow errors in the UI (#4429)
* feat(frontend): Catch flow errors in the UI

* feat(frontend): typo
2024-09-25 16:22:02 +02:00
pyranota 74c2cabd9f Add Explicit Progress Hint (#4433)
* Add new component `ExecutionDuration`

Reusable component helps with tracking execution time of job
It is not using job.started_at, but instead uses it's own tracking mechanism

The key difference that it can give insights during execution of job and measures pure execution time
Accuracy is configurable with `updateResolution`

Can also detect if job is `longRunning` e.g. runs more than X-seconds

* Implement Hint for Explicit Progress
It uses ExecutionDuration component introduced in previous commit
and device's local storage to handle `Dont show again`

* Remove dublication of `FlowProgressBar` in `run` page

* Change Hint styling

* Change values in `ExecutionDuration` to match required

`longDefinition`: 3 -> 30
`updateResolution`: 2 -> 10

Meaning jobs running more than 30s counts as a `Long Running Job`

* Fix broken link

* Scope to langs: `python3`, `bun` and `deno` jobKinds: `script`

* Simplify ExecutionDuration for new scope

* Bring `preview` job kind into the scope

We need this to show this tip in preview pages.
e.g. By clicking on subjob details of flow (this subjob is preview)
2024-09-24 19:13:06 +02:00
HugoCasaandRuben Fiszel 304dac3447 feat: http routing (#4339)
* feat: http routing

* all

* feat: improve UI

* final stuff

* fix: sqlx

* fix: nit

* fix: nits

* fix: error handler display

* fix: routes panel perms

* all

* fix: improve ability to paste from macos in vscode extension

* fix lock-write for deno

* all

* cleaning

* fix

* cli preprocessor

* nits

* nits

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-09-20 15:38:38 +02:00
pyranotaandRuben Fiszel d6d4756b7a feat: Allow setProgress and getProgress from within the script (#4400)
* Allow setting progress explicitly from script body.

This feature exposes:
 * `getProgress`
 * `setProgress`
 * `incProgress`

API in TypeScript client (python is coming soon).

NOTE: Progress cannot be out of range 0..100 and cannot decrease.

With exposed APIs there is also UI changes, so progress can be shown for individual jobs as well.

For optimization reasons, jobs start to ask for progress only after N-seconds of execution.

* feat: Add `shell.nix`

If you dont have anything but nix, dont worry, run nix-shell in root, or activate with direnv and get all needed dependencies

NOTE: You will still need docker

* feat: Add `dev.nu` to typescript client

Little helper function, allowing developer to work on ts client easier.

To use:
  `./dev.nu watch`

Now add import of windmill in body of your script and `//nobundle` on top of the file

Edit ts client in your favourite editor and hit save. Script will do the rest.

* Cleanup files

* Fix: Failed to deserialize query string: missing field `get_progress`

* perf: Implement non-naive polling mechanism for getting job progress

* Add independant delay for getProgress

Problem in `TestJobLoader`:

There should be 2 delays:

    One until we find our first progress (every 5s)
    Once we found our first progress, we can do it every second

* nit: Use `query_scalar!` instead of `query_as`

* Fix: Sql error, no rows returned by a query that expected to return at least one row

* refactor: Remove global CSS for JobProgressBar

* Change UI for progress of flow subjobs

* Replace `Step 1` with `Running` in ProgressBar for individual jobs

* Remove `incProgress`

incProgress is not very usefull and error-prone

* perf: Set metric only for jobs that are actually using it

(https://github.com/windmill-labs/windmill/pull/4373#discussion_r1759843773)

* Offload registering progress from clients to server

* Add `jobId?` argument to typescript-client's `setProgress` and `getProgress`

Allows to set progress of other jobs and flows,
if jobId specified, than flow id will be inferred automatically.

Could be used by SDK.

* Add `Error::MetricNotFound` for better error handling

* Fix: Make `JobProgressBar` display in red when failed

* Add persistant progress bar

Now you can reload the page after job is done and progress will be still there

* Allow succeeded individual job's progress bar stick to 100%

* Add python support 

* nit: Remove usage of undefined variable in python-client

* Add `async` in ts client (for error handling)

* nit(frontend): Remove unused import

* Dont load JobProgressBar when it is not needed

* nit: npm check fix

* cargo sqlx prepare

* fix sqlx

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-09-18 01:16:19 +02:00
Faton Ramadani 97839a3583 fix(frontend): add support for step id change for forloops and branch… (#4395)
* fix(frontend): add support for step id change for forloops and branchone + add initial value for DebounchedInput

* fix(frontend): fix initial value of DebouncedInput
2024-09-16 23:12:23 +02:00
Ruben Fiszel 0e64380473 fix: add tag_override for script in flows 2024-09-11 23:02:45 +02:00
Ruben Fiszel 5c7afc13e1 whileloop details in flowviewer 2024-09-10 20:52:13 +02:00
Ruben Fiszel 779a788567 nit accept underscore for flow editor 2024-09-10 20:31:12 +02:00
Ruben Fiszel a19db9a8d3 feat: add ability to edit id in flows (#4364)
* all

* all

* nit mailto

* fix

* fix
2024-09-10 20:16:43 +02:00
Ruben Fiszel 32f2d0fc80 fix: fix error handler new script if no modules 2024-09-05 12:08:42 +02:00
Ruben Fiszel 71cdb1905e remove frontend warnings 2024-09-03 14:23:22 +02:00
Ruben Fiszel d1d5848294 nits 2024-09-03 00:49:44 +02:00
Ruben Fiszel 71470d7da9 feat: add yaml editor in flow builder 2024-09-02 15:13:51 +02:00
Ruben Fiszel e311684a66 fix: fix erronous branchone status 2024-09-02 14:03:44 +02:00
Ruben Fiszel d09b72e3fc lazy load editor on homepage 2024-08-28 09:17:10 +02:00
Ruben Fiszel 70ea188efd lazy load app preview on homepage 2024-08-28 00:57:52 +02:00
Ruben Fiszel 16465e47c8 fix: cache hub scripts in more cases + pre-cache hub scripts deps in deno 2024-08-27 02:30:54 +02:00
Ruben Fiszel 1ec45e5ad6 feat: add vim support for monaco/webeditor 2024-08-26 22:31:23 +02:00
Faton Ramadani 4efc40fbb0 fix(frontend): fix inserting Ws scripts from the search menu (#4290)
* fix(frontend): fix inserting Ws scripts from the AI gen

* fix(frontend): fix inserting Ws scripts from the search menu
2024-08-26 16:36:22 +02:00
Ruben Fiszel 32c0b89729 fix: update monaco-editor to latest monaco/language-client (#4285)
* all

* all

* all

* recomment useless extralib imports

* small impr
2024-08-25 15:29:28 +02:00
Ruben Fiszel 7882d4ecdd fix: fix app navbar query reactivity + hash in ctx handling is more consistent 2024-08-22 13:55:15 +02:00
Ruben Fiszel d1c2e1f40b improve modularity for whitelabelling 2024-08-21 15:37:26 +02:00
HugoCasa bcde2e62d7 feat: improve early stop (#4257) 2024-08-21 00:47:34 +02:00
Faton Ramadani 0a6832aa45 fix(frontend): Fix flow graph step preview (#4264) 2024-08-20 14:42:31 +02:00
Ruben Fiszel 8f08b55d63 nit diff editor 2024-08-20 12:46:31 +02:00
Ruben Fiszel dc779dcf42 version diff editor takes screen height 2024-08-20 12:43:35 +02:00
Faton Ramadani c19df12292 feat(frontend): improve versions history by adding a diff viewer with… (#4261)
* feat(frontend): improve versions history by adding a diff viewer with the previous version

* feat(frontend): support diff with all previous versions

* feat(frontend): support diff with all previous versions

* feat(frontend): improving version diff

* feat(frontend): improve UI
2024-08-20 12:19:44 +02:00
Faton RamadaniandRuben Fiszel 632bd18a2e use xyflow internally instead of svelvet for graph rendering (#4173)
* fix(frontend): wip

* fix(frontend): wip

* fix(frontend): fix while loops + theme

* fix(frontend): wip

* fix(frontend): wip

* fix(frontend): same view as before

* fix(frontend): wip

* fix(frontend): wip

* feat(frontend): flow status viewer

* fix(frontend): wip

* feat(frontend): migrate to xyflow

* feat(frontend): dataflow

* feat(frontend): clean up

* feat(frontend): clean up

* feat(frontend): clean up

* feat(frontend): fix min-height

* feat(frontend): clean up

* feat(frontend): add missing insert button for empty loops

* feat(frontend): Fix insert

* feat(frontend): Fix branch one

* feat(frontend): Support default branch for branch one

* feat(frontend): fix add and delete branches

* feat(frontend): Make the iterations menu work

* feat(frontend): Fix graph height in the flow status viewer

* feat(frontend): code improvement

* feat(frontend): add missing trigger

* feat(frontend): add support for triggers

* feat(frontend): fix move

* feat(frontend): fix No branch for branch one

* feat(frontend): fix light theme

* feat(frontend): fix build

* feat(frontend): remove dead code

* feat(frontend): fix move

* feat(frontend): fix vertical alignement

* feat(frontend): fix viewport

* feat(frontend): style fix

* feat(frontend): fix viewgraph

* feat(frontend): fix build

* feat(frontend): Fix node position

* feat(frontend): UI nits

* feat(frontend): UI nits

* feat(frontend): fix zoom level + fix insert button position

* feat(frontend): svelvet clean up

* feat(frontend): fix paste button position

* feat(frontend): clean up

* feat(frontend): migrate Decision Tree

* feat(frontend): clean up

* feat(frontend): add callback

* feat(frontend): migrate Decision Tree

* feat(frontend): fix build

* feat(frontend): fix branches

* feat(frontend): fix branches

* feat(frontend): fix insert

* feat(frontend): wip

* feat(frontend): done

* feat(frontend): done

* feat(frontend): fix reactivity

* feat(frontend): fix z-index issues

* feat(frontend): fix bg issue

* feat(frontend): fix border status

* add padding to flow height

* Update FlowGraphV2.svelte

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-08-19 09:17:56 +02:00
Ruben Fiszel e0857c7178 feat: recoverable error handlers 2024-08-14 18:45:29 +02:00
Ruben Fiszel be90b3e219 feat: togglable continue on disapproval/timeout of approvals 2024-08-14 17:24:21 +02:00
Ruben Fiszel fbd9b87c0f dockerfile improvements 2024-08-14 15:49:33 +02:00
Ruben Fiszel acfe6325a1 continue on error 2024-08-14 14:34:58 +02:00
Ruben Fiszel bcc94badbd fix: extend step_id being returned as part of the error of every languages 2024-08-13 22:37:05 +02:00
Ruben Fiszel fd1c456fad feat: embeddable apps using jwt (#4229)
* all

* all

* all
2024-08-13 00:11:54 +02:00
Faton Ramadani bf629f39cc fix(frontend): fix flow warnings (#4213)
* fix(frontend): Correctly compute the array of all modules ids to build the step warnings

* fix(frontend): Correctly compute the array of all modules ids to build the step warnings
2024-08-08 14:34:57 +02:00
Henri Courdent c01e179d8f JavaScript spelling (#4206) 2024-08-07 12:04:26 +02:00
Faton Ramadani 5104dba631 fix(frontend): Fr/improve suspend drawer (#4189)
* fix(frontend): add missing info about the cancel url in the suspend drawer

* fix(frontend): add missing info about the cancel url in the suspend drawer
2024-08-06 10:48:08 +02:00
Faton Ramadani 947dd21933 fix(frontend): add missing truncate for branch predicates (#4180) 2024-08-05 09:11:24 +02:00
Ruben Fiszel c55d15c0a9 whitelabel custom settings 2024-08-02 13:47:28 +02:00
Ruben Fiszel b02baa2cfb feat: remove nativets in favor of bun with native pragma 2024-07-29 19:20:00 +02:00
Ruben Fiszel d49b2d0f06 fix: fix webhooks urls after BASE_URL change 2024-07-24 13:31:06 +02:00
Ruben Fiszel ab686ea69e fix sveltekit conf 2024-07-22 22:36:56 +02:00
Ruben Fiszel 6e33e4e0b9 fix: fix BASE_URL build conf 2024-07-22 21:53:08 +02:00
Ruben Fiszel 3131e14ca3 fix: fix BASE_URL build conf 2024-07-22 20:56:13 +02:00
Ruben Fiszel c5891c2bb7 small nit BASE_URL 2024-07-22 19:34:33 +02:00
dd75dd446b fix: Allow deploying frontend in a sub directory (#3867)
* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow depolying frontend in a sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Expose base path from $lib/navigation

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow deploying frontend in sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow deploying frontend in sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow deploying frontend in sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow deploying frontend in sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* fix: Allow deploying frontend in sub directory

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

* update

* update

---------

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-07-22 19:26:17 +02:00
Ruben Fiszel e91a06fa41 fix: add WM_SCHEDULED_FOR to contextual variables and early stop of flows 2024-07-18 02:10:15 +02:00
Faton Ramadani 319454ecf2 fix(frontend): Display 'parallel'and 'skip failure' even when a summary is set (#4099) 2024-07-17 17:16:38 +02:00
Ruben Fiszel 36277a9fd3 nit reload 2024-07-16 21:39:30 +02:00
Ruben Fiszel 929c2ce5c6 nit scroll 2024-07-16 21:31:55 +02:00