let buffer: { event: string; args: any[] }[] = []
+let devtoolsNotInstalled = false
+
function emit(event: string, ...args: any[]) {
if (devtools) {
devtools.emit(event, ...args)
- } else {
+ } else if (!devtoolsNotInstalled) {
buffer.push({ event, args })
}
}
// clear buffer after 3s - the user probably doesn't have devtools installed
// at all, and keeping the buffer will cause memory leaks (#4738)
setTimeout(() => {
- buffer = []
+ if (!devtools) {
+ devtoolsNotInstalled = true
+ buffer = []
+ }
}, 3000)
}
}