perf: batch gcode file metadata requests #1737
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Batch
server.files.metadata
requests to Moonraker, resulting in fewer re-renders of the file table (once per batch, rather than once per file). The performance improvement is especially noticeable with lists of 100+ files.Moonraker has supported JSON-RPC Batch Requests for at least 4 years, so I don't think backwards incompatibility is a concern.
An alternative approach could be to optimize the GCode Files table itself, which currently re-renders in its entirety when file metadata is updated. However, this approach felt more straightforward (and I'm not super familiar with Vue).
Related Tickets & Documents
Before
After
Mobile & Desktop Screenshots/Recordings
Before
before_480p.mov
After
after_720.mov
[optional] Are there any post-deployment tasks we need to perform?