From 504a18514e3940db899bbe27e37be5fe36a37abd Mon Sep 17 00:00:00 2001 From: Ailton Loures Date: Sat, 14 Dec 2024 13:18:29 -0300 Subject: [PATCH] feat: adding validation feedback to files from WSL --- src/{electron/utils => core}/platform.js | 0 src/core/wsl.js | 4 ++-- src/electron/utils/index.js | 1 - src/main.js | 23 +++++++++++++---------- 4 files changed, 15 insertions(+), 13 deletions(-) rename src/{electron/utils => core}/platform.js (100%) diff --git a/src/electron/utils/platform.js b/src/core/platform.js similarity index 100% rename from src/electron/utils/platform.js rename to src/core/platform.js diff --git a/src/core/wsl.js b/src/core/wsl.js index f8e7f80..6ffe1fe 100644 --- a/src/core/wsl.js +++ b/src/core/wsl.js @@ -10,8 +10,8 @@ function wslBookmarkDataAdapter(path) { }; } -function isFilePathFromWsl(path) { +function isPathFromWsl(path) { return String(path).startsWith('\\\\wsl'); } -export { wslBookmarkDataAdapter, isFilePathFromWsl }; +export { wslBookmarkDataAdapter, isPathFromWsl }; diff --git a/src/electron/utils/index.js b/src/electron/utils/index.js index 0b7138e..56b98f8 100644 --- a/src/electron/utils/index.js +++ b/src/electron/utils/index.js @@ -2,4 +2,3 @@ export * from './dialog'; export * from './icon'; export * from './label'; export * from './vite'; -export * from './platform'; diff --git a/src/main.js b/src/main.js index 7b2798b..15f4b3c 100644 --- a/src/main.js +++ b/src/main.js @@ -2,9 +2,10 @@ import * as Sentry from '@sentry/electron'; import { app, ipcMain } from 'electron'; import { isFile } from './core/file-system'; +import { isWindows } from './core/platform'; import { makeAppToInitOnASingleInstance } from './core/setup'; import { openIntoVsCode } from './core/vscode'; -import { isFilePathFromWsl, wslBookmarkDataAdapter } from './core/wsl'; +import { isPathFromWsl, wslBookmarkDataAdapter } from './core/wsl'; import store from './data/store'; import { createBookmark, @@ -12,7 +13,7 @@ import { getBookmarks, } from './data/store/bookmark'; import { createMenu, createTray, createWindow } from './electron'; -import { isWindows, openDialog } from './electron/utils'; +import { openDialog } from './electron/utils'; Sentry.init({ dsn: 'https://713782327975276ae010040b1db6ab8a@o4507887084503040.ingest.us.sentry.io/4507887098724352', @@ -151,16 +152,18 @@ function renderApp(context) { function getBookmarkDataFromFilePath(context, filePath) { const { tray } = context; - if (isWindows() && isFilePathFromWsl(filePath)) { - if (!isFile(filePath)) return wslBookmarkDataAdapter(filePath); + if (isWindows() && isPathFromWsl(filePath)) { + if (isFile(filePath)) { + tray.displayBalloon({ + iconType: 'warning', + title: 'Unsupported WSL path', + content: 'You can only save folders from WSL', + }); - tray.displayBalloon({ - iconType: 'warning', - title: 'Unsupported WSL path', - content: 'You can only save folders from WSL', - }); + return null; + } - return null; + return wslBookmarkDataAdapter(filePath); } return { filePath };