fix(window): force dark native title bar

Apply Electron nativeTheme dark mode before creating the main window so the Windows title bar remains dark across local, server, and Remote Desktop profiles. Add focused regression coverage for the native theme contract.
This commit is contained in:
Sucukdeluxe
2026-08-23 19:06:31 +02:00
parent a6c6464761
commit 09bbff1887
3 changed files with 25 additions and 3 deletions
+6 -3
View File
@@ -1,7 +1,7 @@
import fs from "node:fs";
import path from "node:path";
import { pathToFileURL } from "node:url";
import { app, BrowserWindow, clipboard, dialog, ipcMain, Menu, safeStorage, shell, Tray, type IpcMainEvent, type IpcMainInvokeEvent } from "electron";
import { app, BrowserWindow, clipboard, dialog, ipcMain, Menu, nativeTheme, safeStorage, shell, Tray, type IpcMainEvent, type IpcMainInvokeEvent } from "electron";
import { AddLinksPayload, AppSettings, DebridProvider, EnableRemoteDiagnosticsInput, RendererSettingsUpdate, UpdateInstallProgress } from "../shared/types";
import { AppController } from "./app-controller";
import { IPC_CHANNELS } from "../shared/ipc";
@@ -23,8 +23,11 @@ import { applyMainWindowSecurity, createMainWindowWebPreferences, MAIN_WINDOW_EX
import { assertTrustedIpcSender, type TrustedIpcOptions } from "./ipc-security";
import { validateRealDebridLoginRequest } from "../shared/preload-api";
import { migrateProductUserDataDirectory } from "./storage";
function validateString(value: unknown, name: string): string {
import { forceDarkNativeTheme } from "./native-theme";
forceDarkNativeTheme(nativeTheme);
function validateString(value: unknown, name: string): string {
if (typeof value !== "string") {
throw new Error(`${name} muss ein String sein`);
}