Commit Graph
110 Commits
Author SHA1 Message Date
wendrulandRuben Fiszel 77735d859c feat: Add full-text search on windmill service logs (#4576)
* Add service_log indexer file (ee)

* Rename to completed_run

* rename to service_logs

* Update lib.rs

* Make indexing of logs and simple frontend

* Add common ee file

* Update lib.rs

* Make log search global to fix openapi unused path param

* Prepare sqlx

* Show last indexed also when no jobs are found

* Adapt feature flags to service logs indexer

* Update api and main

* Build service log search page

* scope query to the min and max time

* Migrate modal, bug fixes

* Remove unused import

* Make the service logs page take the full screen

* improve quick access menu to service_logs, fix date stuff, hide 0 matches

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-11-05 09:52:07 +01:00
wendrul bfc1f53cea Win 465 index observability 1 (#4538)
* Factor isJobCancellable function in a utils file

* Add message for last indexed job and warning of deployement

* Prepare sqlx

* Update ee repo ref
2024-10-16 19:25:50 +02:00
wendrul a51cbc9e08 fix: canceled jobs button reporting 0 jobs cancelled (#4534) 2024-10-16 16:15:25 +02:00
wendrul 42f8e457fe feat: Scroll to element in virtual list when clicking on graph point (#4532)
* Scroll to element in virtual list when clicking on graph point

* Remove debug statements

* Remove reactive statement in favor of eventful triggering
2024-10-16 14:37:20 +02:00
Ruben Fiszel dc04f6cc30 allow more customisation of frontend (#4508)
* all

* npm check
2024-10-09 04:34:54 +02:00
HugoCasaandRuben Fiszel ae8f29a4cb 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 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 90f7ba47f2 nit overflow and scrllbar height 2024-09-11 00:11:11 +02:00
Ruben Fiszel 4c174cb359 feat: add load more to runs page if nb of jobs >= 1000 2024-09-04 22:45:35 +02:00
Ruben Fiszel 3b92461ac2 nits scrollbar UX 2024-09-04 15:20:59 +02:00
Ruben Fiszel 84e18c73c0 fix: improve wm_labels indices + UX nits 2024-09-04 11:40:23 +02:00
Ruben Fiszel a9bf63ae1f fix: do not require hasNullParent only if scriptPathExact on runs search 2024-09-03 19:52:05 +02:00
Ruben Fiszel 497edd047c remove frontend warnings 2024-09-03 14:23:22 +02:00
Ruben Fiszel c62e152d27 feat: service logs (#4244) 2024-08-31 14:57:35 +02:00
Ruben Fiszel d83c93b169 nits running 2024-08-30 13:22:26 +02:00
Ruben Fiszel c876edfb3f nits runs page 2024-08-30 00:03:21 +02:00
Ruben Fiszel 086eb0b3b5 nit remove debug text 2024-08-19 12:34:56 +02:00
Ruben Fiszel 345e53ea93 fix: improve scrolling performance of the runs page 2024-08-14 00:26:34 +02:00
Ruben Fiszel 2fde4a9a9d fix: improve logviewer behavior when job is loading 2024-08-13 20:34:46 +02:00
Ruben Fiszel a09d6537d8 overscan nit for job list 2024-08-13 16:06:10 +02:00
Ruben Fiszel 8950aae44e feat(frontend): improve display of waiting jobs + schedule filter + suspended jobs on runs page 2024-08-13 10:41:36 +02:00
Ruben Fiszel c702d4e74f feat: embeddable apps using jwt (#4229)
* all

* all

* all
2024-08-13 00:11:54 +02:00
wendrul ee8a1f6cb0 feat: Tag filter on Runs page (#4193)
* Add warning of job search parse error + front fixes

* Add filter tag and add filters to small screen

* Fill missing property
2024-08-06 10:31:08 +02:00
Ruben Fiszel c956ecd1a8 feat: improve indices of completed_runs for faster load 2024-08-05 12:46:07 +02:00
Ruben Fiszel 50cb5f3a21 more clearly display loading when jobs filter change 2024-08-01 09:25:18 +02:00
Ruben Fiszel 78c115c68c fix: improve index usage and runs page performance 2024-07-31 13:08:28 +02:00
Ruben Fiszel 135f57eb5a fix: improve runs page performance through pg indices 2024-07-27 12:16:13 +02:00
Ruben Fiszel c9300bce2b fix sveltekit conf 2024-07-22 22:36:56 +02:00
Ruben Fiszel 7b1798f9ef fix: fix BASE_URL build conf 2024-07-22 21:53:08 +02:00
Ruben Fiszel b1a3244032 fix: fix BASE_URL build conf 2024-07-22 20:56:13 +02:00
Ruben Fiszel d7b5796fd8 small nit BASE_URL 2024-07-22 19:34:33 +02:00
e21a814712 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 7f2cbb40f6 feat: improve flow status viewer (show branch chosen + all iterations in for loop) (#4074)
* all

* all

* all

* all

* all
2024-07-13 18:53:24 +02:00
Faton Ramadani 57346a7ecc fix(frontend): fix run page ms readability (#4059) 2024-07-10 19:05:47 +02:00
Ruben Fiszel 02e5524fba fix: improve input history 2024-07-08 11:41:27 +02:00
Ruben Fiszel 36365f4954 fix: improve browser history navigation (back, forward) 2024-07-02 19:31:00 +02:00
Ruben Fiszel 1beb1b1fd2 feat: allow downloading args over the size limit 2024-07-02 17:54:19 +02:00
Ruben Fiszel 85ad61bd96 feat: runs page have sharable args in hash of links 2024-07-02 13:16:57 +02:00
Ruben Fiszel c87558a696 nit show dates on version history 2024-07-02 10:14:00 +02:00
HugoCasa 55e6070945 feat: include token label as end user (#3988)
* feat: include token label in audit logs + show end user in runs page

* fix: reverse username and permissioned as on runs page

* fix: ui nit

* fix: remove permissioned as from runs page
2024-07-02 09:37:17 +02:00
wendrul e743ca3eba fix: lookback selector to manually look for older jobs and prevent inaccurate concurrency graphs (#4007)
* Add lookback selector

* Add clear button on date picker set 2 day default on runs page

* No lookback on the runs chart

* Format

* Remove unnecessary lookback

* Change tooltip message

* Change tooltip message 2

* Remove redundancy

* small corrections

* Remove dark mode observer no longer used
2024-07-01 20:47:01 +02:00
Ruben Fiszel efb79fe134 fix: improve runs page performance when minTs is defined 2024-06-30 13:09:00 +02:00
Ruben Fiszel 752e5eab03 fix: improve runs page performance when minTs is defined 2024-06-30 13:03:48 +02:00
wendrul 063a46ad4a fix: Improve cancel selected jobs action (#3960)
* Improve cancel selected action

* Add a `Select all` button
* Make the confirmation clearer by adding
* Fix bug where you could select uncancelable jobs throught the graph

* Switch buttons place
2024-06-24 15:24:25 +02:00
wendrul 3a9a0660a6 feat: cancel jobs based on filters (#3874)
* WIP

* Add endpoint to cancel jobs

* Fix endpoints and add modal to cancel jobs

* Add useful tooltips and warnings

* Fix openapi.yml

* Prepare sqlx

* Prepare sqlx

* Select jobs to cancel

* Prepare sqlx

* Remove unused variable

* Make small fixes

- gap between buttons
- dropdown in one button with chevron instead of two buttons
- filters shown on the cancel filtered modal
2024-06-11 17:12:30 +02:00
Ruben Fiszel 6d76acd5a7 fix: flow status viewer takes all the width on the runs page 2024-06-04 09:27:18 +02:00
62f889c9da feat: warn when jobs spent a long time waiting in queue (#3856)
* Store jobs that waited for too long

* Add warnings as badges for long waited jobs

* Separate into self_wait_time and aggregate

Change the UI accordingly

* Prepare sqlx

* Update backend/windmill-queue/src/jobs.rs

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Fix incorrect query

* Prepare sqlx

* Move insert to pull + UI fixes

Insert as soon as the job is pulled and therefore started.
Add a badge on the lfow timeline to show the self wait time

* Move to after the pull in the worker

Move the logic to after the pull in the worker in the case its not a
noop

* Remove weird line

* Remove unnecessary async

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-06-03 16:05:15 +02:00
wendrul 78d704b2d6 feat: chart interactivity: click points on the graph to select the corresponding jobs (#3851)
* Make click on RunChart higlight and select job

* Select job when clicking on graph point

* Fix type of chart data object

* Persist selection on refresh and other changes
2024-05-30 19:26:11 +02:00
wendrulandRuben Fiszel 1d2d9ebadf Add warning for omitted obscured jobs (#3790)
* Add warning for omitted obscured jobs

* Update RunsTable.svelte

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-05-22 21:14:52 +02:00
Faton Ramadani 1c1f11fc39 fix(frontend): Fix path overflow on the Runs page (#3781) 2024-05-21 19:46:53 +02:00