Use startup.js to fetch initial data in group and project issue list
Motivation for this MR
The refactored issue list(vue_issuables_list.vue
) is the Vue component that will display issue lists that are currently rendered using HAML.
The problem with the current iteration of the refactored issue list is it only starts fetching for the data after its Vue instance is loaded/mounted and this results in a poor user experience. To solve this problem, we are including a small JS script to start fetching immediately on page load - this concept is startup.js
#220511 (closed).
What does this MR do?
The changes in this MR sit behind :vue_issuables_list
FF.
This is a MVC (just enough to gather fresh performance data in staging) to support startup.js for only these vanilla paths WITHOUT any support for any additional query parameters:
/<group>/<project>/-/issues
/groups/<groupname>/-/issues
When users visit the above paths, vue_issuables_list.vue
appends some query strings (such as state
or page
with default values) to a designated API path and fetches the data. To pre-fetch the data using startup.js
, this MR adds changes to
- use startup.js to include an API path with default params (so only when visiting project/group issue lists without query params)
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team
Issue #246486 (closed)