Commit Graph

469 Commits

Author SHA1 Message Date
ac0127610c Gitignore .blend files that were submitted to Flamenco 2022-04-21 10:45:41 +02:00
2bc6b2bdba Web: start of notification bar
Use Pinia store for notifications. WIP, only the last one is shown in
the footer.
2022-04-19 16:27:05 +02:00
7b38aa4faf Web: add Job Actions Bar for action buttons
Add a bar for "job actions", i.e. buttons that do something with the
selected job(s).

Just has one button, and it doesn't do much either, but at least the
framework for these things is here.
2022-04-19 16:27:05 +02:00
2bbe1148b7 Web: Job details, avoid error when job data not yet loaded 2022-04-19 16:27:05 +02:00
27fb9d05db Web: use Pinia for storage of selected & current Job
Using the concept of 'selected' and 'active' similar to Blender.

Not all components have been altered to use the Pinia store yet.
2022-04-19 16:27:05 +02:00
4553be4d6c Web: different JS style for defining app data
Just a readability improvement.

No functional changes.
2022-04-19 16:03:36 +02:00
7bde1e243a Web: import from package-relative path
Use `@/path/to/file` instead of `./path/to/file`, as the former will be
valid even when used in a subdirectory (i.e. in cases where the latter
would have to change to `../path/to/file`). This makes imports uniform
and easier to copy-paste into other files.

No functional changes.
2022-04-19 16:03:36 +02:00
6655c2b3d7 Web: only use job type label if job type has been loaded 2022-04-19 11:34:13 +02:00
2e41d9a024 Web: show job type label instead of internal type name 2022-04-15 18:04:07 +02:00
64af9e4ae4 Web: add some handy debugging functions 2022-04-15 18:00:01 +02:00
4734e3c297 Web: filter settings based on job type definition
The web interface will now only show those settings that have `visible:
true`.

Probably it's a good idea to extend the job type, so that the visibility
can be controlled separately for job submission (i.e. the Blender
add-on) and job viewing (i.e. the web frontend).
2022-04-15 17:59:39 +02:00
0d94d7c20a Web: load job type info from backend
Load job type info from the backend, whenever the job type changes (i.e.
when a job is selected that has a different type than the previous one).
2022-04-15 17:22:10 +02:00
6f9a422511 Web: don't hammer server trying to reconnect 2022-04-15 17:22:10 +02:00
84e1ca9c67 Web: allow deselection of jobs
This ensures that deselecting a job also removes it from the job details
column.
2022-04-15 17:22:10 +02:00
78a3e5faf0 Web: header tweaks to get the layout a bit cleaner 2022-04-15 16:29:30 +02:00
d099a31531 OAPI: add endpoint for getting a single job type
This will be used by the web frontend to determine which job settings
to show and which to hide.
2022-04-15 16:21:48 +02:00
d30befa2d7 Manager: add assert function for testing JSON responses
This makes it much easier to test an API response actually matches the
expected JSON values.
2022-04-15 16:14:17 +02:00
5f019044ce Add caching of job compilers to FEATURES.md 2022-04-15 15:29:14 +02:00
70584ce951 OAPI: add sections to OpenAPI paths
This just makes the grouping a bit more obvious. It follows the already
available tags.
2022-04-15 15:11:29 +02:00
de3c4af8cb Manager: fix broken unit test 2022-04-15 14:37:41 +02:00
13e3607571 Manager: reduce logging of config loading
The logging was very verbose, and even though it was only at trace level,
a failing unit test would show them all.
2022-04-15 14:34:30 +02:00
4ea6f99c3e Manager: dynamically generate allowed CORS origins
Remove the hard-coded list of allowed CORS origins, and build it
dynamically from the list of "own URLs", i.e. the URLs at which the
Manager expects to be available.

This list of "own URLs" is constructed from the available network
interfaces.
2022-04-15 14:27:52 +02:00
1847c5219d Web: fix unexpected scrollbar on Firefox
Firefox will still have an additional 1px vertical line at the bottom of
the page, even when `#app` should take 100% of the vertical space. This
causes a scrollbar to show up. Setting the height at `calc(100vh - 1px)`
solves this.
2022-04-15 14:27:51 +02:00
5c28fcd1b7 Web: set colours on the html & body element
Setting the CSS `color` and `background-color` properties on the top-level
elements will make Firefox understand the dark theme, and colour the scroll
bar appropriately.
2022-04-15 14:27:24 +02:00
1535d7531b Document the use of SocketIO in README.md 2022-04-15 13:51:32 +02:00
315c7cfde7 Web: fix layout of jobs table
This ensures it uses virtual DOM, which is waaaaaaay faster.
CSS variables are used to compute the max height for the Jobs Table grid
cell, to make sure the Tabulator height can be set to 100% without
overflowing.
2022-04-14 09:54:57 +02:00
93b065217e Web: always fetch fresh job on selection in the tabulator 2022-04-14 09:41:04 +02:00
c6bc614f2a Web: add commented-out debug code
The code ensures the jobs table gets filled with partial jobs (as from
a WebSocket JobUpdate object), helping to test such updates.
2022-04-14 09:41:04 +02:00
81ad3575db Web: only fetch selected job if not yet fully known 2022-04-14 09:41:04 +02:00
e672289a11 OAPI: include all info for the jobs table in the JobUpdate schema
By having all info for the jobs table in the `JobUpdate` schema, it won't
have to query for the full job when a new job is added. This fetching of
the full job is now delayed until someone clicks on the table row.
2022-04-14 09:41:04 +02:00
3ab1e9a450 Web: add API query spinner
The spinner starts fading in when API calls take longer than 100ms.

Not used yet, how to hook it up to API calls is still being discovered.
2022-04-14 09:41:04 +02:00
d5477091d9 Web: Remove Vue-generated default README.md 2022-04-14 09:41:04 +02:00
Francesco Siddi
313061cf06 Web: Initial design with dark theme in mind 2022-04-12 20:03:52 +02:00
6161853136 Web: reduce console logs a bit 2022-04-12 16:11:52 +02:00
77cc0f36e6 Web: remove API example code, enough examples in the code now 2022-04-12 16:10:51 +02:00
2c8ee18fef Web: include metadata and settings in job details 2022-04-12 16:10:39 +02:00
0694ab8e02 Web: nicer handling of SocketIO connection issues 2022-04-12 16:00:47 +02:00
ec814afa91 Web: show Flamenco name & version in header 2022-04-12 15:54:58 +02:00
caa3481561 Web: emit jobUpdate event with API object instead of straight JSON
Instead of just emitting the straight parsed-JSON object that the SocketIO
library gives us, feed it to the OpenAPI client type system to ensure it's
parsed in the same way as any regular API response.

This is mostly to get datetimes as JS `Date` object instead of as string.
2022-04-12 15:43:50 +02:00
48acf55d6b Web: document cohesion of JobsTable and JobDetails components 2022-04-12 15:42:37 +02:00
316ba6953b Web: show job details column
This may be a nice moment to reconsider using Pinia as a data store, as
we now have two views (job table + job details) that should share a data
set.
2022-04-12 15:28:18 +02:00
d650ff5dcf Web: add empty job & task detail column components 2022-04-12 14:37:48 +02:00
a92435459e Web: tweak job table layout 2022-04-12 14:26:07 +02:00
69e6b2bd99 Web: Flamenco favicon 2022-04-12 12:54:27 +02:00
b12af4c60e Update README.md to reflect the new way to set up the web dev environment 2022-04-12 12:41:24 +02:00
555c935790 Web: Replace Vue 2 with Vue 3 webapp
Replace the Vue v2 webapp with a Vue v3 one, and embed the OpenAPI
client in the webapp itself (instead of being its own npm project).

- Vue v2.x -> v3.x
- Tabulator v4.x -> v5.1
- Moment JS -> replaced with Luxon JS
- Vue CLI/UI -> replaced with Vite
2022-04-12 12:34:49 +02:00
c0b2c6c234 Manager: CORS origins should be without trailing slash 2022-04-12 12:34:10 +02:00
48417f7f14 Manager: Fix unittests after recent changes to the job compiler script
d98dbaa3 introduced a change to the job compiler, which wasn't taken into
account in the unit test.
2022-04-11 14:08:40 +02:00
c79983bafb Worker: include -r {fps} in FFmpeg command
This should force the output created by FFmpeg to match the desired FPS.
2022-04-11 12:09:28 +02:00
cb494a4c03 Made go-sqlite a direct dependency 2022-04-11 11:42:46 +02:00