From c6f9101fd69519be86c41a01175da8ff45686e08 Mon Sep 17 00:00:00 2001 From: Natalia Tepluhina <tarya.se@gmail.com> Date: Mon, 1 Nov 2021 09:59:39 +0100 Subject: [PATCH] Set assumeImmutableResults to true - Fixed all the occurences of 'createDefaultClient' - Updated FE guide on Apollo immutability --- app/assets/javascripts/access_tokens/index.js | 2 +- app/assets/javascripts/admin/users/index.js | 2 +- app/assets/javascripts/alert_management/list.js | 1 - app/assets/javascripts/alerts_settings/graphql.js | 1 - .../javascripts/analytics/usage_trends/index.js | 2 +- app/assets/javascripts/artifacts_settings/index.js | 2 +- app/assets/javascripts/boards/graphql.js | 1 - .../boards/mount_multiple_boards_switcher.js | 7 +------ app/assets/javascripts/ci_lint/index.js | 4 +--- app/assets/javascripts/clusters/agents/index.js | 7 +------ app/assets/javascripts/clusters_list/load_agents.js | 2 +- app/assets/javascripts/design_management/graphql.js | 1 - .../folder/environments_folder_bundle.js | 2 +- .../javascripts/environments/graphql/client.js | 12 ++++-------- app/assets/javascripts/environments/index.js | 2 +- app/assets/javascripts/error_tracking/details.js | 7 +------ .../import_groups/graphql/client_factory.js | 6 +----- app/assets/javascripts/incidents/list.js | 2 +- app/assets/javascripts/issuable_suggestions/index.js | 7 +------ app/assets/javascripts/issues_list/index.js | 4 ++-- .../javascripts/jira_connect/branches/index.js | 7 +------ app/assets/javascripts/jira_import/index.js | 2 +- .../javascripts/jobs/components/table/index.js | 7 +------ app/assets/javascripts/lib/graphql.js | 5 ++--- app/assets/javascripts/mr_popover/index.js | 7 +------ .../dependency_proxy/graphql/index.js | 7 +------ .../package_registry/graphql/index.js | 1 - .../settings/group/graphql/index.js | 7 +------ .../settings/project/graphql/index.js | 7 +------ .../javascripts/pages/projects/blob/show/index.js | 2 +- .../merge_requests/init_merge_request_show.js | 2 +- .../pages/shared/mount_runner_instructions.js | 7 +------ app/assets/javascripts/pipeline_editor/index.js | 1 - .../javascripts/pipelines/pipeline_shared_client.js | 1 - .../info/init_commit_pipeline_mini_graph.js | 7 +------ app/assets/javascripts/projects/new/index.js | 2 +- .../javascripts/projects/pipelines/charts/index.js | 2 +- .../javascripts/projects/storage_counter/index.js | 2 +- .../projects/terraform_notification/index.js | 2 +- .../javascripts/registry/explorer/graphql/index.js | 1 - app/assets/javascripts/releases/mount_index.js | 1 - app/assets/javascripts/releases/mount_show.js | 7 +------ app/assets/javascripts/repository/graphql.js | 1 - app/assets/javascripts/runner/admin_runners/index.js | 7 +------ app/assets/javascripts/runner/group_runners/index.js | 7 +------ .../javascripts/runner/runner_details/index.js | 7 +------ .../javascripts/security_configuration/index.js | 2 +- app/assets/javascripts/sidebar/graphql.js | 1 - app/assets/javascripts/snippets/index.js | 1 - .../javascripts/static_site_editor/graphql/index.js | 1 - app/assets/javascripts/terraform/index.js | 1 - app/assets/javascripts/token_access/index.js | 2 +- .../javascripts/vue_merge_request_widget/index.js | 7 +------ .../javascripts/vue_shared/alert_details/index.js | 1 - .../vue_shared/security_configuration/provider.js | 2 +- .../javascripts/work_items/graphql/provider.js | 3 ++- doc/development/fe_guide/graphql.md | 8 +------- .../admin/subscriptions/show/mount_cloud_licenses.js | 7 +------ .../javascripts/analytics/cycle_analytics/index.js | 7 +------ .../devops_report/devops_adoption/graphql.js | 2 +- .../analytics/group_ci_cd_analytics/index.js | 2 +- .../analytics/merge_request_analytics/index.js | 2 +- .../analytics/productivity_analytics/index.js | 2 +- .../analytics/repository_analytics/index.js | 2 +- ee/app/assets/javascripts/burndown_chart/index.js | 2 +- ee/app/assets/javascripts/ci_minutes_usage/index.js | 2 +- ee/app/assets/javascripts/epic/new_epic_bundle.js | 7 +------ ee/app/assets/javascripts/epic_boards/index.js | 1 - .../javascripts/epics_list/epics_list_bundle.js | 7 +------ .../assets/javascripts/escalation_policies/index.js | 1 - .../external_issues_list/graphql/index.js | 2 +- .../settings/compliance_frameworks/init_form.js | 2 +- .../settings/compliance_frameworks/init_list.js | 2 +- ee/app/assets/javascripts/iterations/index.js | 1 - .../javascripts/on_demand_scans/graphql/provider.js | 7 +------ .../on_demand_scans_form/graphql/provider.js | 2 +- .../assets/javascripts/oncall_schedules/graphql.js | 5 +---- .../javascripts/pages/projects/edit/merge_options.js | 2 +- .../javascripts/requirements/requirements_bundle.js | 1 - ee/app/assets/javascripts/roadmap/roadmap_bundle.js | 2 +- .../api_fuzzing/graphql/provider.js | 7 +------ .../corpus_management/corpus_management_bundle.js | 1 - .../javascripts/security_configuration/dast/index.js | 2 +- .../dast_scanner_profiles/graphql/provider.js | 2 +- .../dast_site_profiles/graphql/provider.js | 2 +- .../dast_profiles/graphql/provider.js | 2 +- .../dast_site_validation/graphql/provider.js | 2 +- .../javascripts/security_configuration/sast/index.js | 2 +- .../security_dashboard/graphql/provider.js | 1 - ee/app/assets/javascripts/storage_counter/index.js | 2 +- .../subscriptions/buy_addons_shared/graphql.js | 3 +-- .../assets/javascripts/subscriptions/new/graphql.js | 1 - .../test_case_create/test_case_create_bundle.js | 2 +- .../test_case_list/test_case_list_bundle.js | 2 +- .../test_case_show/test_case_show_bundle.js | 2 +- ee/app/assets/javascripts/threat_monitoring/index.js | 1 - .../threat_monitoring/security_policies_list.js | 2 +- ee/app/assets/javascripts/threat_monitoring/utils.js | 7 +------ .../components/sidebar/iterations_dropdown_bundle.js | 2 +- 99 files changed, 82 insertions(+), 245 deletions(-) diff --git a/app/assets/javascripts/access_tokens/index.js b/app/assets/javascripts/access_tokens/index.js index 2cd3a8f12eefe..7f5f0403de627 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 852b253d25ad2..0c485d2a2399f 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 4cb56a2614cf0..b23f8a8eba427 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 15862f4034a07..b64e2e3eefa62 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 3e85832edcf19..d1880b09f159e 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 5c9f1c3129c28..531b42bc18587 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 d8d16184936a5..64938cb42edf3 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 a3a8ad06c4300..d74a772170b18 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 f97590ec5db63..274aab45deb7f 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 ec6b6c6fc3570..bcb5b2712037b 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 b77d386df203b..3f00cabccdb06 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 fa57537f74e8c..5cf32cb7fe3d8 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 f248e9ec0794d..206381e0b7ea4 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 498163c7abc75..c734c2fba0cb2 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 99a1d12adf7aa..3b1d35c1f2268 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 38245210b709a..37b8007d556a2 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 c08cf909a00b5..6eca530b49cba 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 6e6461cd7a90e..8644ff3a249b0 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 22a99a177418a..8f7f317d6b45c 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 421d6b35919ea..59034964afb18 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 95bd4f5c6752f..04510fcff4bfc 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 003f3c7107e23..695a237bf5047 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 cec871ddbb495..f24daf90815d4 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 39bf804b54e78..df2e85afe2420 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 6e46c5d3c1f85..714cf67e0bd55 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 16152eb81f698..56f95fa2c1f31 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 f8cb5c516e2e5..21d6fbc9e1fd6 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 16152eb81f698..56f95fa2c1f31 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 16152eb81f698..56f95fa2c1f31 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 80bcbefab463c..b365e03919134 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 194e273e26139..99094617b0a71 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 1cb7259be64b0..e83c73edfde9d 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 58dc71d981f8c..4f7f2743aca4c 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 7a922acd0b3bc..c3be487caae2b 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 2505c47147fd2..1d4ec4c110b7c 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 572d3276e4f91..010c6a29ae38f 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 f7ea89068a0ce..5f5ee44c2048d 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 10668f08402b1..15796bc187089 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 21c8d09b7fc61..362e71ed902b4 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 d934bcc741976..9694bfd4e7731 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 59f6ebfc928ee..86fa72d1496a6 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 686f9e294b7ee..7272880197aa8 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 4892e54ebeff7..96d712ce9b4ff 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 84527032694a2..9d80eec6f54da 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 959e8a4feddcf..60b7a7ab5415a 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 05e6f86869d3e..db8f239a3c3d4 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 60d2c0d4e5abb..a8623b468f285 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 1a806a051b7dd..6a670db2d387f 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 8e7368ef80414..21f38c4d8c974 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 2ae2baddbcc03..53572e680e514 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 013b95c563370..1b8cab0d51e9a 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 8d29a65d705ad..6a29883290ae3 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 f5dbcec7dbeb9..8d596465970ab 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 fda405c0fa51e..9f1da9ae17395 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 fa23669b615ea..ef96b443da8d3 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 2547b81bbd298..083735336ce57 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 0229aa0123af2..683b3bc61cdd5 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 4132de0893c98..9750a3e0e2f83 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 e9b72d7e1f354..d136d481b1ef9 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 4ba232ab23b5b..ebddfa3f9516f 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 d396013267da7..4ea949168b5c2 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 bf9959def7ea5..946bf7f898be8 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 612884da7cee9..795bd8b7b8159 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 2f2906cd2eabe..e5132413dc955 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 58fcd753d2de1..d793f3bf11d75 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 859c1045e0312..03836966b5b02 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 c225bff7dd2bb..f7f0a2f85f662 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 d553b3a718e21..1b0dd8eba236a 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 0d3801ec37ca0..f1188f642ad71 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 4a59e436ac2c3..519439567d70c 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 1f35f3be2ff3a..736ef8efed7c3 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 3358f909652a1..ad30efc815bd0 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 067c015f43b03..1ddbdd1c46792 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 509b3aec8639d..03bf0b478e3c9 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 92a178c442b2c..9153c5252b359 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 fa23669b615ea..ef96b443da8d3 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 74b777ca08623..db8ebb6f0eebb 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 4a7ba2b120fbb..67697d384d053 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 c39da06c0b790..a0179d22d298e 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 4f1d76e752e19..78261da8df133 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 16152eb81f698..56f95fa2c1f31 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 cd67874e49447..3a2d76a815fc4 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 1dd6a1600cbdd..498794fdd8834 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 fa23669b615ea..ef96b443da8d3 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 fa23669b615ea..ef96b443da8d3 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 fa23669b615ea..ef96b443da8d3 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 fa23669b615ea..ef96b443da8d3 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 48917c2b0d13e..fd240f10ef5f2 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 2144934f4695a..0207652659826 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 55d37e4546ec5..deb751b18852f 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 2f975e2fae277..c71ece06869fc 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 e0a5973f1f4b9..8c92f513894ff 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 48b28c6abbb73..1085533f0d40f 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 f4fcd9c88eac5..6c1bda51a5faa 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 65acd4d960888..95a17d028481b 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 b854d885696fe..38b3d1f8c6e72 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 89bd51d4df9a8..51994c6cfe204 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 e217ac357debd..c760ab2b17b47 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 432b0e6395205..9e646bd290804 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; -- GitLab