From ab762ef4654000e8d7bb76efe41cc76a2d515d6a Mon Sep 17 00:00:00 2001 From: PiEgg Date: Sun, 25 Apr 2021 23:28:08 +0800 Subject: [PATCH] :bug: Fix: uploader error in linux ISSUES CLOSED: #627 --- src/main/apis/app/system/index.ts | 2 ++ src/main/apis/app/uploader/apis.ts | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/apis/app/system/index.ts b/src/main/apis/app/system/index.ts index 262d3489..d50acb5c 100644 --- a/src/main/apis/app/system/index.ts +++ b/src/main/apis/app/system/index.ts @@ -201,6 +201,8 @@ export function createTray () { tray!.setImage(`${__static}/menubar.png`) }) + // drop-files only be supported in macOS + // so the tray window must be available tray.on('drop-files', async (event: Event, files: string[]) => { const pasteStyle = db.get('settings.pasteStyle') || 'markdown' const trayWindow = windowManager.get(IWindowList.TRAY_WINDOW)! diff --git a/src/main/apis/app/uploader/apis.ts b/src/main/apis/app/uploader/apis.ts index d9c2de16..63c87f72 100644 --- a/src/main/apis/app/uploader/apis.ts +++ b/src/main/apis/app/uploader/apis.ts @@ -14,7 +14,7 @@ export const uploadClipboardFiles = async (): Promise => { let img = await uploader.setWebContents(win!.webContents).upload() if (img !== false) { if (img.length > 0) { - const trayWindow = windowManager.get(IWindowList.TRAY_WINDOW)! + const trayWindow = windowManager.get(IWindowList.TRAY_WINDOW) const pasteStyle = db.get('settings.pasteStyle') || 'markdown' handleCopyUrl(pasteTemplate(pasteStyle, img[0])) const notification = new Notification({ @@ -24,8 +24,9 @@ export const uploadClipboardFiles = async (): Promise => { }) notification.show() db.insert('uploaded', img[0]) - trayWindow.webContents.send('clipboardFiles', []) - trayWindow.webContents.send('uploadFiles', img) + // trayWindow just be created in mac/windows, not in linux + trayWindow?.webContents?.send('clipboardFiles', []) + trayWindow?.webContents?.send('uploadFiles', img) if (windowManager.has(IWindowList.SETTING_WINDOW)) { windowManager.get(IWindowList.SETTING_WINDOW)!.webContents.send('updateGallery') } @@ -64,7 +65,8 @@ export const uploadChoosedFiles = async (webContents: WebContents, files: IFileW result.push(handleUrlEncode(imgs[i].imgUrl!)) } handleCopyUrl(pasteText.join('\n')) - windowManager.get(IWindowList.TRAY_WINDOW)!.webContents.send('uploadFiles', imgs) + // trayWindow just be created in mac/windows, not in linux + windowManager.get(IWindowList.TRAY_WINDOW)?.webContents?.send('uploadFiles', imgs) if (windowManager.has(IWindowList.SETTING_WINDOW)) { windowManager.get(IWindowList.SETTING_WINDOW)!.webContents.send('updateGallery') }