RSE-1002: Fix: Slowness clicking the job name (migrate job scm status badge and scm action buttons to vue) #8877
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.
Ticket: https://pagerduty.atlassian.net/browse/RSE-1002
QA FW pipe: https://app.circleci.com/pipelines/github/rundeckpro/rundeck-tester/7718/workflows/539e3b77-e6cf-4df5-981a-af39c4198700
Problem:
When having scm enabled and a user clicks on job name in the jobs page the page takes considerably longer than in 4.3.1 because of the controller loading scm data synchronously before rendering the job page.
The scm data is used for the import/export status badges (first image) and the Action Buttons (second image):
Expected Outcome:
Scm plugin data shouldn’t affect the time to render the job page on the browser
Proposed Solution:
Load scm data asynchronously by:
Removing Scm processing from
ScheduledExecutionController.show()
endpoint which is accessed when clicking the job name.Load the status badge asynchronously, inserting a vue socket in the
_jobHead.gsp
page and reusing theJobScmStatus
vue component.For the Action Buttons, add a vue socket to the
_jobActionButtonMenuContent.gsp
page reusing theJobScmActions
vue component implementation.