From c4ec91bcc3d005c806231caee21b3e427fcd0069 Mon Sep 17 00:00:00 2001
From: Matthias Kaeppler <mkaeppler@gitlab.com>
Date: Tue, 28 Mar 2023 16:11:22 +0200
Subject: [PATCH] Fix missing caller_id for GraphQL subscriptions

Changelog: fixed
---
 config/plugins/graphql_known_operations_plugin.js | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/config/plugins/graphql_known_operations_plugin.js b/config/plugins/graphql_known_operations_plugin.js
index c340849e084ce..783887cf6e634 100644
--- a/config/plugins/graphql_known_operations_plugin.js
+++ b/config/plugins/graphql_known_operations_plugin.js
@@ -4,7 +4,9 @@ const yaml = require('js-yaml');
 const { evaluateModuleFromSource } = require('../helpers/evaluate_module_from_source');
 
 const PLUGIN_NAME = 'GraphqlKnownOperationsPlugin';
-const GRAPHQL_PATH_REGEX = /(query|mutation)\.graphql$/;
+const SUPPORTED_OPS = ['query', 'mutation', 'subscription'];
+/* eslint-disable no-useless-escape */
+const GRAPHQL_PATH_REGEX = new RegExp(`(${SUPPORTED_OPS.join('|')})\.graphql$`);
 
 /**
  * Returns whether a given webpack module is a "graphql" module
@@ -34,7 +36,7 @@ const getOperationNames = (module) => {
   });
 
   const names = moduleExports.definitions
-    .filter((x) => ['query', 'mutation'].includes(x.operation))
+    .filter((x) => SUPPORTED_OPS.includes(x.operation))
     .map((x) => x.name?.value)
     // why: It's possible for operations to not have a name. That violates our eslint rule, but either way, let's ignore those here.
     .filter(Boolean);
-- 
GitLab