Fix GroupCalloutDismisser group id check

What does this MR do and why?

  • When a graphql query was made to check whether a group callout was dismissed, the result came back as a group id which was being compared to the global graphql id
    • updated the query to return the global graphql id for consistency
  • Add session storage item for skip-query / browser back button functionality.
    • When the callout is server rendered, we use skip-query since the conditional is based in the backend. In this case when a user uses the browser back button, the browser cache does not reflect the the dismissal update
    • Added a session storage key to ensure callout does not reappear.

References

Screenshots or screen recordings

Before After

Recording of use of session storage for server side rendered callout (WITH apollo skip-query)

Screen Recording 2025-11-24 at 2.07.54 PM.mov

Recording using WITHOUT skip-query (apollo is fetching the data). After the callout is dismissed and the page is refreshed, shouldShowCallout returns false after fixed matching of the global graphql id's and removes the callout from the DOM

Screen Recording 2025-11-24 at 2.23.39 PM.mov

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #579575 (closed)

Edited by Kiesha Herman

Merge request reports

Loading