debug(desktop): add renderer console-message and lifecycle event logging

Pipes all renderer console.log output to the main process stdout via
electron-log, and logs did-finish-load/did-fail-load/render-process-gone
events to help diagnose layout and loading issues on Linux.
This commit is contained in:
Mohamed Boudra
2026-04-08 19:03:45 +07:00
parent 931d3ba81f
commit 635de3d76a

View File

@@ -146,6 +146,25 @@ async function createMainWindow(): Promise<void> {
setupWindowResizeEvents(mainWindow);
setupDefaultContextMenu(mainWindow);
setupDragDropPrevention(mainWindow);
// Renderer diagnostics — helps debug layout and loading issues
mainWindow.webContents.on("console-message", (_event, level, message, line, sourceId) => {
const levelNames = ["verbose", "info", "warning", "error"];
log.info(`[renderer:console] [${levelNames[level] ?? level}] ${message} (${sourceId}:${line})`);
});
mainWindow.webContents.on("did-finish-load", () => {
log.info("[renderer] did-finish-load");
});
mainWindow.webContents.on("did-fail-load", (_event, errorCode, errorDescription, validatedURL) => {
log.error("[renderer] did-fail-load", { errorCode, errorDescription, validatedURL });
});
mainWindow.webContents.on("render-process-gone", (_event, details) => {
log.error("[renderer] render-process-gone", details);
});
mainWindow.webContents.on("unresponsive", () => {
log.warn("[renderer] unresponsive");
});
mainWindow.once("ready-to-show", () => {
mainWindow.show();
});