diff --git a/lerna.json b/lerna.json index 4101c39c..5f9363da 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.7.34", + "version": "0.7.35", "npmClient": "yarn", "useWorkspaces": true } diff --git a/packages/clarity-decode/package.json b/packages/clarity-decode/package.json index 70246019..b82ed02d 100644 --- a/packages/clarity-decode/package.json +++ b/packages/clarity-decode/package.json @@ -1,6 +1,6 @@ { "name": "clarity-decode", - "version": "0.7.34", + "version": "0.7.35", "description": "An analytics library that uses web page interactions to generate aggregated insights", "author": "Microsoft Corp.", "license": "MIT", diff --git a/packages/clarity-devtools/package.json b/packages/clarity-devtools/package.json index 54181492..ff5a0bc4 100644 --- a/packages/clarity-devtools/package.json +++ b/packages/clarity-devtools/package.json @@ -1,6 +1,6 @@ { "name": "clarity-devtools", - "version": "0.7.34", + "version": "0.7.35", "private": true, "description": "Adds Clarity debugging support to browser devtools", "author": "Microsoft Corp.", diff --git a/packages/clarity-devtools/static/manifest.json b/packages/clarity-devtools/static/manifest.json index a780545c..ef240072 100644 --- a/packages/clarity-devtools/static/manifest.json +++ b/packages/clarity-devtools/static/manifest.json @@ -2,8 +2,8 @@ "manifest_version": 2, "name": "Microsoft Clarity Developer Tools", "description": "Clarity helps you understand how users are interacting with your website.", - "version": "0.7.34", - "version_name": "0.7.34", + "version": "0.7.35", + "version_name": "0.7.35", "minimum_chrome_version": "50", "devtools_page": "devtools.html", "icons": { diff --git a/packages/clarity-js/package.json b/packages/clarity-js/package.json index 9f70765b..00df8db9 100644 --- a/packages/clarity-js/package.json +++ b/packages/clarity-js/package.json @@ -1,6 +1,6 @@ { "name": "clarity-js", - "version": "0.7.34", + "version": "0.7.35", "description": "An analytics library that uses web page interactions to generate aggregated insights", "author": "Microsoft Corp.", "license": "MIT", diff --git a/packages/clarity-js/src/core/version.ts b/packages/clarity-js/src/core/version.ts index cbf00ad8..27eb0a1f 100644 --- a/packages/clarity-js/src/core/version.ts +++ b/packages/clarity-js/src/core/version.ts @@ -1,2 +1,2 @@ -let version = "0.7.34"; +let version = "0.7.35"; export default version; diff --git a/packages/clarity-js/src/insight/blank.ts b/packages/clarity-js/src/insight/blank.ts index 9f88a6c7..4ee308c4 100644 --- a/packages/clarity-js/src/insight/blank.ts +++ b/packages/clarity-js/src/insight/blank.ts @@ -1,4 +1,6 @@ export let state = []; +export let sheetAdoptionState = []; +export let sheetUpdateState = []; export let data = null; /* Intentionally blank module with empty code */ diff --git a/packages/clarity-js/src/insight/style.ts b/packages/clarity-js/src/insight/style.ts index 965c6ae7..aedc7940 100644 --- a/packages/clarity-js/src/insight/style.ts +++ b/packages/clarity-js/src/insight/style.ts @@ -3,13 +3,12 @@ import { StyleSheetState } from "@clarity-types/layout"; import * as core from "@src/core"; import * as metric from "@src/data/metric"; -export let state: StyleSheetState[] = []; +export let sheetAdoptionState: StyleSheetState[] = []; +export let sheetUpdateState: StyleSheetState[] = []; let replace: (text?: string) => Promise = null; let replaceSync: (text?: string) => void = null; export function start(): void { - reset(); - if (replace === null) { replace = CSSStyleSheet.prototype.replace; CSSStyleSheet.prototype.replace = function(): Promise { @@ -44,7 +43,8 @@ export function compute(): void { } export function reset(): void { - state = []; + sheetAdoptionState = []; + sheetUpdateState = []; } export function stop(): void { diff --git a/packages/clarity-js/src/layout/encode.ts b/packages/clarity-js/src/layout/encode.ts index 3400bf48..a0ddb294 100644 --- a/packages/clarity-js/src/layout/encode.ts +++ b/packages/clarity-js/src/layout/encode.ts @@ -38,17 +38,15 @@ export default async function (type: Event, timer: Timer = null, ts: number = nu region.reset(); break; case Event.StyleSheetAdoption: - for (let entry of style.state) { + case Event.StyleSheetUpdate: + for (let entry of style.sheetAdoptionState) { tokens = [entry.time, entry.event]; tokens.push(entry.data.id); tokens.push(entry.data.operation); tokens.push(entry.data.newIds); queue(tokens); } - style.reset(); - break; - case Event.StyleSheetUpdate: - for (let entry of style.state) { + for (let entry of style.sheetUpdateState) { tokens = [entry.time, entry.event]; tokens.push(entry.data.id); tokens.push(entry.data.operation); @@ -56,6 +54,7 @@ export default async function (type: Event, timer: Timer = null, ts: number = nu queue(tokens); } style.reset(); + break; case Event.Animation: for (let entry of animation.state) { tokens = [entry.time, entry.event]; diff --git a/packages/clarity-js/src/layout/style.ts b/packages/clarity-js/src/layout/style.ts index e7b9ca87..b6757416 100644 --- a/packages/clarity-js/src/layout/style.ts +++ b/packages/clarity-js/src/layout/style.ts @@ -7,8 +7,10 @@ import { getId, getNode } from "@src/layout/dom"; import * as core from "@src/core"; import { getCssRules } from "./node"; import * as metric from "@src/data/metric"; +import { schedule } from "@src/core/task"; -export let state: StyleSheetState[] = []; +export let sheetUpdateState: StyleSheetState[] = []; +export let sheetAdoptionState: StyleSheetState[] = []; let replace: (text?: string) => Promise = null; let replaceSync: (text?: string) => void = null; const styleSheetId = 'claritySheetId'; @@ -17,8 +19,6 @@ let styleSheetMap = {}; let styleTimeMap: {[key: string]: number} = {}; export function start(): void { - reset(); - if (replace === null) { replace = CSSStyleSheet.prototype.replace; CSSStyleSheet.prototype.replace = function(): Promise { @@ -96,7 +96,8 @@ export function compute(): void { } export function reset(): void { - state = []; + sheetAdoptionState = []; + sheetUpdateState = []; } export function stop(): void { @@ -106,7 +107,7 @@ export function stop(): void { } function trackStyleChange(time: number, id: string, operation: StyleSheetOperation, cssRules?: string): void { - state.push({ + sheetUpdateState.push({ time, event: Event.StyleSheetUpdate, data: { @@ -120,7 +121,7 @@ function trackStyleChange(time: number, id: string, operation: StyleSheetOperati } function trackStyleAdoption(time: number, id: number, operation: StyleSheetOperation, newIds: string[]): void { - state.push({ + sheetAdoptionState.push({ time, event: Event.StyleSheetAdoption, data: { diff --git a/packages/clarity-visualize/package.json b/packages/clarity-visualize/package.json index fdbc0060..688408fe 100644 --- a/packages/clarity-visualize/package.json +++ b/packages/clarity-visualize/package.json @@ -1,6 +1,6 @@ { "name": "clarity-visualize", - "version": "0.7.34", + "version": "0.7.35", "description": "An analytics library that uses web page interactions to generate aggregated insights", "author": "Microsoft Corp.", "license": "MIT",