Vivian Leung 7ddce9ac22 Manager: Add Input Validation to Settings page
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
2025-09-01 14:24:56 +02:00
2023-07-10 14:10:49 +02:00
2025-08-28 16:47:00 +02:00
2025-08-28 16:47:00 +02:00
2025-08-21 11:20:48 +02:00
2023-08-01 13:05:02 +02:00
2025-08-25 12:55:03 +02:00
2025-08-25 12:55:03 +02:00
2024-10-04 21:59:44 +02:00
2025-08-28 16:47:00 +02:00

Flamenco

This repository contains the sources for Flamenco. The Manager, Worker, and Blender add-on sources are all combined in this one repository.

The documentation is available on https://flamenco.blender.org/, including instructions on how to set up a development environment & build Flamenco for the first time.

To access the documentation offline, go to the web/project-website/content directory here in the source files.

License

Flamenco is licensed under the GPLv3+ license.

Description
Flamenco render farm management system - Docker development environment fork
Readme GPL-3.0 88 MiB
Languages
JavaScript 55.1%
Go 32.7%
Vue 5%
Python 3.6%
HTML 1.8%
Other 1.7%