From 5a52d5748666b2b440a7a08c9d1195068c499496 Mon Sep 17 00:00:00 2001 From: Ankit Srivastava <67647761+ankitsrivas14@users.noreply.github.com> Date: Mon, 15 May 2023 16:48:34 +0530 Subject: [PATCH] fix: send empty license key to intercom for CE (#23149) Sending licence key to intercom after consent is given. For CE users, sending license key as empty string. The consent popup is not required for cloud hosting users. #### Type of change - Bug fix (non-breaking change which fixes an issue) > > #### Fixes https://github.com/appsmithorg/cloud-services/issues/810 > > ## Testing > #### How Has This Been Tested? - [ ] Manual > > #### Test Plan > Add Testsmith test cases links that relate to this PR > > #### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) > > > ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --- app/client/src/ce/utils/licenseHelpers.ts | 1 + .../designSystems/appsmith/help/DocumentationSearch.tsx | 2 +- app/client/src/ee/utils/licenseHelpers.ts | 1 + app/client/src/utils/bootIntercom.ts | 3 ++- 4 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 app/client/src/ce/utils/licenseHelpers.ts create mode 100644 app/client/src/ee/utils/licenseHelpers.ts diff --git a/app/client/src/ce/utils/licenseHelpers.ts b/app/client/src/ce/utils/licenseHelpers.ts new file mode 100644 index 0000000000..c48fe56460 --- /dev/null +++ b/app/client/src/ce/utils/licenseHelpers.ts @@ -0,0 +1 @@ +export const getLicenseKey = () => ""; diff --git a/app/client/src/components/designSystems/appsmith/help/DocumentationSearch.tsx b/app/client/src/components/designSystems/appsmith/help/DocumentationSearch.tsx index 44bec5eb74..73469d8a8c 100644 --- a/app/client/src/components/designSystems/appsmith/help/DocumentationSearch.tsx +++ b/app/client/src/components/designSystems/appsmith/help/DocumentationSearch.tsx @@ -93,7 +93,7 @@ function DefaultHelpMenuItem(props: { if (props.item.link) window.open(props.item.link, "_blank"); if (props.item.id === "intercom-trigger") { if (intercomAppID && window.Intercom) { - if (user?.isIntercomConsentGiven) { + if (user?.isIntercomConsentGiven || cloudHosting) { window.Intercom("show"); } else { props.showIntercomConsent(true); diff --git a/app/client/src/ee/utils/licenseHelpers.ts b/app/client/src/ee/utils/licenseHelpers.ts new file mode 100644 index 0000000000..7e89ddc21c --- /dev/null +++ b/app/client/src/ee/utils/licenseHelpers.ts @@ -0,0 +1 @@ +export * from "ce/utils/licenseHelpers"; diff --git a/app/client/src/utils/bootIntercom.ts b/app/client/src/utils/bootIntercom.ts index 82b4eb0b0d..be1d64286e 100644 --- a/app/client/src/utils/bootIntercom.ts +++ b/app/client/src/utils/bootIntercom.ts @@ -1,6 +1,7 @@ import type { User } from "constants/userConstants"; import { getAppsmithConfigs } from "@appsmith/configs"; import { sha256 } from "js-sha256"; +import { getLicenseKey } from "@appsmith/utils/licenseHelpers"; const { appVersion, cloudHosting, intercomAppID } = getAppsmithConfigs(); @@ -35,7 +36,7 @@ export const updateIntercomProperties = (instanceId: string, user?: User) => { !cloudHosting ? appVersion.edition : "" } ${appVersion.id}`, instanceId, - "License ID": "3rd license", + "License ID": getLicenseKey(), }); } };