Found via `codespell -S "*.po,*.chunk.min.js" -L
cace,cacl,currenty,eacf,eacg,fo,nd,nin,ontext,originaly,ot,te,ue`
No functional changes.
Co-authored-by: Sybren A. Stüvel <sybren@blender.org>
Pull Request: https://projects.blender.org/studio/flamenco/pulls/104436
Fix#104432, where the form throws an error and cannot be saved. It is
happening because the backend is expecting `number`, not `string`, and
whenever the user types, the value in the input gets changed to a
string. The solution is to cast `FormInputNumber` value to a number
`onInput` to always maintain the `number` type.
Pull Request: https://projects.blender.org/studio/flamenco/pulls/104434
Prevent fields from being empty, when it's known that Flamenco Manager
will not start up if they are.
The icons for the variable add/delete are enhanced with colors and
icons +/- or with a trashcan SVG.
Error/warning messages appear under inputs when values are invalid on
blur.
`FormInputDropdownSelect` is also created here, decoupling the
validation from Dropdown Select. `DropdownSelect`'s props now have
type definitions.
CSS selectors are more specified, and renamed to be more fitting.
### What 'required' means for each input
- For text, `required` means the field cannot be empty.
- For numbers, `required` means the field cannot be empty, and having
a `min` and/or `max` means the number must be equal to or
above/below the min/max.
- For dropdowns, `required` means the selection cannot be empty, and
`strict` means that an option not included in the list passed to the
`options` prop cannot be selected.
- For the new variable input, empty strings, duplicate variable names,
and variable names that contain `{` or `}` are invalid.
### Required Settings
To keep the application running and remaining on the same page, these
fields **must** be non-empty strings:
- `database` and `shared_storage_path` (both which can be invalid so
long as they are non-empty)
- `listen` (which MUST be a valid value AND non-empty) When
`shared_storage_path` is empty, the application will automatically
jump to the Setup Assistant which after completing will create a new
`flamenco-manager.yaml` and restart the application. If `database`
is empty and `listen` is not a proper port, the application will
fail to start, leading the user to a dead end and forcing them to
manually configure `flamenco-manager.yaml` to get it running again.
To prevent the backend from throwing a `Bad Request` error, numerical
and time duration inputs **must not** be null or empty:
- `database_check_period`, `task_timeout`, `worker_timeout`,
`blocklist_threshold`, `task_fail_after_softfail_count`
Pull Request: https://projects.blender.org/studio/flamenco/pulls/104409
Longer names could get rewrapped, but there is not enough vertical space
for this. Now rewrapping is prevented. Of course a very long name can still
cause layout issues, but at least now slightly-long names work fine.
Add a new "Settings" view, to edit the Flamenco Manager configuration
via the web interface. Saving the form will write directly to
`flamenco-manager.yaml`. Depending on how they are used internally by
Flamenco Manager, some settings take effect immediately; most require
a restart of the Manager process, though.
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104399
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
By using the flexbox layout model better, I could remove the `<div
class="align-right">` elements. And by adding a more visual border and
shadow, the popover looks good without having its height set explicitly.
This in turn makes it look good also when it's wrapping due to a small
screen size.
Add a "Select Preceding Jobs" button to the job table button bar.
Users can select a job (or multiple jobs) and click "Select Preceding
Jobs" which will then select all jobs with an updated timestamp that
precedes the selected job(s) updated timestamp.
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104418
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
Instead of setting `margin-left` on all but the first button, use the
`gap` property to set the inter-button gap. This works properly when
buttons rewrap.
Add the following features:
- `Ctrl + Click` or `Cmd + Click` to toggle selection of additional workers
- `Shift + Click` to select a range of additional workers
- Ability to perform `Shutdown`, `Send To Sleep`, and `Wake Up` actions on multiple workers concurrently
- Notifications on how many workers successfully/failed to have an action performed
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104395
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
Add a PUT method for `/api/v3/configuration/file`, which entirely
replaces `flamenco-manager.yaml` with the received JSON payload. This
will be used in the future to store configuration edited in the web
frontend.
Ref: #99426
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104406
Issue likely began after 7b31eba8d7614e82cfcc4583e1dd3c2f40f87944 as
it was an issue with header not being properly positioned.
Just needed to add `header-L` and `header-R` to `grid-template-areas`
and adjust the rest accordingly, and fix a class name typo.
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104413
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
Add the following features:
- `Ctrl + Click` or `Cmd + Click` to toggle selection of additional jobs
- `Shift + Click` to select a range of additional jobs
- Ability to perform `Pause`, `Cancel`, `Requeue`, and `Delete` actions on multiple jobs concurrently
- Notifications on how many jobs successfully/failed to have an action performed
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104391
Add a `Worker` column to the Job Tasks Table. This lets artists quickly
visualize on which machine a task is currently running, giving better
insights on worker utilization, as well as better expectations on how
long a task might take to finish when running Flamenco on a Renderfarm
made of different slow / fast workers.
Similarly to the Task Details panel for the "Assigned To" field
`LinkWorker` Vue element, the cell element contains an hyperlink to the
corresponding worker in the Workers page. Since the Worker page also
contains a backlink to the currently running task, this lets user
quickly navigate between the two pages, as seen in the screen recording
demo below.
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104402
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
Listen to the key press of the Shift key on the Tasks list and disable
any table sorting until it is released.
Related to #104386. When a user is performing multi-select, they hold
the Shift key down and intend to click the next row which determines
which rows are selected. To avoid unintended selections, the UI should
not update or shift around in the middle of the user interaction.
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104388
Add the following features:
- `Ctrl + Click` / `Cmd + Click` to toggle selection of additional
tasks.
- `Shift + Click` to select a range of additional tasks.
- Ability to perform `Cancel` and `Requeue` actions on multiple tasks
concurrently.
- Notifications on how many tasks successfully/failed to have an
action performed.
Tabulator has selectable rows built-in and provides a function that
can return an array of all selected rows. However, tabulator's default
behavior for multi-selection does not reset to a single task after
each regular click. Therefore, I built a custom multi-select using the
tabulator API, introducing `Shift + click` and `Ctrl + click` and
matching their behaviors as they work in most file explorers,
including Blender's.
In addition to manipulating the Tabulator's row selection, the state
of selected Tasks is also needs to be copied to Pinia stores. This
stores will allow us to access selected Tasks from any component and
make API calls on them.
Ref: #99396
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104386
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
Updates Tabulator package from 5.4 to 6.3
The relevant breaking change is the change of the `selectable` variable to `selectableRows`
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104390
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
Adjust the padding for the task name column, by setting a minimum
width.
This makes the task name column wide enough to go into the 10k-99k
frame numbers.
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104379
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
Add an option to the setup assistant to skip configuring the path to
Blender. It will just use the `default` option, which causes the Workers
to try and find Blender on their own.
Fixes#104306
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104306
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
Manager: Instead of embedding the worker tag info in a fetched `Job`,
just include its UUID.
Webapp: fetch the worker tag by UUID, instead of using the embedded
info.
Show the worker tag name (and its description in a tooltip) in the job
details. When no worker tag is assigned, "All Workers" is shown in a more
dimmed colour.
This also renames the "Type" field to "Job Type". "Tag" and "Type" could
be confused, and now they're displayed as "Worker Tag" and "Job Type".
The UI in the add-on's submission interface is also updated for this, so
that that also shows "Worker Tag" (instead of just "Tag").
A job first goes to `pause-requested` status, during which any `active` task
gets a chance to be completed. Once there are no more active tasks, the job
goes to `paused` state (or `failed`, if that is applicable).
Pull request: https://projects.blender.org/studio/flamenco/pulls/104313
Only emit the `activeJobDeleted` event when the active job was deleted.
Previously this was emitted on _any_ job deletion, which would make working
with the web interface quite confusing when mass deletion was happening,
as it would always deselect the job, even when showing an unrelated job.