Realtime assignees frontend first iteration
What does this MR do?
This is the frontend portion of #17589 (closed).
What still needs to be done on future iterations:
- Abstract shared data into apollo cache. !30239 (comment 329662232)
- Move to using an ApolloComponent instead of a renderless component.
- Replace the assignees dropdown to use gitlab ui component when its ready to eliminate bugs from realtime updates.
- Utilize Visibility API for when websocket is open in background tab so the websocket is closed.
On un-mount of the component kill the websocket subscription/connection. (using actionCable.subscriptions.remove)- If query will be used somewhere else, follow the following approach (!30239 (comment 330675081)), (dont need to do this until we convert assignees to vue)
- warnining extra request Currently, we are making a PUT request on assignees update -> the store is updated -> websocket sends an updated -> then we make an apollo query request. In the future well need to guard against the second request and replace the put with a mutation.
- Error handling when Query fails.
Warning: This should NOT be enabled until @engwan MR has been merged in !24346 (closed). Its also impossible to test this locally until thats merged in, unless you want to merge the 2 branches.
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
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
Edited by Coung Ngo