diff --git a/app/assets/javascripts/access_tokens/index.js b/app/assets/javascripts/access_tokens/index.js
index 2cd3a8f12eefe9d9169b0ddd3a1be01f672a669a..7f5f0403de627a993230dcb51123d763856f3e2a 100644
--- a/app/assets/javascripts/access_tokens/index.js
+++ b/app/assets/javascripts/access_tokens/index.js
@@ -49,7 +49,7 @@ export const initProjectsField = () => {
             { default: createDefaultClient },
           ]) => {
             const apolloProvider = new VueApollo({
-              defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+              defaultClient: createDefaultClient(),
             });
 
             Vue.use(VueApollo);
diff --git a/app/assets/javascripts/admin/users/index.js b/app/assets/javascripts/admin/users/index.js
index 852b253d25ad2e4ea2b7a645f877590decf620d0..0c485d2a2399f18679c5a3706f769f8a38498cec 100644
--- a/app/assets/javascripts/admin/users/index.js
+++ b/app/assets/javascripts/admin/users/index.js
@@ -15,7 +15,7 @@ import {
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 const initApp = (el, component, userPropKey, props = {}) => {
diff --git a/app/assets/javascripts/alert_management/list.js b/app/assets/javascripts/alert_management/list.js
index 4cb56a2614cf01fea07a1106abf33563688e6c43..b23f8a8eba42769dca03a5d1c971e3f22ac4f4f6 100644
--- a/app/assets/javascripts/alert_management/list.js
+++ b/app/assets/javascripts/alert_management/list.js
@@ -38,7 +38,6 @@ export default () => {
             return defaultDataIdFromObject(object);
           },
         },
-        assumeImmutableResults: true,
       },
     ),
   });
diff --git a/app/assets/javascripts/alerts_settings/graphql.js b/app/assets/javascripts/alerts_settings/graphql.js
index 15862f4034a07557717816a960bc480c7e013c7a..b64e2e3eefa62df7e7e45549be4421ba2300c095 100644
--- a/app/assets/javascripts/alerts_settings/graphql.js
+++ b/app/assets/javascripts/alerts_settings/graphql.js
@@ -59,6 +59,5 @@ export default new VueApollo({
     cacheConfig: {
       fragmentMatcher,
     },
-    assumeImmutableResults: true,
   }),
 });
diff --git a/app/assets/javascripts/analytics/usage_trends/index.js b/app/assets/javascripts/analytics/usage_trends/index.js
index 3e85832edcf194ed05196793afa1e7e91e8af274..d1880b09f159eaa77c937cf89cd91d9cf9554de4 100644
--- a/app/assets/javascripts/analytics/usage_trends/index.js
+++ b/app/assets/javascripts/analytics/usage_trends/index.js
@@ -6,7 +6,7 @@ import UsageTrendsApp from './components/app.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/app/assets/javascripts/artifacts_settings/index.js b/app/assets/javascripts/artifacts_settings/index.js
index 5c9f1c3129c2869d4eb033bd47c013e9a56f8dfc..531b42bc185874cfa46a48bae06007c094dea548 100644
--- a/app/assets/javascripts/artifacts_settings/index.js
+++ b/app/assets/javascripts/artifacts_settings/index.js
@@ -6,7 +6,7 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default (containerId = 'js-artifacts-settings-app') => {
diff --git a/app/assets/javascripts/boards/graphql.js b/app/assets/javascripts/boards/graphql.js
index d8d16184936a5e355d86da3589d3a5ed2ecce3f9..64938cb42edf302d98f2464c370234e8db0b905d 100644
--- a/app/assets/javascripts/boards/graphql.js
+++ b/app/assets/javascripts/boards/graphql.js
@@ -17,6 +17,5 @@ export const gqlClient = createDefaultClient(
 
       fragmentMatcher,
     },
-    assumeImmutableResults: true,
   },
 );
diff --git a/app/assets/javascripts/boards/mount_multiple_boards_switcher.js b/app/assets/javascripts/boards/mount_multiple_boards_switcher.js
index a3a8ad06c4300a6109dfb2753d0cadf54383ff39..d74a772170b18bb1f3136e93a8e341743544aa98 100644
--- a/app/assets/javascripts/boards/mount_multiple_boards_switcher.js
+++ b/app/assets/javascripts/boards/mount_multiple_boards_switcher.js
@@ -8,12 +8,7 @@ import { parseBoolean } from '~/lib/utils/common_utils';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
 
 export default (params = {}) => {
diff --git a/app/assets/javascripts/ci_lint/index.js b/app/assets/javascripts/ci_lint/index.js
index f97590ec5db6337f060a392ba882350f7ac5a077..274aab45deb7f94cf7742c32f8bd74e464f99873 100644
--- a/app/assets/javascripts/ci_lint/index.js
+++ b/app/assets/javascripts/ci_lint/index.js
@@ -8,9 +8,7 @@ import CiLint from './components/ci_lint.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(resolvers, {
-    assumeImmutableResults: true,
-  }),
+  defaultClient: createDefaultClient(resolvers),
 });
 
 export default (containerId = '#js-ci-lint') => {
diff --git a/app/assets/javascripts/clusters/agents/index.js b/app/assets/javascripts/clusters/agents/index.js
index ec6b6c6fc3570079a82b6454242442fb1feda7dd..bcb5b2712037b7b7125bed8f52dd667b1017ceb0 100644
--- a/app/assets/javascripts/clusters/agents/index.js
+++ b/app/assets/javascripts/clusters/agents/index.js
@@ -12,12 +12,7 @@ export default () => {
     return null;
   }
 
-  const defaultClient = createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  );
+  const defaultClient = createDefaultClient();
   const { agentName, projectPath } = el.dataset;
 
   return new Vue({
diff --git a/app/assets/javascripts/clusters_list/load_agents.js b/app/assets/javascripts/clusters_list/load_agents.js
index b77d386df203bd94575cf755d4b9ff03367a160b..3f00cabccdb068222153059ed0e46721a74cb9f2 100644
--- a/app/assets/javascripts/clusters_list/load_agents.js
+++ b/app/assets/javascripts/clusters_list/load_agents.js
@@ -8,7 +8,7 @@ export default (Vue, VueApollo) => {
     return null;
   }
 
-  const defaultClient = createDefaultClient({}, { assumeImmutableResults: true });
+  const defaultClient = createDefaultClient();
 
   const {
     emptyStateImage,
diff --git a/app/assets/javascripts/design_management/graphql.js b/app/assets/javascripts/design_management/graphql.js
index fa57537f74e8c35a98748314932a4a936172934c..5cf32cb7fe3d80251c10754ae4e7dedb63f2b94a 100644
--- a/app/assets/javascripts/design_management/graphql.js
+++ b/app/assets/javascripts/design_management/graphql.js
@@ -88,7 +88,6 @@ const defaultClient = createDefaultClient(
       fragmentMatcher,
     },
     typeDefs,
-    assumeImmutableResults: true,
   },
 );
 
diff --git a/app/assets/javascripts/environments/folder/environments_folder_bundle.js b/app/assets/javascripts/environments/folder/environments_folder_bundle.js
index f248e9ec0794d54ff77aea3b8db2dc557f962f27..206381e0b7ea42f48beefadd55858b36956413dc 100644
--- a/app/assets/javascripts/environments/folder/environments_folder_bundle.js
+++ b/app/assets/javascripts/environments/folder/environments_folder_bundle.js
@@ -8,7 +8,7 @@ Vue.use(Translate);
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/app/assets/javascripts/environments/graphql/client.js b/app/assets/javascripts/environments/graphql/client.js
index 498163c7abc750877e493e4e6bce43a99139d3ba..c734c2fba0cb26520de3bf9ab98574e5b5198eef 100644
--- a/app/assets/javascripts/environments/graphql/client.js
+++ b/app/assets/javascripts/environments/graphql/client.js
@@ -2,16 +2,12 @@ import VueApollo from 'vue-apollo';
 import createDefaultClient from '~/lib/graphql';
 import environmentApp from './queries/environmentApp.query.graphql';
 import { resolvers } from './resolvers';
-import typedefs from './typedefs.graphql';
+import typeDefs from './typedefs.graphql';
 
 export const apolloProvider = (endpoint) => {
-  const defaultClient = createDefaultClient(
-    resolvers(endpoint),
-    {
-      assumeImmutableResults: true,
-    },
-    typedefs,
-  );
+  const defaultClient = createDefaultClient(resolvers(endpoint), {
+    typeDefs,
+  });
   const { cache } = defaultClient;
 
   cache.writeQuery({
diff --git a/app/assets/javascripts/environments/index.js b/app/assets/javascripts/environments/index.js
index 99a1d12adf7aab4ec61d5fff73bed19058ef5a96..3b1d35c1f22687a203f1e9ebbf8dc1ec122a3f55 100644
--- a/app/assets/javascripts/environments/index.js
+++ b/app/assets/javascripts/environments/index.js
@@ -9,7 +9,7 @@ Vue.use(Translate);
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default (el) => {
diff --git a/app/assets/javascripts/error_tracking/details.js b/app/assets/javascripts/error_tracking/details.js
index 38245210b709aadc788cb886de9508c77929daea..37b8007d556a2319330195623da1d2de71ca04bf 100644
--- a/app/assets/javascripts/error_tracking/details.js
+++ b/app/assets/javascripts/error_tracking/details.js
@@ -20,12 +20,7 @@ export default () => {
   } = domEl.dataset;
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient(
-      {},
-      {
-        assumeImmutableResults: true,
-      },
-    ),
+    defaultClient: createDefaultClient(),
   });
 
   // eslint-disable-next-line no-new
diff --git a/app/assets/javascripts/import_entities/import_groups/graphql/client_factory.js b/app/assets/javascripts/import_entities/import_groups/graphql/client_factory.js
index c08cf909a00b562a0e39711b681b031fc2d6f5b4..6eca530b49cbac7d8bc3e85827387b88d1be0148 100644
--- a/app/assets/javascripts/import_entities/import_groups/graphql/client_factory.js
+++ b/app/assets/javascripts/import_entities/import_groups/graphql/client_factory.js
@@ -376,8 +376,4 @@ export function createResolvers({ endpoints, sourceUrl, GroupsManager = SourceGr
 }
 
 export const createApolloClient = ({ sourceUrl, endpoints }) =>
-  createDefaultClient(
-    createResolvers({ sourceUrl, endpoints }),
-    { assumeImmutableResults: true },
-    typeDefs,
-  );
+  createDefaultClient(createResolvers({ sourceUrl, endpoints }), { typeDefs });
diff --git a/app/assets/javascripts/incidents/list.js b/app/assets/javascripts/incidents/list.js
index 6e6461cd7a90e3844a8c8b8dcda0a2bbd5b992e5..8644ff3a249b0d363be4d0badb2df4cfe672d170 100644
--- a/app/assets/javascripts/incidents/list.js
+++ b/app/assets/javascripts/incidents/list.js
@@ -24,7 +24,7 @@ export default () => {
   } = domEl.dataset;
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   return new Vue({
diff --git a/app/assets/javascripts/issuable_suggestions/index.js b/app/assets/javascripts/issuable_suggestions/index.js
index 22a99a177418abd38e6de98be563d84720f5322d..8f7f317d6b45c02395254c4e7206e52c3a5d9899 100644
--- a/app/assets/javascripts/issuable_suggestions/index.js
+++ b/app/assets/javascripts/issuable_suggestions/index.js
@@ -10,12 +10,7 @@ export default function initIssuableSuggestions() {
   const issueTitle = document.getElementById('issue_title');
   const { projectPath } = el.dataset;
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient(
-      {},
-      {
-        assumeImmutableResults: true,
-      },
-    ),
+    defaultClient: createDefaultClient(),
   });
 
   return new Vue({
diff --git a/app/assets/javascripts/issues_list/index.js b/app/assets/javascripts/issues_list/index.js
index 421d6b35919eabd95da4f010253d453d11c4a24d..59034964afb18fe49615ede3cc534c5e13b0a998 100644
--- a/app/assets/javascripts/issues_list/index.js
+++ b/app/assets/javascripts/issues_list/index.js
@@ -24,7 +24,7 @@ export function mountJiraIssuesListApp() {
   }
 
   Vue.use(VueApollo);
-  const defaultClient = createDefaultClient({}, { assumeImmutableResults: true });
+  const defaultClient = createDefaultClient();
   const apolloProvider = new VueApollo({
     defaultClient,
   });
@@ -103,7 +103,7 @@ export function mountIssuesListApp() {
     },
   };
 
-  const defaultClient = createDefaultClient(resolvers, { assumeImmutableResults: true });
+  const defaultClient = createDefaultClient(resolvers);
   const apolloProvider = new VueApollo({
     defaultClient,
   });
diff --git a/app/assets/javascripts/jira_connect/branches/index.js b/app/assets/javascripts/jira_connect/branches/index.js
index 95bd4f5c6752f8a31f5e29ab5e42fac9650bbce0..04510fcff4bfc8a611da8087c0e26942591aaa8e 100644
--- a/app/assets/javascripts/jira_connect/branches/index.js
+++ b/app/assets/javascripts/jira_connect/branches/index.js
@@ -14,12 +14,7 @@ export default async function initJiraConnectBranches() {
   const { initialBranchName, successStateSvgPath } = el.dataset;
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient(
-      {},
-      {
-        assumeImmutableResults: true,
-      },
-    ),
+    defaultClient: createDefaultClient(),
   });
 
   return new Vue({
diff --git a/app/assets/javascripts/jira_import/index.js b/app/assets/javascripts/jira_import/index.js
index 003f3c7107e23f228e15952b83ee51ce1e6ded13..695a237bf5047a17319cd6d6e9f454022020c359 100644
--- a/app/assets/javascripts/jira_import/index.js
+++ b/app/assets/javascripts/jira_import/index.js
@@ -6,7 +6,7 @@ import App from './components/jira_import_app.vue';
 
 Vue.use(VueApollo);
 
-const defaultClient = createDefaultClient({}, { assumeImmutableResults: true });
+const defaultClient = createDefaultClient();
 
 const apolloProvider = new VueApollo({
   defaultClient,
diff --git a/app/assets/javascripts/jobs/components/table/index.js b/app/assets/javascripts/jobs/components/table/index.js
index cec871ddbb4958d47ddef33d32e1840adcf3b9a0..f24daf90815d421ac82e5cdb73b5ad8bbed783a0 100644
--- a/app/assets/javascripts/jobs/components/table/index.js
+++ b/app/assets/javascripts/jobs/components/table/index.js
@@ -9,12 +9,7 @@ Vue.use(VueApollo);
 Vue.use(GlToast);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
 
 export default (containerId = 'js-jobs-table') => {
diff --git a/app/assets/javascripts/lib/graphql.js b/app/assets/javascripts/lib/graphql.js
index 39bf804b54e78e42afcdc20808fd7a56508341c2..df2e85afe24200ca8c7d80f522a51b06060dbe34 100644
--- a/app/assets/javascripts/lib/graphql.js
+++ b/app/assets/javascripts/lib/graphql.js
@@ -48,7 +48,6 @@ export const stripWhitespaceFromQuery = (url, path) => {
 
 export default (resolvers = {}, config = {}) => {
   const {
-    assumeImmutableResults,
     baseUrl,
     batchMax = 10,
     cacheConfig,
@@ -161,10 +160,10 @@ export default (resolvers = {}, config = {}) => {
     link: appLink,
     cache: new InMemoryCache({
       ...cacheConfig,
-      freezeResults: assumeImmutableResults,
+      freezeResults: true,
     }),
     resolvers,
-    assumeImmutableResults,
+    assumeImmutableResults: true,
     defaultOptions: {
       query: {
         fetchPolicy,
diff --git a/app/assets/javascripts/mr_popover/index.js b/app/assets/javascripts/mr_popover/index.js
index 6e46c5d3c1f85c4de90f332f2e6f1e72670b5efc..714cf67e0bd5549bca1183254359e9ee0e156f23 100644
--- a/app/assets/javascripts/mr_popover/index.js
+++ b/app/assets/javascripts/mr_popover/index.js
@@ -48,12 +48,7 @@ export default (elements) => {
     Vue.use(VueApollo);
 
     const apolloProvider = new VueApollo({
-      defaultClient: createDefaultClient(
-        {},
-        {
-          assumeImmutableResults: true,
-        },
-      ),
+      defaultClient: createDefaultClient(),
     });
     const listenerAddedAttr = 'data-mr-listener-added';
 
diff --git a/app/assets/javascripts/packages_and_registries/dependency_proxy/graphql/index.js b/app/assets/javascripts/packages_and_registries/dependency_proxy/graphql/index.js
index 16152eb81f69886485ef17a6b8d650b52bd9f3c8..56f95fa2c1f31fc68e5bf4b467b40b9d94d29258 100644
--- a/app/assets/javascripts/packages_and_registries/dependency_proxy/graphql/index.js
+++ b/app/assets/javascripts/packages_and_registries/dependency_proxy/graphql/index.js
@@ -5,10 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/graphql/index.js b/app/assets/javascripts/packages_and_registries/package_registry/graphql/index.js
index f8cb5c516e2e5ce193826bc9de22341b1384367f..21d6fbc9e1fd67f56f2fdea9e73aa4d50338c095 100644
--- a/app/assets/javascripts/packages_and_registries/package_registry/graphql/index.js
+++ b/app/assets/javascripts/packages_and_registries/package_registry/graphql/index.js
@@ -17,7 +17,6 @@ export const apolloProvider = new VueApollo({
       cacheConfig: {
         fragmentMatcher,
       },
-      assumeImmutableResults: true,
     },
   ),
 });
diff --git a/app/assets/javascripts/packages_and_registries/settings/group/graphql/index.js b/app/assets/javascripts/packages_and_registries/settings/group/graphql/index.js
index 16152eb81f69886485ef17a6b8d650b52bd9f3c8..56f95fa2c1f31fc68e5bf4b467b40b9d94d29258 100644
--- a/app/assets/javascripts/packages_and_registries/settings/group/graphql/index.js
+++ b/app/assets/javascripts/packages_and_registries/settings/group/graphql/index.js
@@ -5,10 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
diff --git a/app/assets/javascripts/packages_and_registries/settings/project/graphql/index.js b/app/assets/javascripts/packages_and_registries/settings/project/graphql/index.js
index 16152eb81f69886485ef17a6b8d650b52bd9f3c8..56f95fa2c1f31fc68e5bf4b467b40b9d94d29258 100644
--- a/app/assets/javascripts/packages_and_registries/settings/project/graphql/index.js
+++ b/app/assets/javascripts/packages_and_registries/settings/project/graphql/index.js
@@ -5,10 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
diff --git a/app/assets/javascripts/pages/projects/blob/show/index.js b/app/assets/javascripts/pages/projects/blob/show/index.js
index 80bcbefab463c8328dafa6a596f60dfcd6ca8c4b..b365e039191349fcd6fd6dda54499b6655b0ff77 100644
--- a/app/assets/javascripts/pages/projects/blob/show/index.js
+++ b/app/assets/javascripts/pages/projects/blob/show/index.js
@@ -14,7 +14,7 @@ import '~/sourcegraph/load';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 const viewBlobEl = document.querySelector('#js-view-blob-app');
diff --git a/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js b/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js
index 194e273e26139ebb7a4279eb3e7adb4baa340e6d..99094617b0a7106485ac6a65cf76cd3270280b5e 100644
--- a/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js
+++ b/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js
@@ -28,7 +28,7 @@ export default function initMergeRequestShow() {
 
   const el = document.querySelector('.js-mr-status-box');
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
   // eslint-disable-next-line no-new
   new Vue({
diff --git a/app/assets/javascripts/pages/shared/mount_runner_instructions.js b/app/assets/javascripts/pages/shared/mount_runner_instructions.js
index 1cb7259be64b03f068d955fa9411596e1280a91e..e83c73edfde9df2b9ed7d59da4f33a9d4d358fa9 100644
--- a/app/assets/javascripts/pages/shared/mount_runner_instructions.js
+++ b/app/assets/javascripts/pages/shared/mount_runner_instructions.js
@@ -9,12 +9,7 @@ export function initInstallRunner(componentId = 'js-install-runner') {
   const installRunnerEl = document.getElementById(componentId);
 
   if (installRunnerEl) {
-    const defaultClient = createDefaultClient(
-      {},
-      {
-        assumeImmutableResults: true,
-      },
-    );
+    const defaultClient = createDefaultClient();
 
     const apolloProvider = new VueApollo({
       defaultClient,
diff --git a/app/assets/javascripts/pipeline_editor/index.js b/app/assets/javascripts/pipeline_editor/index.js
index 58dc71d981f8cb272a54383ad7699c9e1d41e79d..4f7f2743aca4c8707e7ff5678bfa8e03598e976f 100644
--- a/app/assets/javascripts/pipeline_editor/index.js
+++ b/app/assets/javascripts/pipeline_editor/index.js
@@ -61,7 +61,6 @@ export const initPipelineEditor = (selector = '#js-pipeline-editor') => {
     defaultClient: createDefaultClient(resolvers, {
       typeDefs,
       useGet: true,
-      assumeImmutableResults: true,
     }),
   });
   const { cache } = apolloProvider.clients.defaultClient;
diff --git a/app/assets/javascripts/pipelines/pipeline_shared_client.js b/app/assets/javascripts/pipelines/pipeline_shared_client.js
index 7a922acd0b3bc54f8d01917be5fe536ff60977c6..c3be487caae2bebc6ae5b9a76dd0dba24fc9c938 100644
--- a/app/assets/javascripts/pipelines/pipeline_shared_client.js
+++ b/app/assets/javascripts/pipelines/pipeline_shared_client.js
@@ -5,7 +5,6 @@ export const apolloProvider = new VueApollo({
   defaultClient: createDefaultClient(
     {},
     {
-      assumeImmutableResults: true,
       useGet: true,
     },
   ),
diff --git a/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js b/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js
index 2505c47147fd21076b0c00db3bd339fc90651232..1d4ec4c110b7c5e46801c57ec98a93fb2734f3dc 100644
--- a/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js
+++ b/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js
@@ -5,12 +5,7 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
 
 export const initCommitPipelineMiniGraph = async (selector = '.js-commit-pipeline-mini-graph') => {
diff --git a/app/assets/javascripts/projects/new/index.js b/app/assets/javascripts/projects/new/index.js
index 572d3276e4f917915ddd213bd1bacf670f935682..010c6a29ae38f5fb3a0f8bf6a1f81ae99c7e94b4 100644
--- a/app/assets/javascripts/projects/new/index.js
+++ b/app/assets/javascripts/projects/new/index.js
@@ -50,7 +50,7 @@ export function initNewProjectUrlSelect() {
       new Vue({
         el,
         apolloProvider: new VueApollo({
-          defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+          defaultClient: createDefaultClient(),
         }),
         provide: {
           namespaceFullPath: el.dataset.namespaceFullPath,
diff --git a/app/assets/javascripts/projects/pipelines/charts/index.js b/app/assets/javascripts/projects/pipelines/charts/index.js
index f7ea89068a0cec2c283b2df5fae8fe10ee87a5fa..5f5ee44c2048ddc525d945f6e842a79068cf569e 100644
--- a/app/assets/javascripts/projects/pipelines/charts/index.js
+++ b/app/assets/javascripts/projects/pipelines/charts/index.js
@@ -7,7 +7,7 @@ import ProjectPipelinesCharts from './components/app.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 const mountPipelineChartsApp = (el) => {
diff --git a/app/assets/javascripts/projects/storage_counter/index.js b/app/assets/javascripts/projects/storage_counter/index.js
index 10668f08402b133f8cedb9d06c18b347077180e8..15796bc187089e4dc760f37a4e0c9ad997c4bdaa 100644
--- a/app/assets/javascripts/projects/storage_counter/index.js
+++ b/app/assets/javascripts/projects/storage_counter/index.js
@@ -25,7 +25,7 @@ export default (containerId = 'js-project-storage-count-app') => {
   } = el.dataset;
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   return new Vue({
diff --git a/app/assets/javascripts/projects/terraform_notification/index.js b/app/assets/javascripts/projects/terraform_notification/index.js
index 21c8d09b7fc6118ef6019641703d4f315c82e603..362e71ed902b4a9ecfda49df5d75fdbc3899f46c 100644
--- a/app/assets/javascripts/projects/terraform_notification/index.js
+++ b/app/assets/javascripts/projects/terraform_notification/index.js
@@ -6,7 +6,7 @@ import TerraformNotification from './components/terraform_notification.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmtableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/app/assets/javascripts/registry/explorer/graphql/index.js b/app/assets/javascripts/registry/explorer/graphql/index.js
index d934bcc7419765487b7a82aeb37bb746f59a2ac4..9694bfd4e7731963b756730f3920b75deb473886 100644
--- a/app/assets/javascripts/registry/explorer/graphql/index.js
+++ b/app/assets/javascripts/registry/explorer/graphql/index.js
@@ -9,7 +9,6 @@ export const apolloProvider = new VueApollo({
     {},
     {
       batchMax: 1,
-      assumeImmutableResults: true,
     },
   ),
 });
diff --git a/app/assets/javascripts/releases/mount_index.js b/app/assets/javascripts/releases/mount_index.js
index 59f6ebfc928ee4237401bbbaaa762eaf0724aff7..86fa72d1496a6a95e799bc05a50c17e9c35d02a6 100644
--- a/app/assets/javascripts/releases/mount_index.js
+++ b/app/assets/javascripts/releases/mount_index.js
@@ -24,7 +24,6 @@ export default () => {
           // the purpose of making separate requests. So we explicitly
           // disable batching on this page.
           batchMax: 1,
-          assumeImmutableResults: true,
         },
       ),
     });
diff --git a/app/assets/javascripts/releases/mount_show.js b/app/assets/javascripts/releases/mount_show.js
index 686f9e294b7eeff65f92ec6120df73d7f8a39bb4..7272880197aa8c1b50d5ca84b7d33119e8efa6e8 100644
--- a/app/assets/javascripts/releases/mount_show.js
+++ b/app/assets/javascripts/releases/mount_show.js
@@ -6,12 +6,7 @@ import ReleaseShowApp from './components/app_show.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/app/assets/javascripts/repository/graphql.js b/app/assets/javascripts/repository/graphql.js
index 4892e54ebeff76ebd2853a0f3ddba67f0c032188..96d712ce9b4ff5d1e8e208002c67e4c911390011 100644
--- a/app/assets/javascripts/repository/graphql.js
+++ b/app/assets/javascripts/repository/graphql.js
@@ -64,7 +64,6 @@ const defaultClient = createDefaultClient(
         /* eslint-enable @gitlab/require-i18n-strings */
       },
     },
-    assumeImmutableResults: true,
   },
 );
 
diff --git a/app/assets/javascripts/runner/admin_runners/index.js b/app/assets/javascripts/runner/admin_runners/index.js
index 84527032694a278393b3f111259e0716819e3ecc..9d80eec6f54daf1a34b1a2b5301331eeb5170623 100644
--- a/app/assets/javascripts/runner/admin_runners/index.js
+++ b/app/assets/javascripts/runner/admin_runners/index.js
@@ -19,12 +19,7 @@ export const initAdminRunners = (selector = '#js-admin-runners') => {
   const { activeRunnersCount, registrationToken, runnerInstallHelpPage } = el.dataset;
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient(
-      {},
-      {
-        assumeImmutableResults: true,
-      },
-    ),
+    defaultClient: createDefaultClient(),
   });
 
   return new Vue({
diff --git a/app/assets/javascripts/runner/group_runners/index.js b/app/assets/javascripts/runner/group_runners/index.js
index 959e8a4feddcf2905f97d1bd64302c7bd883bbb2..60b7a7ab5415acb02cc266a43c6f79985e5ccee0 100644
--- a/app/assets/javascripts/runner/group_runners/index.js
+++ b/app/assets/javascripts/runner/group_runners/index.js
@@ -23,12 +23,7 @@ export const initGroupRunners = (selector = '#js-group-runners') => {
   } = el.dataset;
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient(
-      {},
-      {
-        assumeImmutableResults: true,
-      },
-    ),
+    defaultClient: createDefaultClient(),
   });
 
   return new Vue({
diff --git a/app/assets/javascripts/runner/runner_details/index.js b/app/assets/javascripts/runner/runner_details/index.js
index 05e6f86869d3e4508d380114e962f88b3735e5c6..db8f239a3c3d46bce9ca93c228b33e9dd90ab88b 100644
--- a/app/assets/javascripts/runner/runner_details/index.js
+++ b/app/assets/javascripts/runner/runner_details/index.js
@@ -15,12 +15,7 @@ export const initRunnerDetail = (selector = '#js-runner-details') => {
   const { runnerId } = el.dataset;
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient(
-      {},
-      {
-        assumeImmutableResults: true,
-      },
-    ),
+    defaultClient: createDefaultClient(),
   });
 
   return new Vue({
diff --git a/app/assets/javascripts/security_configuration/index.js b/app/assets/javascripts/security_configuration/index.js
index 60d2c0d4e5abb1f06903489efe4e2f24a85a28f9..a8623b468f2858e8fcec9e5c3b0f22146abf2e2b 100644
--- a/app/assets/javascripts/security_configuration/index.js
+++ b/app/assets/javascripts/security_configuration/index.js
@@ -14,7 +14,7 @@ export const initSecurityConfiguration = (el) => {
   Vue.use(VueApollo);
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   const {
diff --git a/app/assets/javascripts/sidebar/graphql.js b/app/assets/javascripts/sidebar/graphql.js
index 1a806a051b7ddad3b798c21d7847b07d202c9d82..6a670db2d387f3fdd0c08309e81c40ed030b2787 100644
--- a/app/assets/javascripts/sidebar/graphql.js
+++ b/app/assets/javascripts/sidebar/graphql.js
@@ -25,7 +25,6 @@ export const defaultClient = createDefaultClient(resolvers, {
   cacheConfig: {
     fragmentMatcher,
   },
-  assumeImmutableResults: true,
 });
 
 export const apolloProvider = new VueApollo({
diff --git a/app/assets/javascripts/snippets/index.js b/app/assets/javascripts/snippets/index.js
index 8e7368ef804143b22c99014b2d266498d9b9b167..21f38c4d8c9748ff4e6672fc5c16dd84e803df40 100644
--- a/app/assets/javascripts/snippets/index.js
+++ b/app/assets/javascripts/snippets/index.js
@@ -18,7 +18,6 @@ export default function appFactory(el, Component) {
       {},
       {
         batchMax: 1,
-        assumeImmutableResults: true,
       },
     ),
   });
diff --git a/app/assets/javascripts/static_site_editor/graphql/index.js b/app/assets/javascripts/static_site_editor/graphql/index.js
index 2ae2baddbcc0347ef61a1e4f3467ee3db5d38a2c..53572e680e514718fb82c0fb2d8d38feef1fd31e 100644
--- a/app/assets/javascripts/static_site_editor/graphql/index.js
+++ b/app/assets/javascripts/static_site_editor/graphql/index.js
@@ -22,7 +22,6 @@ const createApolloProvider = (appData) => {
     },
     {
       typeDefs,
-      assumeImmutableResults: true,
     },
   );
 
diff --git a/app/assets/javascripts/terraform/index.js b/app/assets/javascripts/terraform/index.js
index 013b95c5633705dd8097842643df280a350abee8..1b8cab0d51e9aa4ea90aec305d32d1246d9370d2 100644
--- a/app/assets/javascripts/terraform/index.js
+++ b/app/assets/javascripts/terraform/index.js
@@ -22,7 +22,6 @@ export default () => {
         return object.id || defaultDataIdFromObject(object);
       },
     },
-    assumeImmutableResults: true,
   });
 
   const { emptyStateImage, projectPath, accessTokensPath, terraformApiUrl, username } = el.dataset;
diff --git a/app/assets/javascripts/token_access/index.js b/app/assets/javascripts/token_access/index.js
index 8d29a65d705adbd44c8275fb6923e0f324009008..6a29883290ae346671391611105790105fd40cca 100644
--- a/app/assets/javascripts/token_access/index.js
+++ b/app/assets/javascripts/token_access/index.js
@@ -6,7 +6,7 @@ import TokenAccess from './components/token_access.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export const initTokenAccess = (containerId = 'js-ci-token-access-app') => {
diff --git a/app/assets/javascripts/vue_merge_request_widget/index.js b/app/assets/javascripts/vue_merge_request_widget/index.js
index f5dbcec7dbeb940d05682cda614437bbc3ac47ab..8d596465970abffeb118aeec22520793a38857fc 100644
--- a/app/assets/javascripts/vue_merge_request_widget/index.js
+++ b/app/assets/javascripts/vue_merge_request_widget/index.js
@@ -13,12 +13,7 @@ Vue.use(Translate);
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/app/assets/javascripts/vue_shared/alert_details/index.js b/app/assets/javascripts/vue_shared/alert_details/index.js
index fda405c0fa51ea60cdecab8645073f720881e9ae..9f1da9ae1739546cec7573dd8167879b4fe0ec5c 100644
--- a/app/assets/javascripts/vue_shared/alert_details/index.js
+++ b/app/assets/javascripts/vue_shared/alert_details/index.js
@@ -38,7 +38,6 @@ export default (selector) => {
           return defaultDataIdFromObject(object);
         },
       },
-      assumeImmutableResults: true,
     }),
   });
 
diff --git a/app/assets/javascripts/vue_shared/security_configuration/provider.js b/app/assets/javascripts/vue_shared/security_configuration/provider.js
index fa23669b615ea0b9a18e3ee8fa49d318321b7bbb..ef96b443da8d33b03b587827a13b5d9c53a40fd3 100644
--- a/app/assets/javascripts/vue_shared/security_configuration/provider.js
+++ b/app/assets/javascripts/vue_shared/security_configuration/provider.js
@@ -5,5 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export default new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
diff --git a/app/assets/javascripts/work_items/graphql/provider.js b/app/assets/javascripts/work_items/graphql/provider.js
index 2547b81bbd29841106c78cbaaee0b05ed87b15d1..083735336ce5745dd9ba58b0fdb0da445e2c558f 100644
--- a/app/assets/javascripts/work_items/graphql/provider.js
+++ b/app/assets/javascripts/work_items/graphql/provider.js
@@ -4,6 +4,7 @@ import { IntrospectionFragmentMatcher } from 'apollo-cache-inmemory';
 import createDefaultClient from '~/lib/graphql';
 import workItemQuery from './work_item.query.graphql';
 import introspectionQueryResultData from './fragmentTypes.json';
+import typeDefs from './typedefs.graphql';
 
 const fragmentMatcher = new IntrospectionFragmentMatcher({
   introspectionQueryResultData,
@@ -18,7 +19,7 @@ export function createApolloProvider() {
       cacheConfig: {
         fragmentMatcher,
       },
-      assumeImmutableResults: true,
+      typeDefs,
     },
   );
 
diff --git a/doc/development/fe_guide/graphql.md b/doc/development/fe_guide/graphql.md
index 0229aa0123af2b04ff41593aa5a6fec08fd60107..683b3bc61cdd5a3f03dcf43d61260a3f2be85316 100644
--- a/doc/development/fe_guide/graphql.md
+++ b/doc/development/fe_guide/graphql.md
@@ -103,7 +103,6 @@ Default client accepts two parameters: `resolvers` and `config`.
 - `config` parameter takes an object of configuration settings:
   - `cacheConfig` field accepts an optional object of settings to [customize Apollo cache](https://www.apollographql.com/docs/react/caching/cache-configuration/#configuring-the-cache)
   - `baseUrl` allows us to pass a URL for GraphQL endpoint different from our main endpoint (for example, `${gon.relative_url_root}/api/graphql`)
-  - `assumeImmutableResults` (set to `false` by default) - this setting, when set to `true`, assumes that every single operation on updating Apollo Cache is immutable. It also sets `freezeResults` to `true`, so any attempt on mutating Apollo Cache throws a console warning in development environment. Please ensure you're following the immutability pattern on cache update operations before setting this option to `true`.
   - `fetchPolicy` determines how you want your component to interact with the Apollo cache. Defaults to "cache-first".
 
 ### Multiple client queries for the same object
@@ -179,7 +178,7 @@ with a **new and updated** object.
 
 To facilitate the process of updating the cache and returning the new object we
 use the library [Immer](https://immerjs.github.io/immer/).
-When possible, follow these conventions:
+Please, follow these conventions:
 
 - The updated cache is named `data`.
 - The original cache data is named `sourceData`.
@@ -204,11 +203,6 @@ client.writeQuery({
 As shown in the code example by using `produce`, we can perform any kind of direct manipulation of the
 `draftState`. Besides, `immer` guarantees that a new state which includes the changes to `draftState` is generated.
 
-Finally, to verify whether the immutable cache update is working properly, we need to change
-`assumeImmutableResults` to `true` in the default client configuration. See [Apollo Client](#apollo-client) for more information.
-
-If everything is working properly `assumeImmutableResults` should remain set to `true`.
-
 ## Usage in Vue
 
 To use Vue Apollo, import the [Vue Apollo](https://github.com/vuejs/vue-apollo) plugin as well
diff --git a/ee/app/assets/javascripts/admin/subscriptions/show/mount_cloud_licenses.js b/ee/app/assets/javascripts/admin/subscriptions/show/mount_cloud_licenses.js
index 4132de0893c98a23981b12fd0703bfb045cb3352..9750a3e0e2f8341038bd5c6d2ea3a2eadc5235da 100644
--- a/ee/app/assets/javascripts/admin/subscriptions/show/mount_cloud_licenses.js
+++ b/ee/app/assets/javascripts/admin/subscriptions/show/mount_cloud_licenses.js
@@ -8,12 +8,7 @@ import CloudLicenseShowApp from './components/app.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/ee/app/assets/javascripts/analytics/cycle_analytics/index.js b/ee/app/assets/javascripts/analytics/cycle_analytics/index.js
index e9b72d7e1f354a5371509822a6929b9d3673ffa0..d136d481b1ef986f92a00d50d4bdc35e30dccd57 100644
--- a/ee/app/assets/javascripts/analytics/cycle_analytics/index.js
+++ b/ee/app/assets/javascripts/analytics/cycle_analytics/index.js
@@ -14,12 +14,7 @@ Vue.use(GlToast);
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/ee/app/assets/javascripts/analytics/devops_report/devops_adoption/graphql.js b/ee/app/assets/javascripts/analytics/devops_report/devops_adoption/graphql.js
index 4ba232ab23b5bc7227010daedf2f35d628670f10..ebddfa3f9516fbbd897056bd4babaf7bc762b48e 100644
--- a/ee/app/assets/javascripts/analytics/devops_report/devops_adoption/graphql.js
+++ b/ee/app/assets/javascripts/analytics/devops_report/devops_adoption/graphql.js
@@ -34,5 +34,5 @@ export const createResolvers = (groupId) => ({
 
 export const createApolloProvider = (groupId) =>
   new VueApollo({
-    defaultClient: createDefaultClient(createResolvers(groupId), { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(createResolvers(groupId)),
   });
diff --git a/ee/app/assets/javascripts/analytics/group_ci_cd_analytics/index.js b/ee/app/assets/javascripts/analytics/group_ci_cd_analytics/index.js
index d396013267da7194b41dc3421c9048cd0287f69a..4ea949168b5c2d31f0c1976fc7f15e81ab82bdd8 100644
--- a/ee/app/assets/javascripts/analytics/group_ci_cd_analytics/index.js
+++ b/ee/app/assets/javascripts/analytics/group_ci_cd_analytics/index.js
@@ -7,7 +7,7 @@ import CiCdAnalyticsApp from './components/app.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/ee/app/assets/javascripts/analytics/merge_request_analytics/index.js b/ee/app/assets/javascripts/analytics/merge_request_analytics/index.js
index bf9959def7ea5ee42f42707f8598dbf46e403344..946bf7f898be8c7199441a44b7a59740853f65e6 100644
--- a/ee/app/assets/javascripts/analytics/merge_request_analytics/index.js
+++ b/ee/app/assets/javascripts/analytics/merge_request_analytics/index.js
@@ -11,7 +11,7 @@ import { parseAndValidateDates } from './utils';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/ee/app/assets/javascripts/analytics/productivity_analytics/index.js b/ee/app/assets/javascripts/analytics/productivity_analytics/index.js
index 612884da7cee9daeb0af6a70c39f54fb8bb9871d..795bd8b7b8159b06e927480755fd8fb8e8081b42 100644
--- a/ee/app/assets/javascripts/analytics/productivity_analytics/index.js
+++ b/ee/app/assets/javascripts/analytics/productivity_analytics/index.js
@@ -15,7 +15,7 @@ import { getLabelsEndpoint, getMilestonesEndpoint } from './utils';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/ee/app/assets/javascripts/analytics/repository_analytics/index.js b/ee/app/assets/javascripts/analytics/repository_analytics/index.js
index 2f2906cd2eabe38368b96490f50f009b75c1ad58..e5132413dc95530362f92c110e1150889899bd25 100644
--- a/ee/app/assets/javascripts/analytics/repository_analytics/index.js
+++ b/ee/app/assets/javascripts/analytics/repository_analytics/index.js
@@ -6,7 +6,7 @@ import GroupRepositoryAnalytics from './components/group_repository_analytics.vu
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/ee/app/assets/javascripts/burndown_chart/index.js b/ee/app/assets/javascripts/burndown_chart/index.js
index 58fcd753d2de1473577f9f230918e0165455823a..d793f3bf11d75ca14a18f92480e4683e5e83ee23 100644
--- a/ee/app/assets/javascripts/burndown_chart/index.js
+++ b/ee/app/assets/javascripts/burndown_chart/index.js
@@ -9,7 +9,7 @@ import BurnCharts from './components/burn_charts.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/ee/app/assets/javascripts/ci_minutes_usage/index.js b/ee/app/assets/javascripts/ci_minutes_usage/index.js
index 859c1045e0312debe5922b98a8fc87fc84e634f4..03836966b5b02a1116ab51a252b54e7b46bf8d45 100644
--- a/ee/app/assets/javascripts/ci_minutes_usage/index.js
+++ b/ee/app/assets/javascripts/ci_minutes_usage/index.js
@@ -7,7 +7,7 @@ import CiMinutesUsageApp from './components/app.vue';
 const mountCiMinutesUsageApp = (el) => {
   Vue.use(VueApollo);
 
-  const defaultClient = createDefaultClient({}, { assumeImmutableResults: true });
+  const defaultClient = createDefaultClient();
   const apolloProvider = new VueApollo({
     defaultClient,
   });
diff --git a/ee/app/assets/javascripts/epic/new_epic_bundle.js b/ee/app/assets/javascripts/epic/new_epic_bundle.js
index c225bff7dd2bb4661516315f9f23a7900c1a0858..f7f0a2f85f66271ae6ac819e9e285d3e0761c2ac 100644
--- a/ee/app/assets/javascripts/epic/new_epic_bundle.js
+++ b/ee/app/assets/javascripts/epic/new_epic_bundle.js
@@ -6,12 +6,7 @@ import EpicForm from './components/epic_form.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
 
 export function initEpicForm() {
diff --git a/ee/app/assets/javascripts/epic_boards/index.js b/ee/app/assets/javascripts/epic_boards/index.js
index d553b3a718e21541d7e3ee85342e4ef5400d270e..1b0dd8eba236ab846f4c4199e866877d40bee9b8 100644
--- a/ee/app/assets/javascripts/epic_boards/index.js
+++ b/ee/app/assets/javascripts/epic_boards/index.js
@@ -32,7 +32,6 @@ const apolloProvider = new VueApollo({
       cacheConfig: {
         fragmentMatcher,
       },
-      assumeImmutableResults: true,
     },
   ),
 });
diff --git a/ee/app/assets/javascripts/epics_list/epics_list_bundle.js b/ee/app/assets/javascripts/epics_list/epics_list_bundle.js
index 0d3801ec37ca05f2bf98b38137b76d161c411230..f1188f642ad716f7a2d2f6c697d2facee1436b4a 100644
--- a/ee/app/assets/javascripts/epics_list/epics_list_bundle.js
+++ b/ee/app/assets/javascripts/epics_list/epics_list_bundle.js
@@ -18,12 +18,7 @@ export default function initEpicsList({ mountPointSelector }) {
   }
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient(
-      {},
-      {
-        assumeImmutableResults: true,
-      },
-    ),
+    defaultClient: createDefaultClient(),
   });
 
   const {
diff --git a/ee/app/assets/javascripts/escalation_policies/index.js b/ee/app/assets/javascripts/escalation_policies/index.js
index 4a59e436ac2c3e9a34d1efc4877a7d3f57d501c0..519439567d70cec17cf8f60387d924abf715cc7b 100644
--- a/ee/app/assets/javascripts/escalation_policies/index.js
+++ b/ee/app/assets/javascripts/escalation_policies/index.js
@@ -19,7 +19,6 @@ const apolloProvider = new VueApollo({
           return defaultDataIdFromObject(object);
         },
       },
-      assumeImmutableResults: true,
     },
   ),
 });
diff --git a/ee/app/assets/javascripts/external_issues_list/graphql/index.js b/ee/app/assets/javascripts/external_issues_list/graphql/index.js
index 1f35f3be2ff3a76ca5431f069513b6dcb9691fd7..736ef8efed7c33f8c16a350563be83ff5b1c5a2f 100644
--- a/ee/app/assets/javascripts/external_issues_list/graphql/index.js
+++ b/ee/app/assets/javascripts/external_issues_list/graphql/index.js
@@ -11,7 +11,7 @@ export default (externalIssuesQueryResolver) => {
     },
   };
 
-  const defaultClient = createDefaultClient(resolvers, { assumeImmutableResults: true });
+  const defaultClient = createDefaultClient(resolvers);
 
   return new VueApollo({
     defaultClient,
diff --git a/ee/app/assets/javascripts/groups/settings/compliance_frameworks/init_form.js b/ee/app/assets/javascripts/groups/settings/compliance_frameworks/init_form.js
index 3358f909652a105c3f6918fb3de7e0e34d15261c..ad30efc815bd03d59fcd568569976603146501cc 100644
--- a/ee/app/assets/javascripts/groups/settings/compliance_frameworks/init_form.js
+++ b/ee/app/assets/javascripts/groups/settings/compliance_frameworks/init_form.js
@@ -9,7 +9,7 @@ import EditForm from './components/edit_form.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 const createComplianceFrameworksFormApp = (el) => {
diff --git a/ee/app/assets/javascripts/groups/settings/compliance_frameworks/init_list.js b/ee/app/assets/javascripts/groups/settings/compliance_frameworks/init_list.js
index 067c015f43b03ed4ad11992afb0f2fac0e9667e5..1ddbdd1c46792ab608edd9099e22929829a082c3 100644
--- a/ee/app/assets/javascripts/groups/settings/compliance_frameworks/init_list.js
+++ b/ee/app/assets/javascripts/groups/settings/compliance_frameworks/init_list.js
@@ -7,7 +7,7 @@ import Form from './components/list.vue';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 const createComplianceFrameworksListApp = (el) => {
diff --git a/ee/app/assets/javascripts/iterations/index.js b/ee/app/assets/javascripts/iterations/index.js
index 509b3aec8639dc96f4bc55545c3b549c57b9c72b..03bf0b478e3c9b0431d760e4314ca6bc80781832 100644
--- a/ee/app/assets/javascripts/iterations/index.js
+++ b/ee/app/assets/javascripts/iterations/index.js
@@ -19,7 +19,6 @@ const apolloProvider = new VueApollo({
     {},
     {
       batchMax: 1,
-      assumeImmutableResults: true,
     },
   ),
 });
diff --git a/ee/app/assets/javascripts/on_demand_scans/graphql/provider.js b/ee/app/assets/javascripts/on_demand_scans/graphql/provider.js
index 92a178c442b2c9cac5b166bc298a72da598ae3d7..9153c5252b359d27bc54a650272d06f95dbf94d2 100644
--- a/ee/app/assets/javascripts/on_demand_scans/graphql/provider.js
+++ b/ee/app/assets/javascripts/on_demand_scans/graphql/provider.js
@@ -4,12 +4,7 @@ import createDefaultClient from '~/lib/graphql';
 
 Vue.use(VueApollo);
 
-const defaultClient = createDefaultClient(
-  {},
-  {
-    assumeImmutableResults: true,
-  },
-);
+const defaultClient = createDefaultClient();
 
 export default new VueApollo({
   defaultClient,
diff --git a/ee/app/assets/javascripts/on_demand_scans_form/graphql/provider.js b/ee/app/assets/javascripts/on_demand_scans_form/graphql/provider.js
index fa23669b615ea0b9a18e3ee8fa49d318321b7bbb..ef96b443da8d33b03b587827a13b5d9c53a40fd3 100644
--- a/ee/app/assets/javascripts/on_demand_scans_form/graphql/provider.js
+++ b/ee/app/assets/javascripts/on_demand_scans_form/graphql/provider.js
@@ -5,5 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export default new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
diff --git a/ee/app/assets/javascripts/oncall_schedules/graphql.js b/ee/app/assets/javascripts/oncall_schedules/graphql.js
index 74b777ca08623428093ebadc5c6c105bc0de4d98..db8ebb6f0eebbfd8bf432560177b143c99413c63 100644
--- a/ee/app/assets/javascripts/oncall_schedules/graphql.js
+++ b/ee/app/assets/javascripts/oncall_schedules/graphql.js
@@ -19,8 +19,5 @@ const resolvers = {
 };
 
 export default new VueApollo({
-  defaultClient: createDefaultClient(resolvers, {
-    cacheConfig: {},
-    assumeImmutableResults: true,
-  }),
+  defaultClient: createDefaultClient(resolvers),
 });
diff --git a/ee/app/assets/javascripts/pages/projects/edit/merge_options.js b/ee/app/assets/javascripts/pages/projects/edit/merge_options.js
index 4a7ba2b120fbb7353ebd5e429260b74e8edae037..67697d384d0531419e64b86f5f5764866396ce6a 100644
--- a/ee/app/assets/javascripts/pages/projects/edit/merge_options.js
+++ b/ee/app/assets/javascripts/pages/projects/edit/merge_options.js
@@ -47,7 +47,7 @@ const fetchMergeOptions = () => {
   const containerEl = document.querySelector('#project-merge-options');
   const { projectFullPath } = containerEl.dataset;
 
-  const defaultClient = createDefaultClient({}, { assumeImmutableResults: true });
+  const defaultClient = createDefaultClient();
 
   return defaultClient
     .query({
diff --git a/ee/app/assets/javascripts/requirements/requirements_bundle.js b/ee/app/assets/javascripts/requirements/requirements_bundle.js
index c39da06c0b7906df73083995554e3d64e282ff7d..a0179d22d298e5b0413ac40387079df7ce078f12 100644
--- a/ee/app/assets/javascripts/requirements/requirements_bundle.js
+++ b/ee/app/assets/javascripts/requirements/requirements_bundle.js
@@ -34,7 +34,6 @@ export default () => {
             object.__typename === 'Requirement' ? object.iid : defaultDataIdFromObject(object),
           fragmentMatcher,
         },
-        assumeImmutableResults: true,
       },
     ),
   });
diff --git a/ee/app/assets/javascripts/roadmap/roadmap_bundle.js b/ee/app/assets/javascripts/roadmap/roadmap_bundle.js
index 4f1d76e752e194c5991fb230ba43642357255c02..78261da8df13347628c0c09a5db8ac39d4aeb18f 100644
--- a/ee/app/assets/javascripts/roadmap/roadmap_bundle.js
+++ b/ee/app/assets/javascripts/roadmap/roadmap_bundle.js
@@ -30,7 +30,7 @@ export default () => {
   }
 
   Vue.use(VueApollo);
-  const defaultClient = createDefaultClient({}, { assumeImmutableResults: true });
+  const defaultClient = createDefaultClient();
   const apolloProvider = new VueApollo({
     defaultClient,
   });
diff --git a/ee/app/assets/javascripts/security_configuration/api_fuzzing/graphql/provider.js b/ee/app/assets/javascripts/security_configuration/api_fuzzing/graphql/provider.js
index 16152eb81f69886485ef17a6b8d650b52bd9f3c8..56f95fa2c1f31fc68e5bf4b467b40b9d94d29258 100644
--- a/ee/app/assets/javascripts/security_configuration/api_fuzzing/graphql/provider.js
+++ b/ee/app/assets/javascripts/security_configuration/api_fuzzing/graphql/provider.js
@@ -5,10 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient(
-    {},
-    {
-      assumeImmutableResults: true,
-    },
-  ),
+  defaultClient: createDefaultClient(),
 });
diff --git a/ee/app/assets/javascripts/security_configuration/corpus_management/corpus_management_bundle.js b/ee/app/assets/javascripts/security_configuration/corpus_management/corpus_management_bundle.js
index cd67874e494471921a9af6131ba5e7571f299bd0..3a2d76a815fc4bff15051218f7e37a17af3aae66 100644
--- a/ee/app/assets/javascripts/security_configuration/corpus_management/corpus_management_bundle.js
+++ b/ee/app/assets/javascripts/security_configuration/corpus_management/corpus_management_bundle.js
@@ -15,7 +15,6 @@ export default () => {
   }
 
   const defaultClient = createDefaultClient(resolvers, {
-    assumeImmutableResults: true,
     cacheConfig: {
       dataIdFromObject: (object) => {
         return object.id || defaultDataIdFromObject(object);
diff --git a/ee/app/assets/javascripts/security_configuration/dast/index.js b/ee/app/assets/javascripts/security_configuration/dast/index.js
index 1dd6a1600cbdd06516abdb2734d93a8ee588f402..498794fdd8834315824d885e6f8abbaa91d5c51d 100644
--- a/ee/app/assets/javascripts/security_configuration/dast/index.js
+++ b/ee/app/assets/javascripts/security_configuration/dast/index.js
@@ -13,7 +13,7 @@ export default function init() {
   Vue.use(VueApollo);
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   const {
diff --git a/ee/app/assets/javascripts/security_configuration/dast_profiles/dast_scanner_profiles/graphql/provider.js b/ee/app/assets/javascripts/security_configuration/dast_profiles/dast_scanner_profiles/graphql/provider.js
index fa23669b615ea0b9a18e3ee8fa49d318321b7bbb..ef96b443da8d33b03b587827a13b5d9c53a40fd3 100644
--- a/ee/app/assets/javascripts/security_configuration/dast_profiles/dast_scanner_profiles/graphql/provider.js
+++ b/ee/app/assets/javascripts/security_configuration/dast_profiles/dast_scanner_profiles/graphql/provider.js
@@ -5,5 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export default new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
diff --git a/ee/app/assets/javascripts/security_configuration/dast_profiles/dast_site_profiles/graphql/provider.js b/ee/app/assets/javascripts/security_configuration/dast_profiles/dast_site_profiles/graphql/provider.js
index fa23669b615ea0b9a18e3ee8fa49d318321b7bbb..ef96b443da8d33b03b587827a13b5d9c53a40fd3 100644
--- a/ee/app/assets/javascripts/security_configuration/dast_profiles/dast_site_profiles/graphql/provider.js
+++ b/ee/app/assets/javascripts/security_configuration/dast_profiles/dast_site_profiles/graphql/provider.js
@@ -5,5 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export default new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
diff --git a/ee/app/assets/javascripts/security_configuration/dast_profiles/graphql/provider.js b/ee/app/assets/javascripts/security_configuration/dast_profiles/graphql/provider.js
index fa23669b615ea0b9a18e3ee8fa49d318321b7bbb..ef96b443da8d33b03b587827a13b5d9c53a40fd3 100644
--- a/ee/app/assets/javascripts/security_configuration/dast_profiles/graphql/provider.js
+++ b/ee/app/assets/javascripts/security_configuration/dast_profiles/graphql/provider.js
@@ -5,5 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export default new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
diff --git a/ee/app/assets/javascripts/security_configuration/dast_site_validation/graphql/provider.js b/ee/app/assets/javascripts/security_configuration/dast_site_validation/graphql/provider.js
index fa23669b615ea0b9a18e3ee8fa49d318321b7bbb..ef96b443da8d33b03b587827a13b5d9c53a40fd3 100644
--- a/ee/app/assets/javascripts/security_configuration/dast_site_validation/graphql/provider.js
+++ b/ee/app/assets/javascripts/security_configuration/dast_site_validation/graphql/provider.js
@@ -5,5 +5,5 @@ import createDefaultClient from '~/lib/graphql';
 Vue.use(VueApollo);
 
 export default new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
diff --git a/ee/app/assets/javascripts/security_configuration/sast/index.js b/ee/app/assets/javascripts/security_configuration/sast/index.js
index 48917c2b0d13e6bb0065af994f977c984837b35b..fd240f10ef5f289d456fbac509e8fb9950f0b3fb 100644
--- a/ee/app/assets/javascripts/security_configuration/sast/index.js
+++ b/ee/app/assets/javascripts/security_configuration/sast/index.js
@@ -13,7 +13,7 @@ export default function init() {
   Vue.use(VueApollo);
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   const {
diff --git a/ee/app/assets/javascripts/security_dashboard/graphql/provider.js b/ee/app/assets/javascripts/security_dashboard/graphql/provider.js
index 2144934f4695a1f5f079e49b05219fe60defd549..0207652659826937ed3660616f7e12d61cfb2109 100644
--- a/ee/app/assets/javascripts/security_dashboard/graphql/provider.js
+++ b/ee/app/assets/javascripts/security_dashboard/graphql/provider.js
@@ -18,7 +18,6 @@ const defaultClient = createDefaultClient(
     cacheConfig: {
       fragmentMatcher,
     },
-    assumeImmutableResults: true,
   },
 );
 
diff --git a/ee/app/assets/javascripts/storage_counter/index.js b/ee/app/assets/javascripts/storage_counter/index.js
index 55d37e4546ec5a2e9f598e223c4eb17a07c724d4..deb751b18852f1b5d6500c0a9b3af48abad79fba 100644
--- a/ee/app/assets/javascripts/storage_counter/index.js
+++ b/ee/app/assets/javascripts/storage_counter/index.js
@@ -15,7 +15,7 @@ export default () => {
   } = el.dataset;
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   return new Vue({
diff --git a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/graphql.js b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/graphql.js
index 2f975e2fae277bdbe8a1fa39e340e2fa8eb53d08..c71ece06869fca601e39ffbbcc8e9d0f5476ef2c 100644
--- a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/graphql.js
+++ b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/graphql.js
@@ -11,14 +11,13 @@ Vue.use(VueApollo);
 
 const gitlabClient = createClient(merge({}, resolvers, purchaseFlowResolvers), {
   typeDefs,
-  assumeImmutableResults: true,
 });
+
 const customersDotClient = createClient(
   {},
   {
     path: '/-/customers_dot/proxy/graphql',
     useGet: true,
-    assumeImmutableResults: true,
   },
 );
 
diff --git a/ee/app/assets/javascripts/subscriptions/new/graphql.js b/ee/app/assets/javascripts/subscriptions/new/graphql.js
index e0a5973f1f4b9df91dfd3dbeb12f127e3f9c0108..8c92f513894ffd9e7bb06ae25b885cf98c5a69cd 100644
--- a/ee/app/assets/javascripts/subscriptions/new/graphql.js
+++ b/ee/app/assets/javascripts/subscriptions/new/graphql.js
@@ -8,7 +8,6 @@ import { STEPS } from '../constants';
 function createClient(stepList) {
   const client = createDefaultClient(resolvers, {
     typeDefs,
-    assumeImmutableResults: true,
   });
 
   client.cache.writeQuery({
diff --git a/ee/app/assets/javascripts/test_case_create/test_case_create_bundle.js b/ee/app/assets/javascripts/test_case_create/test_case_create_bundle.js
index 48b28c6abbb7364bb20890592456ced2c3180ee5..1085533f0d40f636bab53cbccdd661e9742a93ff 100644
--- a/ee/app/assets/javascripts/test_case_create/test_case_create_bundle.js
+++ b/ee/app/assets/javascripts/test_case_create/test_case_create_bundle.js
@@ -15,7 +15,7 @@ export function initTestCaseCreate({ mountPointSelector }) {
   }
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   return new Vue({
diff --git a/ee/app/assets/javascripts/test_case_list/test_case_list_bundle.js b/ee/app/assets/javascripts/test_case_list/test_case_list_bundle.js
index f4fcd9c88eac593980bee4d8c1187b5ebc108d32..6c1bda51a5faa8e25e7f8ae9e9de2b3e0e32602a 100644
--- a/ee/app/assets/javascripts/test_case_list/test_case_list_bundle.js
+++ b/ee/app/assets/javascripts/test_case_list/test_case_list_bundle.js
@@ -19,7 +19,7 @@ const initTestCaseList = ({ mountPointSelector }) => {
   }
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   const {
diff --git a/ee/app/assets/javascripts/test_case_show/test_case_show_bundle.js b/ee/app/assets/javascripts/test_case_show/test_case_show_bundle.js
index 65acd4d960888b9e40fecb8e330a1de2de719020..95a17d028481bb9fa8c84d24046b32d5fab4548d 100644
--- a/ee/app/assets/javascripts/test_case_show/test_case_show_bundle.js
+++ b/ee/app/assets/javascripts/test_case_show/test_case_show_bundle.js
@@ -16,7 +16,7 @@ export default function initTestCaseShow({ mountPointSelector }) {
   }
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   const sidebarOptions = JSON.parse(el.dataset.sidebarOptions);
diff --git a/ee/app/assets/javascripts/threat_monitoring/index.js b/ee/app/assets/javascripts/threat_monitoring/index.js
index b854d885696fe07a0c936de50d1cf7d028509ddc..38b3d1f8c6e7201c8b190ae0a5708480e7e31234 100644
--- a/ee/app/assets/javascripts/threat_monitoring/index.js
+++ b/ee/app/assets/javascripts/threat_monitoring/index.js
@@ -12,7 +12,6 @@ const apolloProvider = new VueApollo({
   defaultClient: createDefaultClient(
     {},
     {
-      assumeImmutableResults: true,
       cacheConfig: {
         dataIdFromObject: (object) => {
           // eslint-disable-next-line no-underscore-dangle
diff --git a/ee/app/assets/javascripts/threat_monitoring/security_policies_list.js b/ee/app/assets/javascripts/threat_monitoring/security_policies_list.js
index 89bd51d4df9a8851d9f59b0820839a3a7021b8ff..51994c6cfe20434b9be6744954326e01909a2b13 100644
--- a/ee/app/assets/javascripts/threat_monitoring/security_policies_list.js
+++ b/ee/app/assets/javascripts/threat_monitoring/security_policies_list.js
@@ -9,7 +9,7 @@ import createStore from './store';
 Vue.use(VueApollo);
 
 const apolloProvider = new VueApollo({
-  defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+  defaultClient: createDefaultClient(),
 });
 
 export default () => {
diff --git a/ee/app/assets/javascripts/threat_monitoring/utils.js b/ee/app/assets/javascripts/threat_monitoring/utils.js
index e217ac357debdd0c08f36e0cceebf32658229c75..c760ab2b17b4796569a23b92a3e7bf43992ad189 100644
--- a/ee/app/assets/javascripts/threat_monitoring/utils.js
+++ b/ee/app/assets/javascripts/threat_monitoring/utils.js
@@ -50,9 +50,4 @@ export const removeUnnecessaryDashes = (manifest) => {
 /**
  * Create GraphQL Client for threat monitoring
  */
-export const gqClient = createGqClient(
-  {},
-  {
-    assumeImmutableResults: true,
-  },
-);
+export const gqClient = createGqClient();
diff --git a/ee/app/assets/javascripts/vue_shared/components/sidebar/iterations_dropdown_bundle.js b/ee/app/assets/javascripts/vue_shared/components/sidebar/iterations_dropdown_bundle.js
index 432b0e6395205de12487d8b9a07899f673f7df4b..9e646bd2908048bdcc86aef8518a9df22e78102d 100644
--- a/ee/app/assets/javascripts/vue_shared/components/sidebar/iterations_dropdown_bundle.js
+++ b/ee/app/assets/javascripts/vue_shared/components/sidebar/iterations_dropdown_bundle.js
@@ -15,7 +15,7 @@ export default function initIterationsDropdownBundle() {
   }
 
   const apolloProvider = new VueApollo({
-    defaultClient: createDefaultClient({}, { assumeImmutableResults: true }),
+    defaultClient: createDefaultClient(),
   });
 
   const { fullPath } = el.dataset;