573 Commits

Author SHA1 Message Date
Sybren A. Stüvel
c12e4cae74 Webapp: add explanation to Tags view
Add a bit of info on how the tags work to the right-hand column of the
Tags view.
2023-09-04 14:11:26 +02:00
Sybren A. Stüvel
eb11f10b9d Cleanup: webapp, reformat with Prettier
No functional changes.
2023-09-04 14:10:29 +02:00
Sybren A. Stüvel
0821df8f3a Webapp: make Tags view respond to SocketIO messages
Make the Tags view/tab respond to changes in worker tags. This way the
'Refresh' button is no longer necessary, as the information is always
up to date.
2023-09-04 13:24:50 +02:00
Sybren A. Stüvel
d6ffb424eb Webapp: remove unused imports
No functional changes.
2023-09-04 13:23:33 +02:00
Sybren A. Stüvel
fb58f101ea Webapp: remove last reference to worker list
Just a remainder of copy-paste.
2023-09-04 13:23:10 +02:00
Sybren A. Stüvel
9029ab89eb Webapp: show placeholder when worker tag has no description
Show a 'click to set a description' placeholder, when a worker tag has
no description. That way it's clear where to click to edit it.
2023-09-04 13:16:08 +02:00
Sybren A. Stüvel
31a5a8dc23 Webapp: make the Manager responsible for setting a default tag description
When creating a new tag, don't set the description in the JS code, but
leave that for the Manager API to do.
2023-09-04 13:08:55 +02:00
Eveline Anderson
c68a72ca49 Web Interface for Tags (#104244)
Add a web interface for CRUD operations of worker tags.

A 'Tags' tab is added to the web interface, with a list of available
worker tags. New ones can be created, existing tags removed, and the
name & description of tags can be edited.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104244
2023-09-04 13:06:06 +02:00
Sybren A. Stüvel
ef726da17b SocketIO broadcasting for worker tags CUD operations
Broadcast create/update/delete operations on worker tags via SocketIO.

Ref: #104204
2023-08-23 13:54:02 +00:00
Sybren A. Stüvel
621f050a68 OAPI: regenerate code 2023-08-23 13:54:02 +00:00
Michael Cook
86cf30e44e Webapp: Clarification of Worker Maintenance section (#104229)
- fix spelling of 'adviced' for 'advised'
- fixed readability of sentence in error state.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104229
2023-08-23 15:23:50 +02:00
Sybren A. Stüvel
089bae5bf9 Webapp: import notifications on job details component
Errors getting worker tags were logged in the notifications area, but the
notifications Piña store weren't actually imported, causing a JS error.
2023-08-17 16:29:08 +02:00
Sybren A. Stüvel
3e72391cbf Restartable workers
When the worker is started with `-restart-exit-code 47` or has
`restart_exit_code=47` in `flamenco-worker.yaml`, it's marked as
'restartable'. This will enable two worker actions 'Restart
(immediately)' and 'Restart (after task is finished)' in the Manager web
interface. When a worker is asked to restart, it will exit with exit
code `47`. Of course any positive exit code can be used here.
2023-08-14 16:00:09 +02:00
Sybren A. Stüvel
1eb7764d00 OAPI: regenerate code 2023-08-14 16:00:06 +02:00
Sybren A. Stüvel
100e8e404e Rename add-on to flamenco-addon.zip
Rename the add-on from `flamenco3-addon.zip` to `flamenco-addon.zip`.

It still contains the same files as before, and in Blender the name of
the add-on has not changed.
2023-08-01 13:05:02 +02:00
Sybren A. Stüvel
1dd2e165c8 Webapp: show Manager name in the window title
Show the configured Manager name in the webapp browser window title. This
helps me to distinguish the production farm from my development install.
2023-07-22 13:44:02 +02:00
Sybren A. Stüvel
1ef9a81094 Cleanup: remove TODO
Remove a TODO (the work was done in cdf1cff4).
2023-07-22 13:40:38 +02:00
Eveline Anderson
cdf1cff41b Fix #99410: SocketIO Reconnect Web Interface (#104235)
Fix #99410: Web: fetch version on SocketIO reconnect (and maybe reload)

After losing the SocketIO connection and subsequently reconnecting, the
webapp should re-fetch the Flamenco Manager version and display it in
the top-right corner. If it's different from before, then it will log a
notification about the upgrade and refresh the entire page to ensure the
new version is loaded properly.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104235
2023-07-21 17:16:49 +02:00
Sybren A. Stüvel
ff2d24274c Webapp: delay useNotifs() call in socket-status.js
Instead of calling `useNotifs()` from the main body of `socket-status.js`,
defer that call until the notifications are actually used.

This decouples the two Pina stores at startup, making it possible to load
`socket-status.js` from `App.vue` without conflicts.
2023-07-21 17:02:48 +02:00
Sybren A. Stüvel
4b53c06467 OAPI: regenerate code 2023-07-13 15:00:34 +02:00
Sybren A. Stüvel
ab399594c7 OAPI: regenerate code 2023-07-13 14:42:07 +02:00
Sybren A. Stüvel
168305f785 OAPI: regenerate code 2023-07-13 12:06:21 +02:00
Eveline Anderson
830c3fe794 Rename worker 'clusters' to 'tags'
As it was decided that the name "tags" would be better for the clarity
of the feature, all files and code named "cluster" or "worker cluster"
have been removed and replaced with "tag" and "worker tag". This is only
a name change, no other features were touched.

This addresses part of #104204.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104223

As a note to anyone who already ran a pre-release version of Flamenco
and configured some worker clusters, with the help of an SQLite client
you can migrate the clusters to tags. First build Flamenco Manager and
start it, to create the new database schema. Then run these SQL queries
via an sqlite commandline client:

```sql
insert into worker_tags
    (id, created_at, updated_at, uuid, name, description)
  select id, created_at, updated_at, uuid, name, description
  from worker_clusters;

insert into worker_tag_membership (worker_tag_id, worker_id)
  select worker_cluster_id, worker_id from worker_cluster_membership;
```
2023-07-10 11:11:03 +02:00
Eveline Anderson
341dc6c8e2 OAPI: regenerate code 2023-07-10 11:08:44 +02:00
Sybren A. Stüvel
82456424c9 OAPI: regenerate code 2023-07-06 12:19:48 +02:00
Sybren A. Stüvel
16da14479b OAPI: regenerate code 2023-05-26 11:25:51 +02:00
Sybren A. Stüvel
a36c4cd4e4 Web: clarify the cluster assignment result in the worker details view
Now the hint is no longer generically explaining things, but is dynamic
and specific for the current assignment of the worker's clusters.
2023-04-04 13:21:59 +02:00
Sybren A. Stüvel
f5ab2bb4c2 OAPI: regenerate code 2023-04-04 13:18:59 +02:00
Sybren A. Stüvel
d75962c817 Web: hide 'clusters' list when there are none
Due to the proxying behaviour of VueJS, `workers.clusters` is always
considered `true`, even when empty. Explicitly test for the length.
2023-04-04 12:32:32 +02:00
Sybren A. Stüvel
3306c7fc8d Web: add support for worker clusters
The support is still fairly minimal. Clusters cannot be managed via the
webapp yet, so the API has to be used directly for that. Workers can be
assigned to clusters via the webapp though.
2023-04-04 12:19:14 +02:00
Sybren A. Stüvel
675d966263 OAPI: regenerate code 2023-04-04 12:18:17 +02:00
Sybren A. Stüvel
996f5da2af Bumped version to 3.3-alpha0 2023-03-21 12:22:38 +01:00
Sybren A. Stüvel
9e1948a1a0 Bump version to v3.2 2023-02-21 12:09:08 +01:00
Sybren A. Stüvel
daaadbf2fd Webapp: give the Flamenco logo a bit of a black outline
A black outline around the white shape makes it visible in light themed
browser windows.
2023-02-21 11:35:55 +01:00
Sybren A. Stüvel
72a78cd929 Webapp: remove some console.log calls
No functional changes, except for a slightly less noisy JS debug console.
2023-02-21 11:10:20 +01:00
Sybren A. Stüvel
1add6bfc8a Webapp: avoid browser JS errors about forbidden 'User-Agent' header
Brave (and maybe other browseres) refuse to set the 'User-Agent' header
in XMLHTTPRequests, and are vocal about this in the debug log. Since the
OpenAPI code generator always outputs a custom 'User-Agent' header, I've
added some JS code to strip that off when constructing an API client.
2023-02-21 11:08:48 +01:00
Sybren A. Stüvel
a5cfa9959b Webapp: cleanup, braces around conditional return statement
No functional changes.
2023-02-21 10:39:13 +01:00
Sybren A. Stüvel
b22ea953d5 Webapp: catch error when job cannot be found
Fetching a non-existent job can happen due to the asynchronous nature
of the webapp, when a job was just deleted. It now no longer complains
about this in the JS debug console.
2023-02-21 10:38:58 +01:00
Sybren A. Stüvel
12f4d9b5ce Tabulator: avoid setting height if already at the correct height
Setting the height of a Tabulator can trigger all kinds of things,
including some buggy behaviour where all the jobs would disappear from
screen. Just don't do it unless it's necessary.
2023-02-21 10:38:07 +01:00
Sybren A. Stüvel
6b60a5e828 Web app: upgrade Tabulator 5.1.8 → 5.4.3
Upgrade Tabulator, hopefully this fixes some issues where the job list
would show black (no items shown, but the scrollbar is still there as if
all the items still exist; scrolling up & down would fix it).
2023-02-07 16:41:00 +01:00
Sybren A. Stüvel
80e0d0fc18 Bumped version to 3.2-beta 2023-02-07 15:38:14 +01:00
Sybren A. Stüvel
c1070b838e Web app: better notifications for job deletion 2023-02-07 15:23:13 +01:00
Sybren A. Stüvel
ef3cab9745 Webapp: handle job deletions properly
- Add a little confirmation overlay before deleting a job. This overlay
  also shows information about whether the Shaman checkout directory
  will be deleted or not.
- Send job updates to the web frontend when jobs are marked for
  deletion, and when they are actually deleted.
- Respond to those updates, and handle some corner cases where job info
  is missing (because it just got deleted).

This closes T99401.
2023-02-03 16:59:15 +01:00
Sybren A. Stüvel
c21cc7d316 OAPI: regenerate code 2023-02-03 16:44:55 +01:00
Sybren A. Stüvel
3a16456d5b Web app: add job deletion button to job action bar
WARNING: There is no confirmation popup yet, it'll immediately schedule
the job for deletion.
2023-01-08 13:53:55 +01:00
Sybren A. Stüvel
a97a4e6e67 Manager: show delete-requested jobs in the web interface
Show jobs that have been marked for deletion with a red strike-through
line in the jobs table, and show the deletion-request timestamp in the
job details.
2023-01-08 13:52:27 +01:00
Sybren A. Stüvel
067f2a439e OAPI: regenerate code 2023-01-08 13:47:38 +01:00
Sybren A. Stüvel
2e5f5ffadd OAPI: regenerate code 2023-01-04 01:18:21 +01:00
Sybren A. Stüvel
bb41889f1c OAPI: regenerate code 2023-01-04 01:18:21 +01:00
Sybren A. Stüvel
c439bc3a1e OAPI: regenerate code 2022-10-20 13:13:22 +02:00