Steel / api /extensions /recorder /src /inject.js
supernovagateway's picture
Upload folder using huggingface_hub
fb38ec5 verified
import { record } from "rrweb";
import { pack } from "@rrweb/packer";
record({
emit: (event) => {
chrome.runtime.sendMessage(
{
type: "SAVE_EVENTS",
events: [event],
},
(response) => {
if (!response.success) {
console.error("[Recorder] Failed to save events:", response.error);
}
},
);
},
packFn: pack,
sampling: {
media: 800,
},
inlineImages: true,
collectFonts: true,
recordCrossOriginIframes: true,
recordCanvas: true,
});
const enableWebRtcSites = ["meet.google.com", "zoom.us", "discord.com"];
try {
const hostname = new URL(window.location.href).hostname;
const shouldDisableWebRtc = !enableWebRtcSites.includes(hostname);
if (shouldDisableWebRtc) {
navigator.mediaDevices.getUserMedia =
navigator.webkitGetUserMedia =
navigator.mozGetUserMedia =
navigator.getUserMedia =
webkitRTCPeerConnection =
RTCPeerConnection =
MediaStreamTrack =
undefined;
Object.defineProperty(window, "RTCPeerConnection", {
get: () => {
return {};
},
});
Object.defineProperty(window, "RTCDataChannel", {
get: () => {
return {};
},
});
}
} catch (e) {
console.error(`Error processing URL for WebRTC blocking: ${e}`);
}