From 81195e599ae76b2bbe7ba0813d0d8cf3f0a7b618 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Apr 2026 12:44:15 +0000 Subject: [PATCH 01/11] Bump axios from 1.13.5 to 1.15.0 Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- package-lock.json | 19 +++++++++++++++---- package.json | 4 ++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 404753f6..de4f0aed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,6 @@ "version": "0.1.0", "dependencies": { "@adyen/adyen-web": "^6.31.1", - "axios": "^1.13.5", "axios-retry": "^3.5.0", "bootstrap": "^5.3", "iframe-resizer": "^4.3.9", @@ -47,7 +46,7 @@ "@vue/test-utils": "^2.4.1", "@vue/vue3-jest": "^27.0.0-alpha.1", "axe-core": "^4.10.2", - "axios": "^1.13.5", + "axios": "^1.15.0", "axios-mock-adapter": "^1.21.5", "babel-jest": "^27.0.6", "concurrently": "^9.1.2", @@ -6567,13 +6566,15 @@ } }, "node_modules/axios": { - "version": "1.13.5", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", + "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", "dev": true, "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "proxy-from-env": "^2.1.0" } }, "node_modules/axios-mock-adapter": { @@ -6618,6 +6619,16 @@ "is-retry-allowed": "^2.2.0" } }, + "node_modules/axios/node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/b4a": { "version": "1.6.7", "dev": true, diff --git a/package.json b/package.json index 43dabf71..57abd148 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@adyen/adyen-web": "^6.31.1", - "axios": "^1.13.5", + "axios": "^1.15.0", "axios-retry": "^3.5.0", "bootstrap": "^5.3", "iframe-resizer": "^4.3.9", @@ -59,7 +59,7 @@ "@vue/test-utils": "^2.4.1", "@vue/vue3-jest": "^27.0.0-alpha.1", "axe-core": "^4.10.2", - "axios": "^1.13.5", + "axios": "^1.15.0", "axios-mock-adapter": "^1.21.5", "babel-jest": "^27.0.6", "concurrently": "^9.1.2", From e60d329a89c949b66710ffd1dd623288f89de057 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Wed, 22 Apr 2026 14:44:51 -0400 Subject: [PATCH 02/11] update logic for recal copy --- .../order-confirmation/order-confirmation.vue | 2 +- .../service-location/service-location.vue | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/layouts/order-confirmation/order-confirmation.vue b/src/layouts/order-confirmation/order-confirmation.vue index 3f34efd4..4cb7668c 100644 --- a/src/layouts/order-confirmation/order-confirmation.vue +++ b/src/layouts/order-confirmation/order-confirmation.vue @@ -294,7 +294,7 @@ export default { } else { glassList = getGlassList(glassPieces); workType = 'replacement'; - if (this.hasRecalibrationPart) { + if (this.hasRecalibrationPart && containsRecalParts(this.submittedOrder.lineItems)) { if (glassList === 'windshield') { workType = 'replacement and recalibration'; } diff --git a/src/layouts/schedule-page/service-location/service-location.vue b/src/layouts/schedule-page/service-location/service-location.vue index 5dc908be..1621d036 100644 --- a/src/layouts/schedule-page/service-location/service-location.vue +++ b/src/layouts/schedule-page/service-location/service-location.vue @@ -9,7 +9,7 @@
{{ scheduleRecalText }} + class="recal-text mb-4">{{ scheduleRecalText }} {{ appointmentQuestionText }}
@@ -133,6 +133,7 @@ import { getMobileZipCodeData } from '@/helpers/service-location-helper'; import { toTitleCase } from '@/helpers/text-helper.js'; +import { containsRecalParts } from '@/helpers/recal-helper'; // Import Component import alert from '@/ux-components/alert/alert.vue'; @@ -144,6 +145,7 @@ import serviceZipQuestion from '@/layouts/schedule-page/service-location/service import widgetFields from '@/constants/cms-widget-fields'; import recalModal from '@/iss-components/recal-modal/recal-modal.vue'; import { getPricedMobileFeePart } from '@/helpers/service-location-helper'; +import { processIfStatements } from '@/helpers/cms-content-helper'; const RECAL_MODAL_REF_NAME = 'RecalModal'; @@ -241,6 +243,9 @@ export default { return this.selectedAppointmentType === AppointmentTypeStrings.MOBILE || this.selectedAppointmentType === AppointmentTypeStrings.MOBILE_NOT_ITAC_AND_NOT_NOCOMP; }, + isRecalibrationOnOrder() { + return this.mainStore.hasRecalibrationPart && containsRecalParts(this.mainStore.order.lineItems); + }, isServiceableInshop() { if (this.isRecalibrationServiceableInshop !== null) { return (this.isGlassServiceableInshop && this.isRecalibrationServiceableInshop); @@ -284,9 +289,11 @@ export default { }, scheduleRecalText() { if (this.requiresInshopRecalibration) { - return this.getCmsContent('WhereWouldYouLikeServiceWidget', widgetFields.CONTENT_GROUP_WIDGET.BODY_TEXT_2); + const bodyText2 = this.getCmsContent('WhereWouldYouLikeServiceWidget', widgetFields.CONTENT_GROUP_WIDGET.BODY_TEXT_2); + return this.processIfStatements(bodyText2, 'custom', this.getCustomValueFromString); } - return this.getCmsContent('WhereWouldYouLikeServiceWidget', widgetFields.CONTENT_GROUP_WIDGET.BODY_TEXT); + const bodyText = this.getCmsContent('WhereWouldYouLikeServiceWidget', widgetFields.CONTENT_GROUP_WIDGET.BODY_TEXT); + return this.processIfStatements(bodyText, 'custom', this.getCustomValueFromString); } }, watch: { @@ -343,6 +350,7 @@ export default { } }, methods: { + processIfStatements, async initializeComponent(initialData) { this.initializingData = true; await this.setData(initialData); @@ -405,6 +413,11 @@ export default { getSelectedProvider() { return useMainStore().order.serviceLocation.provider; }, + getCustomValueFromString(str) { + if (str === 'isRecalibrationOnOrder') { + return this.isRecalibrationOnOrder; + } + }, async handleInShopZipUpdated(newZip) { this.zipCode = newZip; const zipCodeData = await getZipCodeData(this.zipCode); From bf59416cbdb086846d5054de21be9ef04ae95486 Mon Sep 17 00:00:00 2001 From: katiekroell <100247286+katiekroell@users.noreply.github.com> Date: Wed, 22 Apr 2026 15:36:59 -0400 Subject: [PATCH 03/11] Update src/layouts/schedule-page/service-location/service-location.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../schedule-page/service-location/service-location.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/layouts/schedule-page/service-location/service-location.vue b/src/layouts/schedule-page/service-location/service-location.vue index 1621d036..576d1a80 100644 --- a/src/layouts/schedule-page/service-location/service-location.vue +++ b/src/layouts/schedule-page/service-location/service-location.vue @@ -414,8 +414,11 @@ export default { return useMainStore().order.serviceLocation.provider; }, getCustomValueFromString(str) { - if (str === 'isRecalibrationOnOrder') { + switch (str) { + case 'isRecalibrationOnOrder': return this.isRecalibrationOnOrder; + default: + return null; } }, async handleInShopZipUpdated(newZip) { From 6082e530df53adb7756f19c0e775d5745abc963d Mon Sep 17 00:00:00 2001 From: JennyNou <167806377+JennyNou@users.noreply.github.com> Date: Wed, 22 Apr 2026 15:43:00 -0400 Subject: [PATCH 04/11] Update azure-pipelines-automated-testing.yml for Azure Pipelines --- azure-pipelines-automated-testing.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/azure-pipelines-automated-testing.yml b/azure-pipelines-automated-testing.yml index df7663f6..bc2726ba 100644 --- a/azure-pipelines-automated-testing.yml +++ b/azure-pipelines-automated-testing.yml @@ -20,6 +20,7 @@ variables: # - group: Digital-Infrastructure # - group: ISS-BuildBranches - group: SafelitePlaywright + - group: ISSNextgenRegressionAutomationPlaywright - name: dockerImageName value: 'playwright-tests' - name: imageTag From 1c03b5c28730484643ec2e1c6f87dc1576af4de9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 22:33:33 +0000 Subject: [PATCH 05/11] Bump uuid from 9.0.1 to 14.0.0 Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.1 to 14.0.0. - [Release notes](https://github.com/uuidjs/uuid/releases) - [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md) - [Commits](https://github.com/uuidjs/uuid/compare/v9.0.1...v14.0.0) --- updated-dependencies: - dependency-name: uuid dependency-version: 14.0.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 +++++--- package.json | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 77a51eea..bd0c0342 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "maska": "^2.1.1", "pinia": "^2.1.4", "pinia-plugin-persistedstate": "^2.2.0", - "uuid": "^9.0.1", + "uuid": "^14.0.0", "vee-validate": "^4.5.7", "vue": "^3.3.4", "vue-plugin-load-script": "^2.1.0", @@ -20338,14 +20338,16 @@ } }, "node_modules/uuid": { - "version": "9.0.1", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz", + "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist-node/bin/uuid" } }, "node_modules/v8-to-istanbul": { diff --git a/package.json b/package.json index 43dabf71..e21104d8 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "maska": "^2.1.1", "pinia": "^2.1.4", "pinia-plugin-persistedstate": "^2.2.0", - "uuid": "^9.0.1", + "uuid": "^14.0.0", "vee-validate": "^4.5.7", "vue": "^3.3.4", "vue-plugin-load-script": "^2.1.0", From 6f8985f6a022aa49a6e5229ba2e64a0421a50625 Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Thu, 23 Apr 2026 14:00:45 -0400 Subject: [PATCH 06/11] INSR-8882: Address some missing/new events --- src/layouts/order-confirmation/order-confirmation.vue | 3 ++- src/layouts/payment-page-adyen/payment-page-adyen.vue | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/layouts/order-confirmation/order-confirmation.vue b/src/layouts/order-confirmation/order-confirmation.vue index 4cb7668c..93cb9a38 100644 --- a/src/layouts/order-confirmation/order-confirmation.vue +++ b/src/layouts/order-confirmation/order-confirmation.vue @@ -630,8 +630,9 @@ export default { const repairOrReplace = this.submittedOrder.isRepair ? 'repair' : 'replace'; this.pushEventToGA('confirmation', 'safelite', `${mobileOrInshop}_${repairOrReplace}_${verifiedOrNotVerified}`, true); + const paymentMethodForAnalytics = analyticsPaymentTypeMap.get(this.payment.paymentMethod) ?? 'UNKNOWN'; + this.pushEventToGA('order_confirmed', 'payment_type_submitted', paymentMethodForAnalytics, true); if (this.payment.isPayInAdvance) { - const paymentMethodForAnalytics = analyticsPaymentTypeMap.get(this.payment.paymentMethod); this.pushEventToGA('payment_page', 'pia_successful', paymentMethodForAnalytics, true); } diff --git a/src/layouts/payment-page-adyen/payment-page-adyen.vue b/src/layouts/payment-page-adyen/payment-page-adyen.vue index 8608bc29..94b3601f 100644 --- a/src/layouts/payment-page-adyen/payment-page-adyen.vue +++ b/src/layouts/payment-page-adyen/payment-page-adyen.vue @@ -119,7 +119,7 @@ export default { }, mounted() { showIssLoadingModal(true); - this.pushEventToGA('payment_page', 'Mode', 'Adyen', true); + this.handleAnalyticsEventsOnMounted() this.initializeAdyen().finally(() => { showIssLoadingModal(false); }); @@ -584,6 +584,11 @@ export default { this.$route ); }, + handleAnalyticsEventsOnMounted() { + this.pushEventToGA('payment_page', 'PIA Mode', 'Adyen', true); + const paymentMethod = analyticsPaymentTypeMap.get(this.piaType); + this.pushEventToGA('payment_method', 'pia', paymentMethod, true); + }, showIssLoadingModal } }; From 7d987e67c816002ab350fe5a6a66659bf94b07cd Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Thu, 23 Apr 2026 14:23:30 -0400 Subject: [PATCH 07/11] INSR-8882: Fix missing undefined check --- src/layouts/payment-page-adyen/payment-page-adyen.vue | 2 +- vue.config.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/layouts/payment-page-adyen/payment-page-adyen.vue b/src/layouts/payment-page-adyen/payment-page-adyen.vue index 94b3601f..2d346efa 100644 --- a/src/layouts/payment-page-adyen/payment-page-adyen.vue +++ b/src/layouts/payment-page-adyen/payment-page-adyen.vue @@ -586,7 +586,7 @@ export default { }, handleAnalyticsEventsOnMounted() { this.pushEventToGA('payment_page', 'PIA Mode', 'Adyen', true); - const paymentMethod = analyticsPaymentTypeMap.get(this.piaType); + const paymentMethod = analyticsPaymentTypeMap.get(this.piaType) ?? 'UNKNOWN'; this.pushEventToGA('payment_method', 'pia', paymentMethod, true); }, showIssLoadingModal diff --git a/vue.config.js b/vue.config.js index d9d97c60..0a9dc98e 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,4 +1,4 @@ -process.env.VUE_APP_CONSUMER_CF_DISTRO = 'https://digitalapi.dev.safelite.io'; +process.env.VUE_APP_CONSUMER_CF_DISTRO = 'https://digitalapi.test.safelite.io'; process.env.VUE_APP_CURRENT_ENVIRONMENT = 'Localhost'; process.env.VUE_APP_CUSTOMER_PORTAL_URL = 'https://myaccountdev.safelite.com/'; process.env.VUE_APP_GOOGLE_PLACES_API_KEY = 'AIzaSyCuLhQcDdZTTb4JzpUFms1OCch2dk5lHF0'; From 3e91e0e7dcbb0f1635ca15a34fb7f4a9ceecfef8 Mon Sep 17 00:00:00 2001 From: "US\\katie.kroell" Date: Thu, 23 Apr 2026 14:25:29 -0400 Subject: [PATCH 08/11] missing code for recal copy logic --- .../review-sections/vehicle-review/vehicle-review.vue | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/layouts/payment-method/review-dropdown/review-sections/vehicle-review/vehicle-review.vue b/src/layouts/payment-method/review-dropdown/review-sections/vehicle-review/vehicle-review.vue index b0500009..dcabe8df 100644 --- a/src/layouts/payment-method/review-dropdown/review-sections/vehicle-review/vehicle-review.vue +++ b/src/layouts/payment-method/review-dropdown/review-sections/vehicle-review/vehicle-review.vue @@ -8,6 +8,7 @@