From 28d366ab19cdf85fdad4537db9762e40c86d4da6 Mon Sep 17 00:00:00 2001 From: Araxeus <78568641+Araxeus@users.noreply.github.com> Date: Mon, 5 Apr 2021 03:04:06 +0300 Subject: [PATCH] add back-to-front logger This somehow fix "did-fail-load" being called on song start, with in-app-plugin-activated --- index.js | 23 +++++++++++++++++++++-- preload.js | 4 ++++ providers/logger.js | 14 ++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 providers/logger.js diff --git a/index.js b/index.js index baa8c49c..97f4dcb5 100644 --- a/index.js +++ b/index.js @@ -163,10 +163,29 @@ app.on("browser-window-created", (event, win) => { createdWindow = true; loadPlugins(win); - win.webContents.on("did-fail-load", () => { + win.webContents.on("did-fail-load", ( + event, + errorCode, + errorDescription, + validatedURL, + isMainFrame, + frameProcessId, + frameRoutingId, + ) => { + let log = { + error: "did-fail-load", + event, + errorCode, + errorDescription, + validatedURL, + isMainFrame, + frameProcessId, + frameRoutingId, + }; if (is.dev()) { - console.log("did fail load"); + console.log(log); } + win.webContents.send("log", log); win.webContents.loadFile(path.join(__dirname, "error.html")); }); diff --git a/preload.js b/preload.js index 94f2a72a..33e67306 100644 --- a/preload.js +++ b/preload.js @@ -32,6 +32,10 @@ document.addEventListener("DOMContentLoaded", () => { // inject song-info provider const songInfoProviderPath = path.join(__dirname, "providers", "song-info-front.js") fileExists(songInfoProviderPath, require(songInfoProviderPath)); + + // inject front logger + const loggerPath = path.join(__dirname, "providers", "logger.js") + fileExists(loggerPath, require(loggerPath)); // Add action for reloading global.reload = () => diff --git a/providers/logger.js b/providers/logger.js new file mode 100644 index 00000000..84163c52 --- /dev/null +++ b/providers/logger.js @@ -0,0 +1,14 @@ +const { ipcRenderer } = require("electron"); + +module.exports = () => { + ipcRenderer.on("log", (event, log) => { + let string = log.toString() || log; + if (string) { + console.log(string); + } else { + for (let propery of log) { + console.log(propery.toString() || propery); + } + } + }) +} \ No newline at end of file