Only include the `blendfile` parameter if it is not empty. This makes it
possible to pass a Python script that loads/constructs the blend file,
instead of loading one directly.
When a more complex list of frames is to be rendered (like `1, 4, 5, 10,
15`), simplify the video filename to `{first}-{last}`.
Before: `somename-1, 4, 5, 10, 15.mp4`
Now: `somename-1-15.mp4`
Add a little intro that explains that there are multiple config files. And
add a section that explains that the worker-specific files are not to be
edited, just deleted.
The worker-written config files would all refer to
`flamenco-worker-example.yaml`, even though this file doesn't even
exist. Instead, the configuration file will refer to the appropriate
documentation on the website, and the credentials file will explain what
happens when you delete it.
The credentials are otherwise intentionally left undocumented, as their
contents are not to be manually edited. The only thing to do with that
file is delete it so that the Worker re-registers itself at startup.
Instead of passing an arbitrary string ("Configuration" or "Credentials"),
use an explicit type for this. This will make it possible to have the
config-writing functions behave slightly differently depending on which
configuration type is being written.
No functional changes.
Send events on Manager startup & shutdown. To make this possible, events
sent to MQTT are now queued up until an MQTT server can be reached.
Otherwise the startup event would be sent before the MQTT connection was
established.
Events were previously only sent via SocketIO, but now they can also be
sent via MQTT. These are now renamed from `SocketIO…` to `Event…`.
There is still the SocketIO subscription mechanism, for which the types are
still prefixed with `SocketIO`. MQTT manages subscription on the broker,
not on Flamenco Manager itself, for now this will remain SocketIO-only
functionality.
Fix SocketIO subscriptions so that the client also subscribes to
job-specific last-rendered images whenever subscribing to job-specific
events. These are sent to another event topic, and thus need some extra
care. Before the introduction of the generic event bus, both message types
were sent to the same topic, but that's not supported by MQTT, and so things
had to change.
Introduce an "event bus"-like system. It's more like a fan-out
broadcaster for certain events. Instead of directly sending events to
SocketIO, they are now sent to the broker, which in turn sends it to any
registered "forwarder". Currently there is ony one forwarder, for
SocketIO.
This opens the door for a proper MQTT client that sends the same events
to an MQTT server.
Add `MSYS2_ARG_CONV_EXCL="*"` to avoid MSYS2 changing the yarn build
`--base=/app/` argument. That's a URL path, not a filesystem path, and it
should be used as-is on every platform.
Prevent logging an error in the persistence layer when an unknown worker
is requested.
This reduces the noise & confusion when the web interface is showing the
details of a worker, but the worker gets removed by someone else. Or when
the Manager doesn't know about a Worker and it's trying to connect.
See #104282.
Create a dedicated package `.../pkg/website` to contain constants for the
URLs of documentation, bug reporting, etc. That way it's easier to see
which parts of the website are being referred to from the Flamenco
binaries, and updates can happen in a central spot.
No functional changes.
A few smaller tweaks for the navigation menu (on the left, not the top):
- Smaller font. The upgrade to the latest Geekdocs made this bigger, but I
like it if it's a bit smaller than the main text.
- More visible indicator line for the active element. This was a dashed
underline of just the text. It is now a dashed border-bottom that extends
the entire width of the element. This visibly connects the main body of
text to the active menu element.
And for the main text:
- Less padding for `h3` elements, as the whitespace became a bit too much.
Upgrade the Geekdocs theme from 0.32.4 to 0.44.1. This changes the layout
a little bit; most notably the 'documentation' menu is in a larger font.
I tried the upgrade to solve an issue of images not appearing (while
writing not-yet-committed changes). That wasn't solved by the upgrade, but
in the spirit of keeping up to date I'd thought I'd commit this upgrade
anyway.
Move the info about using cloud storage from the FAQ to the Shared
Storage chapter of the documentation. The FAQ entry of the topic is now
reduced to a short answer + a link to the moved documentation.
Reorganise the FAQ, grouping the questions in "Features" and
"Troubleshooting". Also I removed the explanation of the difference
between Flamenco v2 and v3, as that's quite obsolete now.
Deleting jobs from the database can still sometimes cause consistency
errors, as if foreign key constraints aren't enabled. This check is there
to try and get a grip on things.