humanbehavior-js 0.4.11 → 0.4.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/canvas-recording-demo.html +143 -0
- package/dist/cjs/angular/index.cjs +23 -7
- package/dist/cjs/angular/index.cjs.map +1 -1
- package/dist/cjs/index.cjs +12 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/react/index.cjs +20 -12
- package/dist/cjs/react/index.cjs.map +1 -1
- package/dist/cjs/remix/index.cjs +20 -12
- package/dist/cjs/remix/index.cjs.map +1 -1
- package/dist/cjs/svelte/index.cjs +14 -4
- package/dist/cjs/svelte/index.cjs.map +1 -1
- package/dist/cjs/vue/index.cjs +19 -3
- package/dist/cjs/vue/index.cjs.map +1 -1
- package/dist/esm/angular/index.js +23 -7
- package/dist/esm/angular/index.js.map +1 -1
- package/dist/esm/index.js +12 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react/index.js +20 -12
- package/dist/esm/react/index.js.map +1 -1
- package/dist/esm/remix/index.js +20 -12
- package/dist/esm/remix/index.js.map +1 -1
- package/dist/esm/svelte/index.js +14 -4
- package/dist/esm/svelte/index.js.map +1 -1
- package/dist/esm/vue/index.js +19 -3
- package/dist/esm/vue/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/types/angular/index.d.ts +21 -2
- package/dist/types/index.d.ts +2 -0
- package/dist/types/react/index.d.ts +4 -0
- package/dist/types/remix/index.d.ts +4 -0
- package/dist/types/svelte/index.d.ts +9 -1
- package/dist/types/vue/index.d.ts +5 -0
- package/package.json +1 -1
- package/readme.md +20 -1
- package/src/angular/index.ts +31 -6
- package/src/react/index.tsx +12 -13
- package/src/svelte/index.ts +8 -2
- package/src/tracker.ts +14 -2
- package/src/vue/index.ts +12 -1
package/dist/esm/index.js
CHANGED
|
@@ -13179,6 +13179,7 @@ class HumanBehaviorTracker {
|
|
|
13179
13179
|
* This is the main entry point - call this once per page
|
|
13180
13180
|
*/
|
|
13181
13181
|
static init(apiKey, options) {
|
|
13182
|
+
var _a;
|
|
13182
13183
|
// ✅ SUPPRESS COMMON RRWEB ERRORS FOR CLEAN CONSOLE
|
|
13183
13184
|
if (isBrowser && (options === null || options === void 0 ? void 0 : options.suppressConsoleErrors) !== false) {
|
|
13184
13185
|
// Suppress canvas security errors
|
|
@@ -13237,6 +13238,8 @@ class HumanBehaviorTracker {
|
|
|
13237
13238
|
}
|
|
13238
13239
|
// Create new tracker instance
|
|
13239
13240
|
const tracker = new HumanBehaviorTracker(apiKey, options === null || options === void 0 ? void 0 : options.ingestionUrl);
|
|
13241
|
+
// Store canvas recording preference
|
|
13242
|
+
tracker.recordCanvas = (_a = options === null || options === void 0 ? void 0 : options.recordCanvas) !== null && _a !== void 0 ? _a : false;
|
|
13240
13243
|
// Set redacted fields if specified
|
|
13241
13244
|
if (options === null || options === void 0 ? void 0 : options.redactFields) {
|
|
13242
13245
|
tracker.setRedactedFields(options.redactFields);
|
|
@@ -13275,6 +13278,7 @@ class HumanBehaviorTracker {
|
|
|
13275
13278
|
this.sessionStartTime = Date.now();
|
|
13276
13279
|
this.rrwebRecord = null;
|
|
13277
13280
|
this.fullSnapshotTimeout = null;
|
|
13281
|
+
this.recordCanvas = false; // Store canvas recording preference
|
|
13278
13282
|
if (!apiKey) {
|
|
13279
13283
|
throw new Error('Human Behavior API Key is required');
|
|
13280
13284
|
}
|
|
@@ -13857,9 +13861,15 @@ class HumanBehaviorTracker {
|
|
|
13857
13861
|
slimDOMOptions: {},
|
|
13858
13862
|
// ✅ ERROR SUPPRESSION SETTINGS - Disabled to prevent console noise
|
|
13859
13863
|
collectFonts: false, // Disable font collection to reduce errors
|
|
13860
|
-
inlineStylesheet:
|
|
13864
|
+
inlineStylesheet: true, // Keep styles for proper session replay
|
|
13861
13865
|
recordCrossOriginIframes: false, // Prevent cross-origin iframe errors
|
|
13862
|
-
|
|
13866
|
+
// ✅ CANVAS RECORDING - PostHog-style protection against overwhelm
|
|
13867
|
+
recordCanvas: this.recordCanvas, // Opt-in only
|
|
13868
|
+
sampling: this.recordCanvas ? { canvas: 4 } : undefined, // 4 FPS throttle
|
|
13869
|
+
dataURLOptions: this.recordCanvas ? {
|
|
13870
|
+
type: 'image/webp',
|
|
13871
|
+
quality: 0.4
|
|
13872
|
+
} : undefined, // WebP with 40% quality
|
|
13863
13873
|
// ✅ FULLSNAPSHOT GENERATION - No periodic snapshots to avoid animation issues
|
|
13864
13874
|
// Rely on initial FullSnapshot + navigation-triggered ones only
|
|
13865
13875
|
});
|