瀏覽代碼

Inline and rename

Manav Rathi 1 年之前
父節點
當前提交
aace18aba0

+ 12 - 3
desktop/src/main.ts

@@ -17,7 +17,6 @@ import path from "node:path";
 import {
     addAllowOriginHeader,
     createWindow,
-    handleDockIconHideOnAutoLaunch,
     handleDownloads,
     handleExternalLinks,
     setupMacWindowOnDockIconClick,
@@ -27,7 +26,9 @@ import { attachFSWatchIPCHandlers, attachIPCHandlers } from "./main/ipc";
 import log, { initLogging } from "./main/log";
 import { createApplicationMenu } from "./main/menu";
 import { setupAutoUpdater } from "./main/services/app-update";
+import autoLauncher from "./main/services/autoLauncher";
 import { initWatcher } from "./main/services/chokidar";
+import { userPreferences } from "./main/stores/user-preferences";
 import { isDev } from "./main/util";
 
 let appIsQuitting = false;
@@ -110,6 +111,15 @@ const increaseDiskCache = () => {
     );
 };
 
+const hideDockIconIfNeeded = async () => {
+    const shouldHideDockIcon = userPreferences.get("hideDockIcon");
+    const wasAutoLaunched = await autoLauncher.wasAutoLaunched();
+
+    if (process.platform == "darwin" && shouldHideDockIcon && wasAutoLaunched) {
+        app.dock.hide();
+    }
+};
+
 /**
  * Older versions of our app used to maintain a cache dir using the main
  * process. This has been deprecated in favor of using a normal web cache.
@@ -159,9 +169,8 @@ const main = () => {
     initLogging();
     setupRendererServer();
     logStartupBanner();
-    handleDockIconHideOnAutoLaunch();
+    hideDockIconIfNeeded();
     increaseDiskCache();
-    enableSharedArrayBufferSupport();
 
     app.on("second-instance", () => {
         // Someone tried to run a second instance, we should focus our window.

+ 2 - 10
desktop/src/main/init.ts

@@ -4,11 +4,12 @@ import path from "node:path";
 import { isAppQuitting, rendererURL } from "../main";
 import log from "./log";
 import { createTrayContextMenu } from "./menu";
-import { isPlatform } from "./platform";
 import autoLauncher from "./services/autoLauncher";
 import { getHideDockIconPreference } from "./services/userPreference";
 import { isDev } from "./util";
 
+
+
 /**
  * Create an return the {@link BrowserWindow} that will form our app's UI.
  *
@@ -145,15 +146,6 @@ export function setupMacWindowOnDockIconClick() {
     });
 }
 
-export async function handleDockIconHideOnAutoLaunch() {
-    const shouldHideDockIcon = getHideDockIconPreference();
-    const wasAutoLaunched = await autoLauncher.wasAutoLaunched();
-
-    if (isPlatform("mac") && shouldHideDockIcon && wasAutoLaunched) {
-        app.dock.hide();
-    }
-}
-
 function lowerCaseHeaders(responseHeaders: Record<string, string[]>) {
     const headers: Record<string, string[]> = {};
     for (const key of Object.keys(responseHeaders)) {

+ 5 - 6
desktop/src/main/menu.ts

@@ -8,10 +8,7 @@ import {
 import { setIsAppQuitting } from "../main";
 import { forceCheckForAppUpdates } from "./services/app-update";
 import autoLauncher from "./services/autoLauncher";
-import {
-    getHideDockIconPreference,
-    setHideDockIconPreference,
-} from "./services/userPreference";
+import { userPreferences } from "./stores/user-preferences";
 import { openLogDirectory } from "./util";
 
 /** Create and return the entries in the app's main menu bar */
@@ -21,7 +18,7 @@ export const createApplicationMenu = async (mainWindow: BrowserWindow) => {
     // Whenever the menu is redrawn the current value of these variables is used
     // to set the checked state for the various settings checkboxes.
     let isAutoLaunchEnabled = await autoLauncher.isEnabled();
-    let shouldHideDockIcon = getHideDockIconPreference();
+    let shouldHideDockIcon = userPreferences.get("hideDockIcon");
 
     const macOSOnly = (options: MenuItemConstructorOptions[]) =>
         process.platform == "darwin" ? options : [];
@@ -39,7 +36,9 @@ export const createApplicationMenu = async (mainWindow: BrowserWindow) => {
     };
 
     const toggleHideDockIcon = () => {
-        setHideDockIconPreference(!shouldHideDockIcon);
+        // Persist
+        userPreferences.set("hideDockIcon", !shouldHideDockIcon);
+        // And update the in-memory state
         shouldHideDockIcon = !shouldHideDockIcon;
     };
 

+ 7 - 9
desktop/src/main/services/app-update.ts

@@ -5,7 +5,7 @@ import { autoUpdater } from "electron-updater";
 import { setIsAppQuitting, setIsUpdateAvailable } from "../../main";
 import { AppUpdateInfo } from "../../types/ipc";
 import log from "../log";
-import { userPreferencesStore } from "../stores/user-preferences";
+import { userPreferences } from "../stores/user-preferences";
 
 export const setupAutoUpdater = (mainWindow: BrowserWindow) => {
     autoUpdater.logger = electronLog;
@@ -20,8 +20,8 @@ export const setupAutoUpdater = (mainWindow: BrowserWindow) => {
  * Check for app update check ignoring any previously saved skips / mutes.
  */
 export const forceCheckForAppUpdates = (mainWindow: BrowserWindow) => {
-    userPreferencesStore.delete("skipAppVersion");
-    userPreferencesStore.delete("muteUpdateNotificationVersion");
+    userPreferences.delete("skipAppVersion");
+    userPreferences.delete("muteUpdateNotificationVersion");
     checkForUpdatesAndNotify(mainWindow);
 };
 
@@ -41,14 +41,12 @@ const checkForUpdatesAndNotify = async (mainWindow: BrowserWindow) => {
         return;
     }
 
-    if (version === userPreferencesStore.get("skipAppVersion")) {
+    if (version === userPreferences.get("skipAppVersion")) {
         log.info(`User chose to skip version ${version}`);
         return;
     }
 
-    const mutedVersion = userPreferencesStore.get(
-        "muteUpdateNotificationVersion",
-    );
+    const mutedVersion = userPreferences.get("muteUpdateNotificationVersion");
     if (version === mutedVersion) {
         log.info(`User has muted update notifications for version ${version}`);
         return;
@@ -92,7 +90,7 @@ export const updateAndRestart = () => {
 };
 
 export const updateOnNextRestart = (version: string) =>
-    userPreferencesStore.set("muteUpdateNotificationVersion", version);
+    userPreferences.set("muteUpdateNotificationVersion", version);
 
 export const skipAppUpdate = (version: string) =>
-    userPreferencesStore.set("skipAppVersion", version);
+    userPreferences.set("skipAppVersion", version);

+ 0 - 9
desktop/src/main/services/userPreference.ts

@@ -1,9 +0,0 @@
-import { userPreferencesStore } from "../stores/user-preferences";
-
-export function getHideDockIconPreference() {
-    return userPreferencesStore.get("hideDockIcon");
-}
-
-export function setHideDockIconPreference(shouldHideDockIcon: boolean) {
-    userPreferencesStore.set("hideDockIcon", shouldHideDockIcon);
-}

+ 1 - 1
desktop/src/main/stores/user-preferences.ts

@@ -18,7 +18,7 @@ const userPreferencesSchema: Schema<UserPreferencesSchema> = {
     },
 };
 
-export const userPreferencesStore = new Store({
+export const userPreferences = new Store({
     name: "userPreferences",
     schema: userPreferencesSchema,
 });