66 Commits

Author SHA1 Message Date
Kai Jellinghaus abc0ca3a5b feat(backend): Input transform errors (#1006)
* Add pre run error & propagate input transforms there

* Handle pre-run errors

* Update SQLX data

* Update SQLX data
2022-12-08 23:56:49 +01:00
Ruben Fiszel c6e04414e5 sqlx update 2022-12-08 13:32:33 +01:00
Ruben Fiszel cafa6d4a0c add unique path and rls to apps 2022-12-03 09:21:26 +01:00
Ruben Fiszel f3f694e925 feat: add favorite/star + remove flows/scripts page in favor of unified home page (#968)
* favorites

* favorites

* favorites

* feat(frontend): add favorite + refactor homepage
2022-11-30 00:15:43 +01:00
Ruben Fiszel 37967a7950 feat: refactor variable + resource linkage + OAuth visibility 2022-11-27 17:26:37 +01:00
Ruben Fiszel 346a7f3f47 more visibility on OAuth errors Vol 1 2022-11-27 14:00:55 +01:00
Ruben Fiszel 8bf4699bd6 fix getting email from github 2022-11-26 15:33:15 +01:00
Ruben Fiszel 897de60189 update sqlx-info 2022-11-26 14:46:13 +01:00
Ruben Fiszel b3178d1b8a feat: add slack_bot token on connecting workspace to slack 2022-11-16 00:27:21 +01:00
Faton Ramadani cc5f629a7b fix(frontend): App Editor v0 (#886) 2022-11-14 17:30:49 +01:00
Kai Jellinghaus 47c9ff1edc feat(backend): Flow lock (#868)
* Add lockfile information

* Allow Lockfiles to be pushed to queue

* Handle raw_lock on worker

* Flow Lock Job

* Allow RawScript path

* Simplify handle_code_execution_job

* Regenerate SQLX

* Fix tests

* fix test

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-13 18:31:08 +01:00
Ruben Fiszel 76a6768ed9 fix(ci): sqlx offline data 2022-11-12 20:41:23 +01:00
Ruben Fiszel 40183ce4e4 feat: deprecate previous_result in favor of results per id 2022-11-10 01:58:52 +01:00
Ruben Fiszel badc60193c feat(backend): flow duration is now computed as the sum of every child 2022-11-05 22:31:54 +01:00
Ruben Fiszel cddec6469e fix(backend): tighten security around cookies to avoid csrf (#859)
* fix(backend): tighten security around cookies to avoid csrf

* everything httponly

* sqlx

* also handle 404

* shoter Windmill v message

* fix chart
2022-11-05 21:21:13 +01:00
Ruben Fiszel 25c5e74d73 fix approving twice same flow 2022-11-04 00:32:55 +01:00
Ruben Fiszel 4c3009848f sqlx prepare 2022-11-03 14:41:46 +01:00
Ruben Fiszel 59da17bff8 UX improvements 2022-11-02 21:26:52 +01:00
Ruben Fiszel e5d8111ae1 sqlx offline fixes 2022-11-01 22:13:35 +01:00
Ruben Fiszel 39937e6a83 feat(backend): add parallel option for forloop and branchall (#840)
* parallel

* parallel

* fix 1

* fix 2

* fix 3

* fix 3

* fix 4

* sqlx

* add parallel toggle on frontend

* parallel in frontend

* serde

* fix everything

* fix everything
2022-11-01 06:09:00 +01:00
Ruben Fiszel ed1829da4a add flow_input to context of branch predicates and stop early 2022-10-30 18:24:23 +01:00
Ruben Fiszel 03e9f10931 sqlx prepare 2022-10-30 17:08:03 +01:00
Ruben Fiszel 9a67607b20 feat: payload capture of json to initialize flow input (#655)
* capture table and some endpoints for json pastebin

* only retain user's most recent captures

* merge conflict

* sqlx data

* fix migration

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-10-25 00:54:53 +02:00
Ruben Fiszel 40bfc486c7 add resume_id to job_resume + add identity module 2022-10-24 14:48:28 +02:00
Ruben Fiszel a0b2c9e77d feat: add approver to approval step 2022-10-24 01:50:39 +02:00
Ruben Fiszel 884edd7715 fix: improve approval flow with approval page 2022-10-22 13:55:12 +02:00
Ruben Fiszel cb5ed9b9a1 feat(backend): propagate cancel instantly to all flow jobs if any 2022-10-21 22:01:07 +02:00
Ruben Fiszel 955cc4104a fix(backend): reschedule flow at first step end (#746)
* fix(backend): reschedule flow at first step end

* fix

* fix

* fix

* fix

* sqlx prepare
2022-10-18 17:06:39 +02:00
Ruben Fiszel 57600ab873 feat: add result by id to fetch result from any node (#769)
* feat: add result by id to fetch result from any node

* sqlx prepare

* fix

* fix

* review
2022-10-18 17:04:13 +02:00
Ruben Fiszel ff7fb0f6f3 feat: secure suspended resume event + configurable timeout (#721)
* fix suspend count for early message + delete resume_job

* all

* done everything

* done everything
2022-10-11 22:55:14 +02:00
Ruben Fiszel c7dfd0ebc4 fix suspend count for early message + delete resume_job 2022-10-10 20:17:49 +02:00
Ruben Fiszel cc07a6b7e4 feat(backend): implement new OpenFlow module Branches (#692)
* branches

* iterate

* branches

* progress

* progress

* progress

* done

* adapt frontend

* adapt frontend

* sqlx
2022-10-09 23:12:05 +02:00
Ruben Fiszel f4caa4ffa6 feat: implement same_worker openflow attribute for running flow all in one go + sharing folder /shared (#689)
* init

* progress

* all

* sqlx

* remove unecessary test

* done

* frontend

* frontend
2022-10-06 04:59:09 +02:00
Ruben Fiszel 932cef73ee buildcache not on ghcr 2022-09-26 04:19:31 +02:00
Ruben Fiszel b87a498087 do not restart flow as zombie job 2022-09-26 00:45:26 +02:00
Ruben Fiszel 4044edf8d6 refactor logs panel everywhere applicable (#625)
* init

* init

* progress

* progress

* refactor logs entirely

* fix sqlx
2022-09-25 18:03:51 +02:00
Ruben Fiszel ba203b8674 fix cancel job 2022-09-25 17:49:11 +02:00
Ruben Fiszel cf879fcecf fix cancel job 2022-09-25 17:13:03 +02:00
sqwishy 126dd24c71 feat(backend): flow suspend resume (#522)
Flow observes `suspend` setting and will wait for resume messages sent for the job before continuing to the next step in a flow.

Adds endpoints under workspaces at `/jobs/<cancel|resume>/<job-uuid>` to either cancel or resume the job with a payload. For POST requests to the endpoint, payload is a JSON document. For GET requests to the endpoints, the payload is a base64url encoded JSON document as the value of the payload query parameter.
2022-09-14 11:46:57 -07:00
Ruben Fiszel e9abcffdd1 feat: is_trigger is just a type tag, soon to include failure and command (#523)
* script kind

* all

* init code flow

* kind: trigger

* kind: trigger
2022-09-05 09:55:04 +02:00
Ruben Fiszel 76f8165b82 pass language to completed job 2022-08-25 14:55:38 +02:00
Ruben Fiszel da77d04094 fix: restart zombie jobs was restarting all jobs 2022-08-21 12:19:31 +02:00
Ruben Fiszel 0cd814cfec fix(backend): clear_schedule only clear non running jobs 2022-08-20 19:14:16 +02:00
Ruben Fiszel 77a685144d fix(backend): started_at info for completed_job is no more completed_at 2022-08-20 17:06:13 +02:00
Ruben Fiszel f73b86f2fe sqlx offline 2022-08-20 15:21:15 +02:00
Ruben Fiszel a5343fa959 feat: private imports 2022-08-18 21:49:24 +02:00
sqwishy 56e082b17c correct query param number in delete_token (#380) 2022-08-09 17:57:03 +02:00
Ruben Fiszel 8153718166 do rate limit based on as_permissioned_as 2022-08-07 14:04:17 +02:00
Ruben Fiszel 168d66c7f9 improve error messages 2022-07-31 19:01:46 +02:00
sqwishy e1d16860e4 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