humanbehavior-js 0.2.5 → 0.2.6
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/dist/cjs/index.js +32 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +32 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
- package/src/tracker.ts +32 -1
package/package.json
CHANGED
package/src/tracker.ts
CHANGED
|
@@ -762,6 +762,21 @@ export class HumanBehaviorTracker {
|
|
|
762
762
|
// Start recording with redaction enabled
|
|
763
763
|
rrweb.record({
|
|
764
764
|
emit: (event) => {
|
|
765
|
+
// Add additional validation for FullSnapshot events
|
|
766
|
+
if (event.type === 2) { // FullSnapshot event
|
|
767
|
+
if (!event.data || !event.data.node) {
|
|
768
|
+
logWarn('rrweb generated malformed FullSnapshot event:', {
|
|
769
|
+
hasData: !!event.data,
|
|
770
|
+
hasNode: !!(event.data && event.data.node),
|
|
771
|
+
dataType: typeof event.data,
|
|
772
|
+
eventType: event.type,
|
|
773
|
+
timestamp: event.timestamp
|
|
774
|
+
});
|
|
775
|
+
// Don't skip - let the addEvent method handle it
|
|
776
|
+
} else {
|
|
777
|
+
logDebug('Valid FullSnapshot event received from rrweb');
|
|
778
|
+
}
|
|
779
|
+
}
|
|
765
780
|
this.addEvent(event);
|
|
766
781
|
},
|
|
767
782
|
inlineStylesheet: true,
|
|
@@ -770,7 +785,10 @@ export class HumanBehaviorTracker {
|
|
|
770
785
|
inlineImages: true,
|
|
771
786
|
blockClass: 'rr-block',
|
|
772
787
|
ignoreClass: 'rr-ignore',
|
|
773
|
-
maskTextClass: 'rr-ignore'
|
|
788
|
+
maskTextClass: 'rr-ignore',
|
|
789
|
+
// Add more robust configuration
|
|
790
|
+
checkoutEveryNms: 5000, // Take full snapshot every 5 seconds
|
|
791
|
+
checkoutEveryNth: 100 // Take full snapshot every 100 events
|
|
774
792
|
});
|
|
775
793
|
}
|
|
776
794
|
|
|
@@ -793,6 +811,19 @@ export class HumanBehaviorTracker {
|
|
|
793
811
|
public async addEvent(event: any) {
|
|
794
812
|
await this.ensureInitialized();
|
|
795
813
|
|
|
814
|
+
// Validate FullSnapshot events before processing
|
|
815
|
+
if (event.type === 2) { // FullSnapshot event
|
|
816
|
+
if (!event.data || !event.data.node) {
|
|
817
|
+
logWarn('Malformed FullSnapshot event detected, skipping:', {
|
|
818
|
+
hasData: !!event.data,
|
|
819
|
+
hasNode: !!(event.data && event.data.node),
|
|
820
|
+
dataType: typeof event.data,
|
|
821
|
+
eventType: event.type
|
|
822
|
+
});
|
|
823
|
+
return; // Skip malformed FullSnapshot events
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
|
|
796
827
|
// Process event through redaction manager if active
|
|
797
828
|
const processedEvent = this.redactionManager.processEvent(event);
|
|
798
829
|
|