Commit Graph

726 Commits

Author SHA1 Message Date
Ruben Fiszel
4df819554e report flow for whom the fetching error is happening 2022-07-31 19:53:19 +02:00
Ruben Fiszel
abcd25dbff error for flow of length 0 2022-07-31 19:15:05 +02:00
Ruben Fiszel
2483072d81 improve error messages 2022-07-31 19:01:46 +02:00
Ruben Fiszel
e82e5fff56 transferring copyright from ruben to windmill labs 2022-07-30 14:09:41 +02:00
Ruben Fiszel
ae2aa7b8f8 more errors 2022-07-30 01:10:01 +02:00
sqwishy
9a632befdd job duration to ms & added to /api/w/*/users/list (#261)
* add jobs_duration to /api/w/*/users/list

A few improvements on this might be considered.

- Adding the duration to /whoami and /whois
- Optionally fetching duration conditional on a query parameter.
- Using the query parameter value to select how far back to look,
  `created_at > now() - $2 * '1 day'::interval`.

Subquery might not be optimal, but performance is a bit weird to test
right now as I haven't done much with my development database to get it
to resemble a typical (production) database.  And there aren't many
indexes currently either.

And I think my rust rustfmt doesn't run because unstable options in the
rustfmt.toml or something so the formatting might be a bit wonky.

* duration -> duration_ms for completed_job

sqlx reordered keys in sqlx-data.json so the diff is quite noisy. I'm
not sure if I did it wrong or if this tool is obnoxious that way.

* don't double count job duration in flows

* job_duration_ms to Usage duration_ms jobs flows

rustfmt got carried away sorry
2022-07-30 00:02:51 +02:00
Ruben Fiszel
8037e390db cargo fmt II 2022-07-29 21:35:50 +02:00
Ruben Fiszel
d4b5a0ea3d cargo fmt 2022-07-29 21:29:59 +02:00
Ruben Fiszel
fed1849256 protect against ill-defined state for flows restart 2022-07-29 21:14:56 +02:00
Ruben Fiszel
b3e821e1b2 also handle the case where it's the input transform of the first flow job that fails 2022-07-29 20:48:39 +02:00
Ruben Fiszel
3e07ae2b55 fix: forloop flows unsoundness fix part I 2022-07-29 20:36:57 +02:00
Ruben Fiszel
771de0990a fix: update variable and resources now return error if nothing was updated 2022-07-29 11:07:59 +02:00
Ruben Fiszel
a8d4b7d535 typescript parser now support ? syntax for args 2022-07-28 21:40:47 +02:00
Ruben Fiszel
c3259ec262 fix: if :path is not a valid path, do not even attempt to fetch it 2022-07-28 12:59:14 +02:00
Ruben Fiszel
127bba6c9b bring back username, workspace_id in audit log 2022-07-28 09:50:00 +02:00
Ruben Fiszel
98c57e974b improve logging 2022-07-28 02:31:52 +02:00
Ruben Fiszel
c5873ddc34 nit: make handle flow log a debug 2022-07-28 00:57:47 +02:00
Ruben Fiszel
4243a46d52 fix: get_variable refresh_token bug 2022-07-27 16:24:10 +02:00
Ruben Fiszel
e92f5c0b63 fix: encrypt the refresh token 2022-07-27 15:39:39 +02:00
Ruben Fiszel
5636ecd276 fix: keep previous refresh token if no new ones were provided 2022-07-27 15:21:10 +02:00
Ruben Fiszel
c95da3a29d feat: skip failures loop (#258)
* wip: forloop skip failures -- very first pass

* last iteration fix + barebone UI integration

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-07-27 12:40:08 +02:00
Ruben Fiszel
07fac175a0 feat: add schedule settable from pull flows 2022-07-27 12:18:02 +02:00
Ruben Fiszel
7476021d2f fix: audit logs 2022-07-26 18:49:27 +02:00
Ruben Fiszel
022f39be01 fix(frontend): get refresh token for google services 2022-07-26 01:52:36 +02:00
Ruben Fiszel
7ded39b5ba fix(frontend): get refresh token for google services 2022-07-26 01:22:54 +02:00
Ruben Fiszel
d447b0c130 fix(frontend): get refresh token for google services 2022-07-26 01:05:34 +02:00
Ruben Fiszel
4980be315c monaco-lsp downgrade + google-refresh fix + backend update 2022-07-25 22:53:08 +02:00
Ruben Fiszel
faab4b7c42 feat: add google login v1 2022-07-25 21:15:46 +02:00
Ruben Fiszel
05ba0a06d0 feat: hub flows integration 2022-07-25 10:03:52 +02:00
Ruben Fiszel
f402cc67c1 also allow editable flow 2022-07-24 11:27:36 +02:00
Ruben Fiszel
656e0acfc1 feat(backend): do not require visibility on job to see job if in possesion of uuid 2022-07-23 21:16:48 +02:00
Ruben Fiszel
d4de9c982c feat: add delete schedule 2022-07-20 17:37:04 +02:00
Ruben Fiszel
de160fba45 feat(backend): check of no path conflict between flow and flow's primary schedules 2022-07-20 14:43:08 +02:00
Ruben Fiszel
80ddfed361 fix(frontend): filter script by is_trigger and jobs by is_skipped + path fix 2022-07-19 20:23:58 +02:00
Ruben Fiszel
8360c03df8 fix: list with is_skipped + deno-client fix 2022-07-19 05:59:12 +02:00
Ruben Fiszel
9c50e023ec fix(backend): clear env variables before running script 2022-07-19 05:51:19 +02:00
Ruben Fiszel
10e9549ded fix: consistent exists/{resource} addition + usage in frontend 2022-07-18 17:21:34 +02:00
Ruben Fiszel
2b712e6ce5 feat: add run_wait_result to mimic lambda ability 2022-07-18 00:45:05 +02:00
Ruben Fiszel
36de76e8b3 fix: HubPicker pick from trigger scripts when relevant 2022-07-17 18:14:50 +02:00
Ruben Fiszel
738d429f2f feat: trigger scripts and have flows being triggered by checking new external events regularly (#200)
* v1 trigger scripts

* progress

* stop early condition

* backend execution model

* progress

* progress

* progress

* works but todo: collect result, render forloop, convert forloopraw to seq for frontend

* collect result

* v1

* that's enough

* sed
2022-07-17 13:17:45 +02:00
sqwishy
b2808a1ab9 wrap array results from deno scripts in object (#204) 2022-07-15 19:11:56 +02:00
sqwishy
75ee922127 deno script args spread to array (#203)
smol issue where a deno script with parameters named `main` or `run`
will try to assign over imported main or the run function.

This uses the spread syntax to unpack the arguments and arrange them in
an array in argument order.  Instead of making assignments to the scope.
2022-07-14 21:30:31 +02:00
Ruben Fiszel
d3cbe19c73 fix(backend): create resource would fail if is_oauth was not set 2022-07-14 19:48:14 +02:00
sqwishy
45827e82dc fix: write job arguments to file (#199)
Job arguments are serialized to JSON and then parsed by the Python/Deno
script.  The current code tries to escape the JSON and include it as a
string in either of those languages.  It doesn't quite work right and
there are some issues with escaping.  This writes the JSON string to a
file and loads the file from those scripts instead.
2022-07-14 18:42:29 +02:00
Ruben Fiszel
87b4493272 feat: add DISABLE_NSJAIL mode 2022-07-13 12:33:37 +02:00
Ruben Fiszel
670e55b34b feat: account part II, handle refresh tokens, clarify oauth UI (#196) 2022-07-13 10:35:08 +02:00
Ruben Fiszel
8c6f4ad4eb fix(backend): set error content-type to text 2022-07-07 18:07:56 +02:00
Ruben Fiszel
064144199c fix: remove unnecessary v8 snapshot 2022-07-06 00:22:37 +02:00
Ruben Fiszel
c2e9ef1ca0 feat: in-flow editor mvp 2022-07-05 11:26:13 +02:00
Ruben Fiszel
a9dd7cac55 fix: oauth logins used incorrect scope 2022-07-04 22:57:04 +02:00