diff --git a/scriptedforms/e2e/src/utilities/before-and-after.ts b/scriptedforms/e2e/src/utilities/before-and-after.ts index a0946f4..6282cce 100644 --- a/scriptedforms/e2e/src/utilities/before-and-after.ts +++ b/scriptedforms/e2e/src/utilities/before-and-after.ts @@ -34,10 +34,14 @@ export function waitForSpinner() { browser.wait(ExpectedConditions.stalenessOf(spinner)) } +export function customGet(url: string) { + browser.get(`${url}?telemetry=0`) +} + export function before(url: string) { return () => { browser.waitForAngularEnabled(false) - browser.get(url); + customGet(url); browser.wait(ExpectedConditions.presenceOf( element(by.tagName('app-form')) )) diff --git a/scriptedforms/e2e/src/watchdog-test.spec.ts b/scriptedforms/e2e/src/watchdog-test.spec.ts index 1f95b17..30ddc09 100644 --- a/scriptedforms/e2e/src/watchdog-test.spec.ts +++ b/scriptedforms/e2e/src/watchdog-test.spec.ts @@ -30,7 +30,7 @@ import { } from 'protractor'; import { - beforeFromFile, after, waitForSpinner, makeUrlFromFile + beforeFromFile, after, waitForSpinner, makeUrlFromFile, customGet } from './utilities/before-and-after' describe('watchdog-test.md', () => { @@ -43,7 +43,7 @@ describe('watchdog-test.md', () => { createButton.click() waitForSpinner() - browser.get(makeUrlFromFile('watchdog-test.md')) + customGet(makeUrlFromFile('watchdog-test.md')) waitForSpinner() let writeInMe = element(by.css('.write-in-me textarea')) @@ -61,7 +61,7 @@ describe('watchdog-test.md', () => { expect(newHeader.getText()).toEqual(testTextHeading) waitForSpinner() - browser.get(makeUrlFromFile('watchdog-manage.md')) + customGet(makeUrlFromFile('watchdog-manage.md')) waitForSpinner() let deleteButton = element(by.css('.delete-watchdog-test button')) diff --git a/scriptedforms/package.json b/scriptedforms/package.json index 81b9d31..9748b60 100644 --- a/scriptedforms/package.json +++ b/scriptedforms/package.json @@ -1,6 +1,6 @@ { "name": "@simonbiggs/scriptedforms", - "version": "0.10.0-dev4", + "version": "0.10.0-dev5", "license": "AGPL-3.0+", "repository": { "type": "git", diff --git a/scriptedforms/src/app/form-builder-module/form-builder.component.ts b/scriptedforms/src/app/form-builder-module/form-builder.component.ts index 9fc8ae4..57d5478 100644 --- a/scriptedforms/src/app/form-builder-module/form-builder.component.ts +++ b/scriptedforms/src/app/form-builder-module/form-builder.component.ts @@ -94,12 +94,18 @@ export class FormBuilderComponent implements OnInit, AfterViewInit { // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest private _setUsageStatistics(string: string) { if (string) { - crypto.subtle.digest('SHA-256', Buffer.from(string)).then((hash) => { - const intArrayHash = new Uint8Array(hash); - const base64String = btoa(String.fromCharCode.apply(null, intArrayHash)); - const uriEncoded = encodeURIComponent(base64String); - this.telemetry.nativeElement.src = `https://scriptedforms.com.au/telemetry?hash=${uriEncoded}`; - }); + const url = new URL(location.href); + const telemetry = url.searchParams.get('telemetry'); + if (telemetry !== '0') { + crypto.subtle.digest('SHA-256', Buffer.from(string)).then((hash) => { + const intArrayHash = new Uint8Array(hash); + const base64String = btoa(String.fromCharCode.apply(null, intArrayHash)); + const uriEncoded = encodeURIComponent(base64String); + this.telemetry.nativeElement.src = `https://scriptedforms.com.au/telemetry?hash=${uriEncoded}`; + }); + } else { + console.log('telemetry blocked using ?telemetry=0'); + } } }