From 8880920c9797a46bff75673e27f7811d88bfcb97 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 9 Apr 2024 15:22:02 +0100 Subject: [PATCH 1/4] Remove the test container logs. --- .github/workflows/budibase_ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/budibase_ci.yml b/.github/workflows/budibase_ci.yml index 42d73ba8bb..0bbed77458 100644 --- a/.github/workflows/budibase_ci.yml +++ b/.github/workflows/budibase_ci.yml @@ -92,7 +92,6 @@ jobs: test-libraries: runs-on: ubuntu-latest env: - DEBUG: testcontainers,testcontainers:exec,testcontainers:build,testcontainers:pull REUSE_CONTAINERS: true steps: - name: Checkout repo @@ -151,7 +150,6 @@ jobs: test-server: runs-on: budi-tubby-tornado-quad-core-150gb env: - DEBUG: testcontainers,testcontainers:exec,testcontainers:build,testcontainers:pull REUSE_CONTAINERS: true steps: - name: Checkout repo From 16bf48586daaeabd536dbc5c8ad67864b96a722d Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 9 Apr 2024 15:22:31 +0100 Subject: [PATCH 2/4] Run top level 'test' sequentially, rather than in parallel, which can cause problems, also use REUSE_CONTAINERS by default. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d99304423a..2816247939 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "dev:all": "yarn run kill-all && lerna run --stream dev", "dev:built": "yarn run kill-all && cd packages/server && yarn dev:stack:up && cd ../../ && lerna run --stream dev:built", "dev:docker": "yarn build --scope @budibase/server --scope @budibase/worker && docker-compose -f hosting/docker-compose.build.yaml -f hosting/docker-compose.dev.yaml --env-file hosting/.env up --build --scale proxy-service=0", - "test": "lerna run --stream test --stream", + "test": "REUSE_CONTAINERS=1 lerna run --concurrency 1 --stream test --stream", "lint:eslint": "eslint packages --max-warnings=0", "lint:prettier": "prettier --check \"packages/**/*.{js,ts,svelte}\" && prettier --write \"examples/**/*.{js,ts,svelte}\"", "lint": "yarn run lint:eslint && yarn run lint:prettier", From 923ae021a194f0db25ebb9bb52fd18783d560725 Mon Sep 17 00:00:00 2001 From: melohagan <101575380+melohagan@users.noreply.github.com> Date: Tue, 9 Apr 2024 15:24:03 +0100 Subject: [PATCH 3/4] Feature/nps survey (#13423) * get process env in JS file * Hard-code posthog token * Set posthog key based on env * Don't run posthog locally in dev * fix * Only run posthog analytics in prod * Don't use posthog in dev * Revert posthog code changes. * Remove intercom * lint --- .../builder/src/analytics/IntercomClient.js | 95 ------------------- packages/builder/src/analytics/index.js | 14 +-- .../src/components/deploy/AppActions.svelte | 5 - packages/builder/src/stores/portal/auth.js | 15 --- packages/builder/vite.config.js | 3 - 5 files changed, 1 insertion(+), 131 deletions(-) delete mode 100644 packages/builder/src/analytics/IntercomClient.js diff --git a/packages/builder/src/analytics/IntercomClient.js b/packages/builder/src/analytics/IntercomClient.js deleted file mode 100644 index 1c98b479cc..0000000000 --- a/packages/builder/src/analytics/IntercomClient.js +++ /dev/null @@ -1,95 +0,0 @@ -export default class IntercomClient { - constructor(token) { - this.token = token - } - - // - /** - * Instantiate intercom using their provided script. - */ - init() { - if (!this.token) return - - const token = this.token - - var w = window - var ic = w.Intercom - if (typeof ic === "function") { - ic("reattach_activator") - ic("update", w.intercomSettings) - } else { - var d = document - var i = function () { - i.c(arguments) - } - i.q = [] - i.c = function (args) { - i.q.push(args) - } - w.Intercom = i - var l = function () { - var s = d.createElement("script") - s.type = "text/javascript" - s.async = true - s.src = "https://widget.intercom.io/widget/" + token - var x = d.getElementsByTagName("script")[0] - x.parentNode.insertBefore(s, x) - } - if (document.readyState === "complete") { - l() - } else if (w.attachEvent) { - w.attachEvent("onload", l) - } else { - w.addEventListener("load", l, false) - } - - this.initialised = true - } - } - - /** - * Show the intercom chat bubble. - * @param {Object} user - user to identify - * @returns Intercom global object - */ - show(user = {}, enabled) { - if (!this.initialised || !enabled) return - - return window.Intercom("boot", { - app_id: this.token, - ...user, - }) - } - - /** - * Update intercom user details and messages. - * @returns Intercom global object - */ - update() { - if (!this.initialised) return - - return window.Intercom("update") - } - - /** - * Capture analytics events and send them to intercom. - * @param {String} event - event identifier - * @param {Object} props - properties for the event - * @returns Intercom global object - */ - captureEvent(event, props = {}) { - if (!this.initialised) return - - return window.Intercom("trackEvent", event, props) - } - - /** - * Disassociate the user from the current session. - * @returns Intercom global object - */ - logout() { - if (!this.initialised) return - - return window.Intercom("shutdown") - } -} diff --git a/packages/builder/src/analytics/index.js b/packages/builder/src/analytics/index.js index a0ddfe1d42..c9887aebc3 100644 --- a/packages/builder/src/analytics/index.js +++ b/packages/builder/src/analytics/index.js @@ -1,14 +1,12 @@ import { API } from "api" import PosthogClient from "./PosthogClient" -import IntercomClient from "./IntercomClient" import { Events, EventSource } from "./constants" const posthog = new PosthogClient(process.env.POSTHOG_TOKEN) -const intercom = new IntercomClient(process.env.INTERCOM_TOKEN) class AnalyticsHub { constructor() { - this.clients = [posthog, intercom] + this.clients = [posthog] this.initialised = false } @@ -31,20 +29,10 @@ class AnalyticsHub { captureEvent(eventName, props = {}) { posthog.captureEvent(eventName, props) - intercom.captureEvent(eventName, props) - } - - showChat(user) { - intercom.show(user) - } - - initPosthog() { - posthog.init() } async logout() { posthog.logout() - intercom.logout() } } diff --git a/packages/builder/src/components/deploy/AppActions.svelte b/packages/builder/src/components/deploy/AppActions.svelte index 30b95d639e..105d1ed958 100644 --- a/packages/builder/src/components/deploy/AppActions.svelte +++ b/packages/builder/src/components/deploy/AppActions.svelte @@ -32,7 +32,6 @@ import TourWrap from "components/portal/onboarding/TourWrap.svelte" import { TOUR_STEP_KEYS } from "components/portal/onboarding/tours.js" import { goto } from "@roxi/routify" - import { onMount } from "svelte" export let application export let loaded @@ -151,10 +150,6 @@ notifications.error("Error refreshing app") } } - - onMount(() => { - analytics.initPosthog() - }) diff --git a/packages/builder/src/stores/portal/auth.js b/packages/builder/src/stores/portal/auth.js index 8caf541f98..2d2b455b37 100644 --- a/packages/builder/src/stores/portal/auth.js +++ b/packages/builder/src/stores/portal/auth.js @@ -2,7 +2,6 @@ import { derived, writable, get } from "svelte/store" import { API } from "api" import { admin } from "stores/portal" import analytics from "analytics" -import { sdk } from "@budibase/shared-core" export function createAuthStore() { const auth = writable({ @@ -42,20 +41,6 @@ export function createAuthStore() { .activate() .then(() => { analytics.identify(user._id) - analytics.showChat( - { - email: user.email, - created_at: (user.createdAt || Date.now()) / 1000, - name: user.account?.name, - user_id: user._id, - tenant: user.tenantId, - admin: sdk.users.isAdmin(user), - builder: sdk.users.isBuilder(user), - "Company size": user.account?.size, - "Job role": user.account?.profession, - }, - !!user?.account - ) }) .catch(() => { // This request may fail due to browser extensions blocking requests diff --git a/packages/builder/vite.config.js b/packages/builder/vite.config.js index 82cd80efed..311d60aa6a 100644 --- a/packages/builder/vite.config.js +++ b/packages/builder/vite.config.js @@ -77,9 +77,6 @@ export default defineConfig(({ mode }) => { isProduction ? "production" : "development" ), "process.env.POSTHOG_TOKEN": JSON.stringify(process.env.POSTHOG_TOKEN), - "process.env.INTERCOM_TOKEN": JSON.stringify( - process.env.INTERCOM_TOKEN - ), }), copyFonts("fonts"), ...(isProduction ? [] : devOnlyPlugins), From 9be61c431c04e83426ece8e309741fbdc175b37d Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 9 Apr 2024 14:30:48 +0000 Subject: [PATCH 4/4] Bump version to 2.22.19 --- lerna.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lerna.json b/lerna.json index 74b10c07ea..4d9c874988 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.22.18", + "version": "2.22.19", "npmClient": "yarn", "packages": [ "packages/*",