From 76ea8ca2ed67472291b0f755c9eaa0a630793d62 Mon Sep 17 00:00:00 2001
From: Patrick Fic <>
Date: Wed, 8 Dec 2021 15:00:23 -0800
Subject: [PATCH 1/2] Resolve Report Center Issue.
---
client/package.json | 2 +-
.../report-center-modal.component.jsx | 14 +----
client/yarn.lock | 61 +++++++++++--------
3 files changed, 39 insertions(+), 38 deletions(-)
diff --git a/client/package.json b/client/package.json
index 39750be67..25f76820b 100644
--- a/client/package.json
+++ b/client/package.json
@@ -18,7 +18,7 @@
"@stripe/react-stripe-js": "^1.6.0",
"@stripe/stripe-js": "^1.21.2",
"@tanem/react-nprogress": "^3.0.82",
- "antd": "^4.17.2",
+ "antd": "^4.17.3",
"apollo-link-logger": "^2.0.0",
"axios": "^0.24.0",
"craco-less": "^1.20.0",
diff --git a/client/src/components/report-center-modal/report-center-modal.component.jsx b/client/src/components/report-center-modal/report-center-modal.component.jsx
index 8fbdcb954..e0db4f516 100644
--- a/client/src/components/report-center-modal/report-center-modal.component.jsx
+++ b/client/src/components/report-center-modal/report-center-modal.component.jsx
@@ -185,24 +185,14 @@ export function ReportCenterModalComponent({ reportCenterModal }) {
);
}}
-
- Templates[prev.key]?.idtype !== Templates[cur.key]?.idtype
- }
- style={{ display: "none", margin: 0, padding: 0 }}
- >
- {() => {
- form.setFieldsValue({ id: null });
- return null;
- }}
-
{() => {
const key = form.getFieldValue("key");
+ const currentId = form.getFieldValue("id");
if (!key) return null;
//Kind of Id
const idtype = Templates[key] && Templates[key].idtype;
- if (!idtype) {
+ if (!idtype && currentId) {
form.setFieldsValue({ id: null });
return null;
}
diff --git a/client/yarn.lock b/client/yarn.lock
index f224b3d59..1f8912e79 100644
--- a/client/yarn.lock
+++ b/client/yarn.lock
@@ -3211,10 +3211,10 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies:
color-convert "^2.0.1"
-antd@^4.17.2:
- version "4.17.2"
- resolved "https://registry.yarnpkg.com/antd/-/antd-4.17.2.tgz#c50123e6da990d8a41bc1ed6fbfc6d587b014ae0"
- integrity sha512-1/xwj72mzg2ly5byvnxsgucEL5JMrinlsaAr4Y+vjobmTBSI9l9zOVkwwOG8kPIrFkhrzC1I42n6GZKnTwfZmg==
+antd@^4.17.3:
+ version "4.17.3"
+ resolved "https://registry.yarnpkg.com/antd/-/antd-4.17.3.tgz#48e2cfaec75cb414782a16918c0f322af1f2d509"
+ integrity sha512-enA6rsOAGtw0uN+khzvPoCui9j6m1ZvtAHY2IWC/mOUIwfycC8iuToND9ptAqeNF5yX8RZhFubmcc7Xeqk6wWg==
dependencies:
"@ant-design/colors" "^6.0.0"
"@ant-design/icons" "^4.7.0"
@@ -3227,7 +3227,7 @@ antd@^4.17.2:
lodash "^4.17.21"
memoize-one "^6.0.0"
moment "^2.25.3"
- rc-cascader "~2.2.0"
+ rc-cascader "~2.3.0"
rc-checkbox "~2.3.0"
rc-collapse "~3.1.0"
rc-dialog "~8.6.0"
@@ -3244,8 +3244,8 @@ antd@^4.17.2:
rc-picker "~2.5.17"
rc-progress "~3.1.0"
rc-rate "~2.9.0"
- rc-resize-observer "^1.0.0"
- rc-select "~13.1.0-alpha.0"
+ rc-resize-observer "^1.1.0"
+ rc-select "~13.2.1"
rc-slider "~9.7.4"
rc-steps "~4.1.0"
rc-switch "~3.2.0"
@@ -3254,7 +3254,7 @@ antd@^4.17.2:
rc-textarea "~0.3.0"
rc-tooltip "~5.1.1"
rc-tree "~5.3.0"
- rc-tree-select "~4.7.0"
+ rc-tree-select "~4.8.0"
rc-trigger "^5.2.10"
rc-upload "~4.3.0"
rc-util "^5.14.0"
@@ -4297,7 +4297,7 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
-classnames@2.3.1, classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6:
+classnames@2.3.1, classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
@@ -10951,16 +10951,17 @@ rc-align@^4.0.0:
rc-util "^5.3.0"
resize-observer-polyfill "^1.5.1"
-rc-cascader@~2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-2.2.1.tgz#ec6cfa9d631e6e787abedb2db8c6b014ba1e15b6"
- integrity sha512-4saWcwpmxxh5fhUdaDgOLF2gWL8KNxLwWqELX702HNXEt2yU7AixjfvgEORNsnQZleT2W2AaGMkRDeWrwt8fMw==
+rc-cascader@~2.3.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-2.3.1.tgz#2c72f76fc948ed58874d1beac66d2904d95f9123"
+ integrity sha512-TY3c4ous8Y5zOrcMPq4jwXUITkmQrNyoGCfda1MRiEOFnfR0e4JSYRyZUylb9CohVPmktZ3Ptz82KmQ7qHNK6Q==
dependencies:
"@babel/runtime" "^7.12.5"
array-tree-filter "^2.1.0"
- rc-tree-select "~4.7.0"
+ classnames "^2.3.1"
+ rc-tree-select "~4.8.0"
rc-trigger "^5.0.4"
- rc-util "^5.0.1"
+ rc-util "^5.6.1"
warning "^4.0.1"
rc-checkbox@~2.3.0:
@@ -11149,6 +11150,16 @@ rc-resize-observer@^1.0.0:
rc-util "^5.0.0"
resize-observer-polyfill "^1.5.1"
+rc-resize-observer@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.1.1.tgz#ef666e38065f550730176404bae2ce8ca5fb1ac4"
+ integrity sha512-5A3B9ha297ItltzXl812WFE36SyRDTNclfrXE3FL1pEwXkBh7iSEzxjzfwsPeMcF9ahy3ZoxLgLuRksXBGGD6A==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.1"
+ rc-util "^5.15.0"
+ resize-observer-polyfill "^1.5.1"
+
rc-scroll-anim@^2.7.6:
version "2.7.6"
resolved "https://registry.yarnpkg.com/rc-scroll-anim/-/rc-scroll-anim-2.7.6.tgz#f7e6622f2930ca3e1e258f7275bc2e1c26ce791c"
@@ -11161,10 +11172,10 @@ rc-scroll-anim@^2.7.6:
react-lifecycles-compat "^3.0.4"
tween-functions "1.x"
-rc-select@~13.1.0-alpha.0:
- version "13.1.1"
- resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-13.1.1.tgz#851315d08a743504db57c7a5358cc907b69b45a5"
- integrity sha512-Oy4L27x5QgGR8902pw0bJVjrTWFnKPKvdLHzJl5pjiA+jM1hpzDfLGg/bY2ntk5ElxxQKZUwbFKUeqfCQU7SrQ==
+rc-select@~13.2.1:
+ version "13.2.1"
+ resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-13.2.1.tgz#d69675f8bc72622a8f3bc024fa21bfee8d56257d"
+ integrity sha512-L2cJFAjVEeDiNVa/dlOVKE79OUb0J7sUBvWN3Viav3XHcjvv9Ovn4D8J9QhBSlDXeGuczZ81CZI3BbdHD25+Gg==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
@@ -11244,14 +11255,14 @@ rc-tooltip@^5.0.1, rc-tooltip@~5.1.1:
"@babel/runtime" "^7.11.2"
rc-trigger "^5.0.0"
-rc-tree-select@~4.7.0:
- version "4.7.0"
- resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-4.7.0.tgz#4e612d5ba3f30a51f590e3c0e38e1e4c49f34aef"
- integrity sha512-xcc2yPpQieTW6BcRkcKbT1dcAYCQ7ARtkoHlS9EsNdd6xgw9LA6rek6PMed8r/VRMfiKtWV4c4xijW5PI6s4Rw==
+rc-tree-select@~4.8.0:
+ version "4.8.0"
+ resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-4.8.0.tgz#bcbcfb45553f84a878e4ff037ff00b526a4afa62"
+ integrity sha512-evuVIF7GHCGDdvISdBWl4ZYmG/8foof/RDtzCu/WFLA1tFKZD77RRC3khEsjh4WgsB0vllLe7j+ODJ7jHRcDRQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
- rc-select "~13.1.0-alpha.0"
+ rc-select "~13.2.1"
rc-tree "~5.3.0"
rc-util "^5.7.0"
@@ -11319,7 +11330,7 @@ rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0,
react-is "^16.12.0"
shallowequal "^1.1.0"
-rc-util@^5.14.0, rc-util@^5.16.1:
+rc-util@^5.14.0, rc-util@^5.15.0, rc-util@^5.16.1:
version "5.16.1"
resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.16.1.tgz#374db7cb735512f05165ddc3d6b2c61c21b8b4e3"
integrity sha512-kSCyytvdb3aRxQacS/71ta6c+kBWvM1v8/2h9d/HaNWauc3qB8pLnF20PJ8NajkNN8gb+rR1l0eWO+D4Pz+LLQ==
From 58848481c9b1633b1c78845209abbb8a245fc35e Mon Sep 17 00:00:00 2001
From: Patrick Fic <>
Date: Wed, 8 Dec 2021 17:05:44 -0800
Subject: [PATCH 2/2] IO-1551 Polling mode for unsupported browsers.
---
bodyshop_translations.babel | 21 ++++++++++
client/public/firebase-messaging-sw.js | 1 -
.../chat-affix/chat-affix.container.jsx | 22 ++++++-----
.../chat-popup/chat-popup.component.jsx | 39 ++++++++++++-------
client/src/firebase/firebase.utils.js | 9 ++++-
.../pages/manage/manage.page.component.jsx | 6 ++-
client/src/translations/en_us/common.json | 1 +
client/src/translations/es/common.json | 1 +
client/src/translations/fr/common.json | 1 +
9 files changed, 74 insertions(+), 27 deletions(-)
diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel
index 3c2411d57..06913c288 100644
--- a/bodyshop_translations.babel
+++ b/bodyshop_translations.babel
@@ -29927,6 +29927,27 @@
+
+ nopush
+ false
+
+
+
+
+
+ en-US
+ false
+
+
+ es-MX
+ false
+
+
+ fr-CA
+ false
+
+
+
phonenumber
false
diff --git a/client/public/firebase-messaging-sw.js b/client/public/firebase-messaging-sw.js
index 3bf458e19..7ee3f3d98 100644
--- a/client/public/firebase-messaging-sw.js
+++ b/client/public/firebase-messaging-sw.js
@@ -48,7 +48,6 @@ firebase.initializeApp(firebaseConfig);
const messaging = firebase.messaging();
messaging.onBackgroundMessage(function (payload) {
- console.log("FCM BG MSG", payload);
// Customize notification here
const channel = new BroadcastChannel("imex-sw-messages");
channel.postMessage(payload);
diff --git a/client/src/components/chat-affix/chat-affix.container.jsx b/client/src/components/chat-affix/chat-affix.container.jsx
index 02f7289ac..55fab18bd 100644
--- a/client/src/components/chat-affix/chat-affix.container.jsx
+++ b/client/src/components/chat-affix/chat-affix.container.jsx
@@ -46,11 +46,8 @@ export function ChatAffixContainer({ bodyshop, chatVisible }) {
toggleChatVisible()}
diff --git a/client/src/firebase/firebase.utils.js b/client/src/firebase/firebase.utils.js
index 19f4b6706..87f5189e7 100644
--- a/client/src/firebase/firebase.utils.js
+++ b/client/src/firebase/firebase.utils.js
@@ -38,8 +38,14 @@ export const updateCurrentPassword = async (password) => {
return updatePassword(currentUser, password);
};
+let messaging;
+try {
+ messaging = getMessaging();
+} catch (error) {
+ console.log(error);
+}
-export const messaging = getMessaging();
+export { messaging };
export const requestForToken = () => {
return getToken(messaging, {
@@ -48,6 +54,7 @@ export const requestForToken = () => {
.then((currentToken) => {
if (currentToken) {
console.log("current token for client: ", currentToken);
+ window.sessionStorage.setItem("fcmtoken", currentToken);
// Perform any other necessary action with the token
} else {
// Show permission request UI
diff --git a/client/src/pages/manage/manage.page.component.jsx b/client/src/pages/manage/manage.page.component.jsx
index 7e8571d23..836b73f6d 100644
--- a/client/src/pages/manage/manage.page.component.jsx
+++ b/client/src/pages/manage/manage.page.component.jsx
@@ -185,7 +185,11 @@ export function Manage({ match, conflict, bodyshop }) {
useEffect(() => {
const widgetId = "IABVNO4scRKY11XBQkNr";
window.noticeable.render("widget", widgetId);
- requestForToken();
+ try {
+ requestForToken();
+ } catch (error) {
+ console.log("Unable to request for token.", error);
+ }
}, []);
useEffect(() => {
diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json
index 533dc579d..316f315b2 100644
--- a/client/src/translations/en_us/common.json
+++ b/client/src/translations/en_us/common.json
@@ -1766,6 +1766,7 @@
"messaging": "Messaging",
"noallowtxt": "This customer has not indicated their permission to be messaged.",
"nojobs": "Not associated to any job.",
+ "nopush": "Polling Mode Enabled",
"phonenumber": "Phone #",
"presets": "Presets",
"recentonly": "Only your most recent 50 conversations will be shown here. If you are looking for an older conversation, find the related contact and click their phone number to view the conversation.",
diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json
index b29eea831..2c8dd2ddc 100644
--- a/client/src/translations/es/common.json
+++ b/client/src/translations/es/common.json
@@ -1766,6 +1766,7 @@
"messaging": "Mensajería",
"noallowtxt": "",
"nojobs": "",
+ "nopush": "",
"phonenumber": "",
"presets": "",
"recentonly": "",
diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json
index 581f98b86..ad44e8d23 100644
--- a/client/src/translations/fr/common.json
+++ b/client/src/translations/fr/common.json
@@ -1766,6 +1766,7 @@
"messaging": "Messagerie",
"noallowtxt": "",
"nojobs": "",
+ "nopush": "",
"phonenumber": "",
"presets": "",
"recentonly": "",