// ==UserScript==
// @name Remove ChatGPT Event Listeners
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Removes specific event listeners from window and document
// @match https://chat.openai.com/*
// @run-at document-start
// @grant none
// ==/UserScript==
(function() {
'use strict';
const eventsToRemove = ['focus', 'visibilitychange'];
const overrideEventListener = (obj, funcName) => {
const originalFunction = obj[funcName];
if (typeof originalFunction !== 'function') {
console.error(`${funcName} is not a function on the provided object.`);
return;
}
obj[funcName] = function(type, listener, options) {
if (eventsToRemove.includes(type)) {
console.log(`Prevented ${type} event listener from being added to ${obj === window ? 'window' : 'document'}`);
} else {
originalFunction.call(this, type, listener, options);
}
};
};
overrideEventListener(window, 'addEventListener');
overrideEventListener(document, 'addEventListener');
})();