-
Marcel Kehrberg authored
- wenn das Addon reconenter widerherstellung allter informationen - block Einstellungen werden übergeben - Beim Ende, beim Abbruch oder beim Beednen des Programs wird das Addon benachrichtigt - das Distration Objekt wird jetzt richtig im addon erstellt
Marcel Kehrberg authored- wenn das Addon reconenter widerherstellung allter informationen - block Einstellungen werden übergeben - Beim Ende, beim Abbruch oder beim Beednen des Programs wird das Addon benachrichtigt - das Distration Objekt wird jetzt richtig im addon erstellt
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
background.js 4.68 KiB
let socket;
let trackingAktiv = false;
let isConnected = false;
let distraktions;
let withBlock;
function connectWebSocket() {
if (isConnected) {
console.log("Bereits verbunden.");
return;
}
// Versuche, eine Verbindung herzustellen
socket = new WebSocket("ws://localhost:8080");
// Timeout für die Verbindung (z.B. 5 Sekunden)
let connectionTimeout = setTimeout(() => {
console.log("Verbindung timeout, Server reagiert nicht.");
socket.close(); // Schließt den WebSocket
isConnected = false; // Setzt isConnected auf false
}, 5000); // Timeout nach 5 Sekunden
socket.onopen = function() {
console.log("Verbunden mit der WPF-Anwendung.");
clearTimeout(connectionTimeout);
isConnected = true; // Markiere als verbunden
socket.send("{\"action\": \"connected\", \"status\": true}");
};
// Empfang von Nachrichten
socket.onmessage = function(event) {
const message = parseMessage(event.data);
//console.log("Nachricht empfangen: ", message);
//navigator.clipboard.writeText(message);
if(message.action === "sendJsonContent") {
//navigator.clipboard.writeText(message);
distraktions = createDistractionList(message);
}
if (message.action === "startTracking" && message.status === true) {
console.log("Tracking gestartet.");
addTabListeners();
trackingAktiv = true;
} else if (message.action === "stopTracking" && message.status === false) {
console.log("Tracking gestoppt.");
removeTabListeners();
trackingAktiv = false;
}
if (message.action === "BlockMode" && message.status === true) {
withBlock = true;
console.log("Nachricht empfangen: ", message);
} else if(message.action === "noBlockMode" && message.status === false) {
withBlock = false;
console.log("Nachricht empfangen: ", message);
}
};
socket.onclose = function() {
console.log("Verbindung geschlossen.");
isConnected = false;
removeTabListeners();
trackingAktiv = false;
// Versuche, nach einer kurzen Zeit erneut eine Verbindung herzustellen
setTimeout(connectWebSocket, 5000); // 5 Sekunden warten, bevor erneut versucht wird
};
socket.onerror = function(error) {
console.error("WebSocket Fehler:", error);