Fix user popover glitch
What does this MR do?
This MR fixes a glitch in the user popover that only happens in the Chrome Browser. A detailed description of the problem can be found in #34423 (closed) and #199211 (closed).
In detail, this MR introduces the following changes:
- Instead of creating a new
user-popover
instance every time a user link emits amouseenter
event, only initialize a single instance of theuser-popover
component. - Delegate to
gl-popover
the responsibility of displaying and hiding the user popover. - Delegate to
gl-popover
the responsibility of the 200ms delay. - Create an e2e test to ensure that user popover works.
- Rewrite unit tests to focus in the responsibilities of the
user_popovers
service.
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
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
Closes #199211 (closed)