Merge branch 'main' into venmic-expert
This commit is contained in:
		
						commit
						35543bcbed
					
				
					 4 changed files with 26 additions and 16 deletions
				
			
		|  | @ -5,11 +5,22 @@ | |||
|  */ | ||||
| 
 | ||||
| import { app } from "electron"; | ||||
| import { existsSync, readdirSync, renameSync, rmdirSync } from "fs"; | ||||
| import { join } from "path"; | ||||
| import { existsSync, mkdirSync, readdirSync, renameSync, rmdirSync } from "fs"; | ||||
| import { dirname, join } from "path"; | ||||
| 
 | ||||
| const vesktopDir = dirname(process.execPath); | ||||
| 
 | ||||
| export const PORTABLE = | ||||
|     process.platform === "win32" && | ||||
|     !process.execPath.toLowerCase().endsWith("electron.exe") && | ||||
|     !existsSync(join(vesktopDir, "Uninstall Vesktop.exe")); | ||||
| 
 | ||||
| const LEGACY_DATA_DIR = join(app.getPath("appData"), "VencordDesktop", "VencordDesktop"); | ||||
| export const DATA_DIR = process.env.VENCORD_USER_DATA_DIR || join(app.getPath("userData")); | ||||
| export const DATA_DIR = | ||||
|     process.env.VENCORD_USER_DATA_DIR || (PORTABLE ? join(vesktopDir, "Data") : join(app.getPath("userData"))); | ||||
| 
 | ||||
| mkdirSync(DATA_DIR, { recursive: true }); | ||||
| 
 | ||||
| // TODO: remove eventually
 | ||||
| if (existsSync(LEGACY_DATA_DIR)) { | ||||
|     try { | ||||
|  |  | |||
|  | @ -42,7 +42,13 @@ function init() { | |||
| 
 | ||||
|     // disable renderer backgrounding to prevent the app from unloading when in the background
 | ||||
|     // https://github.com/electron/electron/issues/2822
 | ||||
|     // https://github.com/GoogleChrome/chrome-launcher/blob/5a27dd574d47a75fec0fb50f7b774ebf8a9791ba/docs/chrome-flags-for-tools.md#task-throttling
 | ||||
|     app.commandLine.appendSwitch("disable-renderer-backgrounding"); | ||||
|     app.commandLine.appendSwitch("disable-background-timer-throttling"); | ||||
|     app.commandLine.appendSwitch("disable-backgrounding-occluded-windows"); | ||||
|     if (process.platform === "win32") { | ||||
|         disabledFeatures.push("CalculateNativeWinOcclusion"); | ||||
|     } | ||||
| 
 | ||||
|     // work around chrome 66 disabling autoplay by default
 | ||||
|     app.commandLine.appendSwitch("autoplay-policy", "no-user-gesture-required"); | ||||
|  | @ -50,12 +56,7 @@ function init() { | |||
|     // HardwareMediaKeyHandling,MediaSessionService: Prevent Discord from registering as a media service.
 | ||||
|     //
 | ||||
|     // WidgetLayering (Vencord Added): Fix DevTools context menus https://github.com/electron/electron/issues/38790
 | ||||
|     disabledFeatures.push( | ||||
|         "WinRetrieveSuggestionsOnlyOnDemand", | ||||
|         "HardwareMediaKeyHandling", | ||||
|         "MediaSessionService", | ||||
|         "WidgetLayering" | ||||
|     ); | ||||
|     disabledFeatures.push("WinRetrieveSuggestionsOnlyOnDemand", "HardwareMediaKeyHandling", "MediaSessionService"); | ||||
| 
 | ||||
|     app.commandLine.appendSwitch("enable-features", [...new Set(enabledFeatures)].filter(Boolean).join(",")); | ||||
|     app.commandLine.appendSwitch("disable-features", [...new Set(disabledFeatures)].filter(Boolean).join(",")); | ||||
|  |  | |||
|  | @ -403,7 +403,9 @@ function createMainWindow() { | |||
|             contextIsolation: true, | ||||
|             devTools: true, | ||||
|             preload: join(__dirname, "preload.js"), | ||||
|             spellcheck: true | ||||
|             spellcheck: true, | ||||
|             // disable renderer backgrounding to prevent the app from unloading when in the background
 | ||||
|             backgroundThrottling: false | ||||
|         }, | ||||
|         icon: ICON_PATH, | ||||
|         frame: !noFrame, | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
|  */ | ||||
| 
 | ||||
| import { app, BrowserWindow, shell } from "electron"; | ||||
| import { PORTABLE } from "main/constants"; | ||||
| import { Settings, State } from "main/settings"; | ||||
| import { handle } from "main/utils/ipcWrappers"; | ||||
| import { makeLinksOpenExternally } from "main/utils/makeLinksOpenExternally"; | ||||
|  | @ -23,17 +24,12 @@ let updateData: UpdateData; | |||
| 
 | ||||
| handle(IpcEvents.UPDATER_GET_DATA, () => updateData); | ||||
| handle(IpcEvents.UPDATER_DOWNLOAD, () => { | ||||
|     const portable = !!process.env.PORTABLE_EXECUTABLE_FILE; | ||||
| 
 | ||||
|     const { assets } = updateData.release; | ||||
|     const url = (() => { | ||||
|         switch (process.platform) { | ||||
|             case "win32": | ||||
|                 return assets.find(a => { | ||||
|                     if (!a.name.endsWith(".exe")) return false; | ||||
| 
 | ||||
|                     const isSetup = a.name.includes("Setup"); | ||||
|                     return portable ? !isSetup : isSetup; | ||||
|                     return a.name.endsWith(PORTABLE ? "win.zip" : ".exe"); | ||||
|                 })!.browser_download_url; | ||||
|             case "darwin": | ||||
|                 return assets.find(a => | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Noah
						Noah