Formalize process for browser checks and create relevant files

The following discussion from gitlab-ce!24017 should be addressed:

  • @pslaughter started a discussion: (+3 comments)

    @kushalpandya, thanks for this! I think it is a good idea to capture this on the DOM. However, I'm concerned about our code being peppered with browser checks:

    function initializingWombats() {
      if (isChrome || isFirefox) { 
        // ... 
      }
    
      if (!isIE11 && !isEdge) { 
        // ... 
      }
    }

    What if we strictly limit these browser checks in a single features.js?

    const { isIe, isEdge, isChrome, isFirefox } = gl.client;
    
    export const emojisLookGood = () => !isIe && !isEdge;
    export const tooltipsLookGood = () => isChrome || isFirefox;
    // ...

    WDYT?

/cc @kushalpandya @andr3

Edited Mar 24, 2025 by Adebayo Adesanya
Assignee Loading
Time tracking Loading