1926 Commits

Author SHA1 Message Date
Sybren A. Stüvel
76a24243f0 Manager: Introduce event bus system
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.
2024-02-03 22:55:23 +01:00
Sybren A. Stüvel
4f8d39f74a Fix MSYS2 breaking the base URL for webapp
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.
2024-02-02 22:37:28 +01:00
Sybren A. Stüvel
f464aea137 Manager & website: provide more helpful info when Worker auth fails
Provide more useful info when a Worker tries to communicate but fails
the authentication check. The message about this is now more friendly
and links to a new FAQ entry at
https://flamenco.blender.org/faq/#what-does-unknown-worker-is-trying-to-communicate-mean
2024-01-25 14:19:24 +01:00
Sybren A. Stüvel
26c14bf095 Website: better styling for FAQ page
More vertical space between answers in the FAQ.
2024-01-25 13:04:45 +01:00
Sybren A. Stüvel
9afd79d8c0 Manager: prevent logging an error when fetching unknown worker
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.
2024-01-25 12:38:13 +01:00
Sybren A. Stüvel
70faa4e225 Move URLs to the Flamenco website to constants in a dedicated package
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.
2024-01-25 12:25:06 +01:00
Sybren A. Stüvel
13a793743f Website: add documentation for worker tags and sleep schedule
The worker tags and sleep schedule features are now actually documented.
2024-01-25 12:15:29 +01:00
Sybren A. Stüvel
c3a306a9c5 Website: slight layout tweaks
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.
2024-01-25 12:14:27 +01:00
Sybren A. Stüvel
3233d40b4c Website: upgrade Hugo to 0.121.2
Upgrade Hugo from 0.101.0 to 0.121.2. This seems to not introduce any
changes for us.
2024-01-25 12:11:04 +01:00
Sybren A. Stüvel
781aaa8282 Website: upgrade geekdocs to 0.44.1
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.
2024-01-25 11:29:22 +01:00
Sybren A. Stüvel
fd29f58c2e Website: move info about cloud storage into the main documentation
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.
2024-01-23 10:27:20 +01:00
Sybren A. Stüvel
27eb7be547 Website: reorganise FAQ
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.
2024-01-17 13:22:57 +01:00
Sybren A. Stüvel
aa2ad35155 Bumped version to 3.5-alpha0 2024-01-17 13:17:35 +01:00
Sybren A. Stüvel
19d4019142 Website: add FAQ entries on GPU use of Blender
This comes up a lot.
2024-01-17 13:16:31 +01:00
Sybren A. Stüvel
f9520ce147 Website: remove FAQ about a BAT packing error
This error hasn't been reported in 9 months, so I'll assume it's fixed.
2024-01-17 13:06:00 +01:00
Sybren A. Stüvel
b16b44b4d6 Run go mod tidy 2024-01-13 13:08:29 +01:00
Sybren A. Stüvel
8b9a2a15cf CHANGELOG: marked 3.4 as released today 2024-01-12 11:15:55 +01:00
Sybren A. Stüvel
e1306010d7 Bumped version to 3.4 2024-01-12 11:14:50 +01:00
Sybren A. Stüvel
b39f116b0e Manager: after deleting a job, perform a database consistency check
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.
2024-01-11 20:03:53 +01:00
Sybren A. Stüvel
7c08ec8654 Upgrade dependencies
Go dependency upgrades, most importantly:

- github.com/glebarez/go-sqlite v1.21.1 -> v1.22.0
- github.com/glebarez/sqlite v1.8.0 -> v1.10.0
- gorm.io/gorm v1.25.2 -> v1.25.5
- modernc.org/sqlite v1.26.0 -> v1.28.0
2024-01-11 19:53:07 +01:00
Sybren A. Stüvel
c80f898095 Makefile: Run make vet as part of the release-package rule 2024-01-11 19:06:49 +01:00
Sybren A. Stüvel
aac2ec7bf6 Manager: when requesting job deletion, also log its low-level database ID
When an API request comes in to delete a job, not only log the job's UUID,
but also include its database ID. This can help in figuring out database
issues, as when the job is deleted, it's unknown what UUID it had. Database
relations use the ID, and not the UUID.
2024-01-11 17:17:56 +01:00
Sybren A. Stüvel
6777e89589 Manager: refuse to delete job when foreign keys are disabled
Just as a safety measure, before deleting a job, check that foreign key
constraints are enabled. These are optional in SQLite, and the deletion
function assumes that they are on.
2024-01-11 17:17:56 +01:00
Sybren A. Stüvel
3e46322d14 Manager: reduce log level when last-rendered image was accepted
Reduce the log level when a last-rendered image was accepted from a Worker.
2024-01-11 17:17:56 +01:00
Sybren A. Stüvel
b110f5fb51 Bumped version down to 3.4-beta1
There are a few more things I want to do before releasing 3,4.
2024-01-11 17:17:56 +01:00
Sybren A. Stüvel
bfe2b9f53a Website: mark 3.4 as latest release 2024-01-11 16:53:38 +01:00
Sybren A. Stüvel
0c08a5ad5d Bumped version to 3.4 2024-01-11 16:51:21 +01:00
Sybren A. Stüvel
64332284d4 Mark 3.4 as released today 2024-01-11 16:50:56 +01:00
Sybren A. Stüvel
1095caeddd OAPI: regenerate code
This creates the Python and JavaScript files for the job mass-deletion
operation.
2024-01-11 16:47:25 +01:00
Sybren A. Stüvel
ba02fa9a41 Upgrade BAT to 1.18
This fixes a long-standing issue when packing files on Windows. It also
solves some more bugs, and adds support for packing OpenVDB files.
2024-01-11 16:46:20 +01:00
Sybren A. Stüvel
77771afc4a Web: list 3.4-beta0 as latest beta release 2024-01-05 17:08:07 +01:00
Sybren A. Stüvel
e6a29e1662 Bumped version to 3.4-beta0 2024-01-05 17:01:29 +01:00
Sybren A. Stüvel
3fc3ecf49e Update CHANGELOG 2024-01-05 11:27:53 +01:00
Sybren A. Stüvel
e4f5dff21c Addon: log BAT pack parameters
This can help to debug issues.

Note that these are logged at `INFO` level, and thus probably won't be
seen with Python's default logging configuration.
2024-01-05 11:25:17 +01:00
Sybren A. Stüvel
a6f6f10239 Fix #104263: Error performing BAT pack in Windows with shared storage
Replace calls to `Path.absolute()` and `Path.resolve()` with
`bpathlib.make_absolute(path)`.

The replaced functions can transform drive letters on Windows to UNC
notation. Either all of Flamenco + BAT should be using UNC notation, or
drive letters, but mixing those will cause errors.
2024-01-05 11:23:49 +01:00
Sybren A. Stüvel
b34ad8da90 Addon: fix issue where resubmission was blocked after submission error
Fix an issue where a submission error would keep the BAT status set to
`INVESTIGATING`, which hides the 'Submit to Flamenco' button. In case of
an error, it's now properly set to `ABORTED`, which does show that button.
2024-01-05 11:21:12 +01:00
Sybren A. Stüvel
1a4e0c36e4 Addon: gracefully handle disappearing job type
When refreshing the list of available job types, Blender recreates the
job type property itself, clearing out any previously chosen value. The
add-on tries to restore that previously chosen value, and now also
gracefully handles the case where this job type is no longer available.
2024-01-02 17:13:22 +01:00
Sybren A. Stüvel
7c99a2c000 Document the command to install the Goose binary
No functional changes.
2023-12-29 11:36:16 +01:00
Sybren A. Stüvel
17b664f152 Worker: log copy-pastable commandline invocation
Log any CLI command that's run in a way that can be easily copy-pasted
from the task log. This can help a lot in determining whether an issue
is caused by Flamenco or by the CLI program itself.
2023-12-25 15:07:18 +01:00
Sybren A. Stüvel
8ae0bc37dd Worker: reduce double logging
Remove double logging of 'command exited succesfully' message.
2023-12-25 14:55:35 +01:00
Sybren A. Stüvel
fe26a026e6 Refactor: rename command_exe.go to cmd_executor.go
Rename the file containing the command executor from `command_exe.go` to
`cmd_executor.go`), to distinguish it from the implementation of the
`exec` command (`command_exec.go`).

No functional changes.
2023-12-25 14:14:53 +01:00
Sybren A. Stüvel
7082e1e3ea Web: make 'last updated at' field in job details click-to-copy
This makes it easy to use when constructing 'mass delete jobs' API calls.
2023-12-16 23:06:01 +01:00
Sybren A. Stüvel
246916475f Manager: Implement mass mark-for-deletion of jobs
Implement the API function to mass-mark jobs for deletion, based on
their 'updated_at' timestamp.

Note that the `last_updated_max` parameter is rounded up to entire
seconds. This may mark more jobs for deletion than you expect, if their
`updated_at` timestamps differ by less than a second.
2023-12-16 23:05:52 +01:00
Sybren A. Stüvel
b9e41065c1 OAPI: regenerate code 2023-12-16 23:03:53 +01:00
Sybren A. Stüvel
aff6d41a91 OAPI: Add endpoint for mass job deletion
This endpoint will not actually delete the jobs, but just mark them for
deletion. Flamenco Manager will process the deletions in the background.
2023-12-16 22:59:28 +01:00
Sybren A. Stüvel
ff2d8f649f OpenAPI: update job submission example
Update the job submission example YAML to reflect the current state of the
`simple-blender-render` job compiler script.

No functional changes.
2023-12-16 13:29:12 +01:00
Sybren A. Stüvel
a7b498a91c Website: bump available Flamenco version to v3.3.1 2023-12-14 12:22:58 +01:00
Sybren A. Stüvel
a4000f1909 Bumped version to 3.3.1 2023-12-14 12:09:33 +01:00
Sybren A. Stüvel
6711f9dabe Manager: reorder job table columns
Reorder from name/type/priority/updated to name/updated/priority/type.

The new ordering moves the more important info into (according to Blender
Studio) view when the job table is narrow.
2023-12-14 12:08:53 +01:00
Sybren A. Stüvel
a6db15fdfa Bump BAT from 1.16 to 1.17 2023-12-14 11:59:16 +01:00