From 65c5a79bb2dbacd7072338d4d97e489946ecf7d3 Mon Sep 17 00:00:00 2001 From: troyeguo <13820674+troyeguo@users.noreply.github.com> Date: Sun, 16 Aug 2026 17:28:31 +0800 Subject: [PATCH] fix(export): add total size check for book exports and log size --- main.js | 42 +++++++++++++++++++++++++--------------- src/utils/file/export.ts | 7 +++---- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/main.js b/main.js index e772090b..ef305b3b 100644 --- a/main.js +++ b/main.js @@ -1093,7 +1093,8 @@ const createMainWin = () => { } }); mainWin.webContents.on("console-message", (_event, level, message) => { - const lvl = { 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info"; + const lvl = + { 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info"; log[lvl](`[Renderer] ${message}`); }); //cancel-download-app @@ -1433,11 +1434,14 @@ const createMainWin = () => { } if (isAutoFullscreen === "yes" || isAutoMaximize === "yes") { readerWindow = new BrowserWindow(options); - readerWindow.webContents.on("console-message", (_event, level, message) => { - const lvl = - { 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info"; - log[lvl](`[Renderer] ${message}`); - }); + readerWindow.webContents.on( + "console-message", + (_event, level, message) => { + const lvl = + { 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info"; + log[lvl](`[Renderer] ${message}`); + } + ); readerWindow.loadURL(url); if (isAutoFullscreen === "yes") { readerWindow.setFullScreen(true); @@ -1462,11 +1466,14 @@ const createMainWin = () => { hasShadow: isMergeWord === "yes" ? false : true, transparent: isMergeWord === "yes" ? true : false, }); - readerWindow.webContents.on("console-message", (_event, level, message) => { - const lvl = - { 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info"; - log[lvl](`[Renderer] ${message}`); - }); + readerWindow.webContents.on( + "console-message", + (_event, level, message) => { + const lvl = + { 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info"; + log[lvl](`[Renderer] ${message}`); + } + ); readerWindow.loadURL(url); // readerWindow.webContents.openDevTools(); } @@ -2470,11 +2477,14 @@ const createMainWin = () => { if (store.get("isAlwaysOnTop") === "yes") { readerWindow.setAlwaysOnTop(true); } - readerWindow.webContents.on("console-message", (_event, level, message) => { - const lvl = - { 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info"; - log[lvl](`[Renderer] ${message}`); - }); + readerWindow.webContents.on( + "console-message", + (_event, level, message) => { + const lvl = + { 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info"; + log[lvl](`[Renderer] ${message}`); + } + ); readerWindow.loadURL(store.get("url")); readerWindowReadyToClose = false; readerWindow.on("close", (event) => { diff --git a/src/utils/file/export.ts b/src/utils/file/export.ts index 2352d611..b18c8224 100644 --- a/src/utils/file/export.ts +++ b/src/utils/file/export.ts @@ -26,7 +26,9 @@ let year = new Date().getFullYear(), day = new Date().getDate(); export const exportBooks = async (books: Book[]) => { - if (isElectron && books.length > 50) { + let totalSize = books.reduce((acc, book) => acc + book.size, 0); + console.log("Total size of books to export:", totalSize); + if (isElectron && totalSize > 500 * 1024 * 1024) { const ipcRenderer = window.electronAPI; const fs = window.electronAPI.fs; const path = window.electronAPI.path; @@ -74,9 +76,6 @@ export const exportBooks = async (books: Book[]) => { toast.error(i18n.t("Failed to export") + `: ${books[i].name}`); } } - toast.success(i18n.t("Export successful"), { - id: "exporting", - }); return true; } let fetchPromises = BookUtil.fetchAllBooks(books);