Identify banners that co-occur on a single page

Problem to solve

  • We have nearly 600 banners and alerts defined within GitLab.
  • These banners are often conditionally rendered, and generally inserted into the page in disparate parts of the render pipeline (e.g. one comes from a haml layout, another from the haml page template, then a third from the vue component which gets mounted on the page).
  • This leads to situations where a single page can render several banners all stacked atop one another.
  • It would take a huge amount of manual work to determine which of these banners co-occur on a single page.

Proposal

  • Raise a new InternalTracking event when multiple banners are visible on a single page.
  • Consider all elements with a .gl-banner or .gl-alert class when calculating the number of visible.
  • The event must include a list of IDs that can be used to identify the individual banners.
  • This will be a short-lived event: we can remove it after 1 milestone.
Edited by Jeff Tucker