fix(tracker): iframe network tracking
This commit is contained in:
parent
5ddb0bbad4
commit
bd935b2f97
4 changed files with 20 additions and 15 deletions
|
|
@ -24,18 +24,27 @@ function error(...args) {
|
|||
}
|
||||
|
||||
let groupTm = {};
|
||||
let groupedLogs = {};
|
||||
|
||||
function group(groupName, ...args) {
|
||||
if (!window.env.PRODUCTION || options.verbose) {
|
||||
if (!groupTm[groupName]) {
|
||||
groupTm[groupName] = setTimeout(() => {
|
||||
console.groupEnd()
|
||||
delete groupTm[groupName]
|
||||
}, 500);
|
||||
console.groupCollapsed(groupName);
|
||||
if (groupTm[groupName]) {
|
||||
clearTimeout(groupTm[groupName])
|
||||
groupTm[groupName] = null
|
||||
} else {
|
||||
groupedLogs[groupName] = []
|
||||
}
|
||||
console.log(...args);
|
||||
groupedLogs[groupName].push(args);
|
||||
|
||||
groupTm[groupName] = setTimeout(() => {
|
||||
console.groupCollapsed(groupName)
|
||||
groupedLogs[groupName].forEach((log) => {
|
||||
console.log(...log)
|
||||
})
|
||||
console.groupEnd()
|
||||
delete groupTm[groupName]
|
||||
delete groupedLogs[groupName]
|
||||
}, 500)
|
||||
options.exceptionsLogs.push(args)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import type { RawMessage } from './raw.gen';
|
|||
import { MType } from './raw.gen';
|
||||
import RawMessageReader from './RawMessageReader.gen';
|
||||
import resolveURL from './urlBasedResolver'
|
||||
|
||||
import Logger from 'App/logger'
|
||||
|
||||
// TODO: composition instead of inheritance
|
||||
// needSkipMessage() and next() methods here use buf and p protected properties,
|
||||
|
|
@ -59,10 +59,8 @@ export default class MFileReader extends RawMessageReader {
|
|||
if (!skippedMessage) {
|
||||
return null
|
||||
}
|
||||
this.logger.group("Openreplay: Skipping messages ", skippedMessage)
|
||||
|
||||
Logger.group("Openreplay: Skipping messages ", skippedMessage)
|
||||
}
|
||||
|
||||
this.pLastMessageID = this.p
|
||||
|
||||
const rMsg = this.readRawMessage()
|
||||
|
|
|
|||
|
|
@ -1,13 +1,10 @@
|
|||
import Observer from './observer.js'
|
||||
import { CreateIFrameDocument } from '../messages.gen.js'
|
||||
import Network from '../../modules/network.js'
|
||||
|
||||
export default class IFrameObserver extends Observer {
|
||||
observe(iframe: HTMLIFrameElement) {
|
||||
const doc = iframe.contentDocument
|
||||
const iWindow = iframe.contentWindow
|
||||
const hostID = this.app.nodes.getID(iframe)
|
||||
console.log(iframe)
|
||||
if (!doc || hostID === undefined) {
|
||||
return
|
||||
} //log TODO common app.logger
|
||||
|
|
@ -19,7 +16,6 @@ export default class IFrameObserver extends Observer {
|
|||
return
|
||||
}
|
||||
this.app.send(CreateIFrameDocument(hostID, docID))
|
||||
Network(this.app, this.app.networkOptions, iWindow!)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import Observer from './observer.js'
|
||||
import { isElementNode, hasTag } from '../guards.js'
|
||||
import Network from '../../modules/network.js'
|
||||
|
||||
import IFrameObserver from './iframe_observer.js'
|
||||
import ShadowRootObserver from './shadow_root_observer.js'
|
||||
|
|
@ -92,6 +93,7 @@ export default class TopObserver extends Observer {
|
|||
//TODO: more explicit logic
|
||||
) {
|
||||
this.contextsSet.add(currentWin)
|
||||
Network(this.app, this.app.networkOptions, currentWin)
|
||||
//@ts-ignore https://github.com/microsoft/TypeScript/issues/41684
|
||||
this.contextCallbacks.forEach((cb) => cb(currentWin))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue