1179 Commits

Author SHA1 Message Date
Pablo Vazquez
be0afe1aaf Workers: Adjust color of asleep status
It was hard to read.
2022-07-22 14:57:12 +02:00
Pablo Vazquez
e023ea281b Setup Assistant: Do not show empty <p> element when input is valid 2022-07-22 14:57:12 +02:00
Pablo Vazquez
637cd81f82 Cleanup: Use general purpose variables instead of task statuses 2022-07-22 14:57:12 +02:00
Pablo Vazquez
7510f75ad4 Setup Assistant: Remove icons from check messages
Looks inconsistent across platforms, the text and color should be enough.
2022-07-22 14:57:12 +02:00
Pablo Vazquez
5709d4b1ed Setup Assistant: Style invalid input type text
Also remove unused 'path-input' class.
2022-07-22 14:57:11 +02:00
Pablo Vazquez
ab75d64609 Cleanup: Rename class
* Rename `.is-first-time-wizard` to `.is-setup-assistant`
2022-07-22 14:57:11 +02:00
Pablo Vazquez
976ed43de5 Cleanup: Move label styling to base.css 2022-07-22 14:57:11 +02:00
Pablo Vazquez
3c3ee45eb3 Cleanup CSS: re-order classes 2022-07-22 14:57:11 +02:00
Pablo Vazquez
61513e3c35 Cleanup: Indentation and spacing 2022-07-22 14:57:11 +02:00
Pablo Vazquez
eff5b21ecd Setup Assistant: Color progress bar
Progress bar element that resizes width depending on the current progress.

Introduces the `totalSetupSteps` property to be able to calculate its width
without using magic numbers.
2022-07-22 14:57:11 +02:00
Pablo Vazquez
038eb678e8 Setup Assistant: Use larger buttons for back/next 2022-07-22 14:57:11 +02:00
Francesco Siddi
78af4fae61 Setup Screen: Address feedback on UX 2022-07-22 14:57:11 +02:00
Pablo Vazquez
b74c8558cf UI: Style text inputs 2022-07-22 14:57:11 +02:00
Francesco Siddi
08f52993ad Setup Screen: Overall UI/UX tweaks
- Added initial description and illustration
- Swap "Check" button for fields with a debounced @input event
- Turn Blender's list into a radio selector
- Tweak wording when paths are not found
- Add microtip library for tooltips
- Make navigation steps clickable, according to the state
2022-07-22 14:57:11 +02:00
Pablo Vazquez
2741f900b9 Setup Screen: Style tweak to current and done steps
Based on idea by Francesco.
2022-07-22 14:57:11 +02:00
Pablo Vazquez
9d7fe1e479 Setup Screen: align btn-bar to the right when only containing one button 2022-07-22 14:57:11 +02:00
Pablo Vazquez
35abc3e02c Setup Screen: Style in-progress text
* Rename: "... finding Blenders ..." to "Looking for Blender installs..."
* Rename: "... checking ..." to "Checking..."
2022-07-22 14:57:11 +02:00
Francesco Siddi
8b02085c5b Setup Screen: Use StepsWrapper
Similar to TabsWrapper, with Previous/Next navigation capabilities.
2022-07-22 14:57:11 +02:00
Pablo Vazquez
a075a36911 Setup Screen: Expose all sections
For now, until proper next/back is introduced.
2022-07-22 14:57:11 +02:00
Pablo Vazquez
db39ca0d21 Setup Screen: Initial styling and layout adjustments 2022-07-22 14:57:11 +02:00
Pablo Vazquez
3479db5593 UI: Introduce btn-primary style
Use accent color (regular buttons use gray).
2022-07-22 14:57:11 +02:00
Pablo Vazquez
8d75da524d UI: Style <button> elements same as .btn class 2022-07-22 14:57:11 +02:00
Sybren A. Stüvel
11a352968a Fix T99434: Two-way Variables
Two-way variable implementation in the job submission end-point. Where
Flamenco v2 did the variable replacement in the add-on, this has now
been moved to the Manager itself. The only thing the add-on needs to
pass is its platform, so that the right values can be recognised.

This also implements two-way replacement when tasks are handed out, such
that the `{jobs}` value gets replaced to a value suitable for the
Worker's platform as well.
2022-07-22 11:58:35 +02:00
Sybren A. Stüvel
98555db1f6 OAPI: regenerate code 2022-07-22 11:58:13 +02:00
Sybren A. Stüvel
4c1a21f4a0 OAPI: when submitting a job, include the submitter's platform
The submitter's platform is used to perform two-way variable
replacement. The variables of that submitter's platform are looked up,
and their values are replaced with the variable names. This only applies
to the job's settings and metadata, and is only performed on prefixes.

For example, if the submitter's platform has a variable
`render = /shared/frames`, a job setting
`output = "/shared/frames/shot123"` will be stored as
`output = "{render}/shot123".

When a Worker gets a task of this job, `{render}` will be expanded to
the value appropriate for their platform, hence the "two-way" name.
2022-07-22 11:53:08 +02:00
Sybren A. Stüvel
585c886bd5 Fix Windows build errors 2022-07-21 20:59:10 +02:00
Sybren A. Stüvel
af0389efc6 Cleanup: correct function name in docstring 2022-07-21 16:29:23 +02:00
Sybren A. Stüvel
894058bc69 Cleanup: variable replacement, avoid hard-coded "workers" string
Use `config.VariableAudienceWorkers` instead.

No functional changes.
2022-07-21 16:29:05 +02:00
Sybren A. Stüvel
27602174ae Variable replacement: fix issue replacing vars in nested lists
An array-of-strings in Go can become an array-of-`interface{}` when
converted to JSON and back again. Such cases are now handled properly.
2022-07-21 16:28:38 +02:00
Sybren A. Stüvel
344a62f37b Add-on: Skip BAT-packing when file already in shared storage
When the to-be-submitted blend file is already stored in the shared
storage, and Shaman is disabled, the add-on now skips BAT-packing it.
Instead, the file is copied to `filename.flamenco.blend` and the path is
submitted as-is.
2022-07-21 14:18:48 +02:00
Sybren A. Stüvel
a6e3442aa0 Revert "Manager: add source location when logging in debug/trace mode"
This reverts commit eb65ac9085ca0e86e6dd8a436fb06e766af04d60. It caused
too much logging noise.
2022-07-21 14:16:33 +02:00
Sybren A. Stüvel
471bb9f539 Add-on: fix mypy error 2022-07-21 14:05:55 +02:00
Sybren A. Stüvel
19d3ac1a0a Fix T99739: Add-on: Prevent job submission when no job type has been chosen
Prevent the `FLAMENCO_OT_submit_job` operator from running when there has
been no job type selection.
2022-07-21 13:03:15 +02:00
Sybren A. Stüvel
cae0f73758 Add-on: link to documentation & describe where to find the Flamenco panel 2022-07-21 12:55:08 +02:00
Sybren A. Stüvel
48f081e03e Sleep Scheduler: don't overwrite error status from Worker
The Sleep Scheduler shouldn't push a Worker out of `error` status, as that
could hide problematic situations.
2022-07-21 12:49:32 +02:00
Sybren A. Stüvel
d553ca5ab9 Worker: pass input frame rate to FFmpeg when converting frames to video
FFmpeg needs the input frame rate as well, otherwise it'll default to 25
FPS, and mysteriously drop frames when rendering a 24 FPS shot.
2022-07-19 18:43:06 +02:00
Sybren A. Stüvel
de80a09223 Manager: include job UUID in "last-rendered image received" log entries
This makes it possible to collect all "last-rendered image received"
entries for a single job.
2022-07-19 18:40:22 +02:00
Sybren A. Stüvel
d929885b06 Manager: only log task status change if there is an actual change
Don't log "changes" from, say, `active` -> `active`.
2022-07-19 17:47:43 +02:00
Sybren A. Stüvel
ac3236786b Manager: add entry to task log whenever task changes status
Add a line to the task log whenever task changes status. This only applies
to directly-changed tasks, and not to mass-updates (like all tasks going
from 'completed' to 'queued' on a job requeue).
2022-07-19 17:23:13 +02:00
Sybren A. Stüvel
043ca032cb OAPI: regenerate code 2022-07-19 17:19:10 +02:00
Sybren A. Stüvel
b6c6eee251 OAPI: add examples to some schemas
Add examples to the `WorkerSignOn` and `WorkerStateChanged` schemas.
These will make it easier to test with SwaggerUI, as they reflect a worker
signing on with the default task types.
2022-07-19 16:52:38 +02:00
Sybren A. Stüvel
696b97c553 Re-queue tasks of worker after changing to non-'awake' state
When a Worker changes state from `awake` to something else, it cannot
run tasks any more. This now triggers a requeue of its active task
(should be one at most, if things are sane) so that another worker can pick
it up.
2022-07-19 15:38:36 +02:00
Sybren A. Stüvel
fb0c8e9317 Docs: fix Go API example
Fix the indentation of the Go API example.
2022-07-19 12:58:22 +02:00
Sybren A. Stüvel
ecfeaec4b2 Worker: store files on Windows in Blender Foundation\Flamenco
On Windows, store files in `%LOCALAPPDATA%\Blender Foundation\Flamenco`.
Previously the `Blender Foundation` part of the path was missing.

Manifest Task: T99415
2022-07-19 12:13:34 +02:00
Sybren A. Stüvel
2f76df437b T99415: Worker: change default location for writing local files
Change the location where the Worker writes its local files so that it
follows the XDG specification (instead of writing to the current working
directory).

- Linux:   `$HOME/.local/share/flamenco`
- Windows: `C:\Users\UserName\AppData\Local\Flamenco`
- macOS:   `$HOME/Library/Application Support/Flamenco`

NOTE: The old files will not be loaded any more. This means that if
nothing is done and the new worker is run as-is, it will reregister as a
brand new worker. Move `flamenco-worker-credentials.yaml` and
`flamenco-worker.sqlite` to the new location to avoid this.
2022-07-19 12:08:41 +02:00
Sybren A. Stüvel
fa600d6fc9 Cleanup: rename mustHostname() to workerName()
The function determines the worker's name. The fact that it can use the
hostname for this isn't that relevant.
2022-07-19 12:03:08 +02:00
Sybren A. Stüvel
d425bca5cf Upgrade GORM and SQLite
Upgrade just GORM and SQLite (and their dependencies), in a hope that it
will solve the "interrupted (9)" errors returned on our production Flamenco
Manager.
2022-07-19 10:39:19 +02:00
Sybren A. Stüvel
5fbf44ac30 Revert "Upgraded all Go dependencies"
This reverts commit b04889dd79986eca9547108c60fa61ac0ef4cc71. It caused
some errors that I'm not willing to debug this time of day ;-)
2022-07-18 19:44:24 +02:00
Sybren A. Stüvel
b04889dd79 Upgraded all Go dependencies
Ran `go get -t -u ./...` to get all the main + test dependencies upgraded.
2022-07-18 19:39:43 +02:00
Sybren A. Stüvel
42b12a7dc7 cleanup: go mod tidy
Just the effect of running `go mod tidy`.
2022-07-18 19:37:31 +02:00