Commit Graph

25 Commits

Author SHA1 Message Date
pyranota
d3e0b1c636 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
Ruben Fiszel
352152c491 export runFlow and runFlowAsync 2024-08-15 15:17:32 +02:00
Ruben Fiszel
2ca3f2e822 fix: make typescript client compatible with cf workers (#3807)
* make typescript client compatible with cf workers

* Update build.sh
2024-06-04 16:23:23 +02:00
HugoCasa
126459f972 feat: improve permissioned audit logs (#3799)
* fix: increase token label size in db

* Revert "Revert "feat:  improve premissioned audit logs (#3793)" (#3798)"

This reverts commit afae33f5f8.

* feat: add username to email function

* fix: nit

* fix: add docstring to global func
2024-05-23 17:23:50 +02:00
Ruben Fiszel
9b99117f48 fix: remove schemas from typescript client 2024-05-15 08:10:29 +02:00
Ruben Fiszel
6b49f47c5c feat: nativets can use the wmill library + setClient not required anymore (#3714)
* all

* all

* all

* all
2024-05-13 08:26:03 +02:00
Ruben Fiszel
e1a8a80272 update typescript openapi generator 2024-05-03 12:54:00 +02:00
Ruben Fiszel
9ebe011a73 fix: update go and typesript client 2024-04-18 11:07:11 +02:00
Ruben Fiszel
6b842b3c53 feat: add set_flow_user_states and get_flow_user_states api and sdk support 2024-03-26 17:31:17 +01:00
Ruben Fiszel
824e572e5b fix: add more functions to typescript client 2024-03-06 00:28:17 +01:00
Ruben Fiszel
7a8c688a23 fix: export base64 from typescript client 2024-02-06 22:13:59 +01:00
Guillaume Bouvignies
0003673e8d feat: migrate s3 client to object_store (#3116)
* feat: migrate s3 client to object_store

* remove multipart from open API

* Remove multipart in favor of a single stream

* progress report

* add progress reader on server side

* small nit fix

* fix read chunk

* Fix TS and python SDK

* Fix download button

* Fix download button object viewer

* fix list

* Better errors

* export loadS3FileContent

* revert changes SDK

* fix browser

* small file list unavailable fix

* Old endpoints throws informative error messages

* Typescript SDK uses raw fetch

* update python SDK

* Error if uploaded file > 50Mb

* revert python SDL changes

* Update python SDK method docs

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-02-01 16:03:30 +01:00
Guillaume Bouvignies
2e6835f610 feat: Download s3 file as stream in Python and TS (#3099) 2024-01-29 14:49:08 +01:00
Guillaume Bouvignies
ef76a90e34 fix: Better UI for S3 download and S3 TS SDK endpoints (#3065)
* Better UI for S3 download and S3 TS SDK endpoints

* gitignore typescript client node_modules

* USe Windmill BE upload endpoint for TS SDK

* Use WM backend endpoint in Python upload SDK endpoint

* revert changes

* Add expiration for Python

* Add downaload endpoint

* Add toggle for public S3 resource

* revert changes to package.json

* Add link to doc page

* fix unauthorized bug
2024-01-25 15:34:40 +01:00
Ruben Fiszel
99a69898f0 fix: expose getIdToken in typescript-client 2024-01-17 11:01:51 +01:00
Ruben Fiszel
ce451fdf77 fix typescript client 2024-01-17 09:29:33 +01:00
Ruben Fiszel
ddaca371a1 fix typescript client 2024-01-17 09:24:38 +01:00
Guillaume Bouvignies
7a875e0cf7 fix: Re-add TS SDK changes for S3 (#2899) 2023-12-20 18:12:37 +01:00
Guillaume Bouvignies
c1e04e104c fix: TS SDK not found upon install error (#2895) 2023-12-20 16:53:42 +01:00
Guillaume Bouvignies
fd55c3d8e3 feat: S3 objects are now typed in Python and TS SDK (#2878)
* feat: S3 objects are now typed in Python and TS SDK

* fix ts and python SDK after testing

* cleanup
2023-12-20 09:16:33 +01:00
Ruben Fiszel
f3c96fe0cc fix: add setState, getState to client 2023-08-29 15:26:23 +02:00
Ruben Fiszel
d814a0f3be fix: expose getResumeUrls in windmill-client 2023-08-26 11:54:21 +02:00
Ruben Fiszel
4317f065f5 feat: bun support (#1800)
* feat: bun support

* feat: bun support

* add bun support

* add bun support

* add bun support

* add bun
2023-07-06 21:19:07 +02:00
Ruben Fiszel
a300ade947 fix cancel approval step 2023-05-14 13:57:22 +02:00
Ruben Fiszel
60b723cc13 add initial typescript client 2023-05-07 01:17:42 +02:00