diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs
index e1f0f2c..b0612a1 100644
--- a/src-tauri/src/lib.rs
+++ b/src-tauri/src/lib.rs
@@ -18553,17 +18553,6 @@ pub fn run() {
main_window_builder = main_window_builder
.inner_size(startup_size.width as f64, startup_size.height as f64)
.prevent_overflow();
- #[cfg(target_os = "windows")]
- {
- // Wry installs its parent WM_SETFOCUS handler while WebView2
- // is still being initialized. Keep the host hidden and
- // non-activatable until RunEvent::Ready so Windows cannot
- // re-enter that handler during native construction.
- main_window_builder = main_window_builder
- .visible(false)
- .focused(false)
- .focusable(false);
- }
main_window_builder
.build()
.map_err(|error| format!("failed to create main window: {error}"))?;
@@ -19901,8 +19890,6 @@ pub fn run() {
.run(|app_handle, event| match event {
tauri::RunEvent::Ready => {
mark_main_window_startup_complete(app_handle);
- #[cfg(target_os = "windows")]
- reveal_main_window(app_handle);
#[cfg(not(target_os = "windows"))]
restore_pending_main_window(app_handle);
}
diff --git a/src/main.tsx b/src/main.tsx
index b060cfe..61217a1 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,128 +1,8 @@
-import { StrictMode, type ComponentType } from "react";
-import { createRoot } from "react-dom/client";
-import "@fontsource-variable/inter/wght.css";
-import "@fontsource-variable/noto-sans-hebrew/wght.css";
-import "@fontsource-variable/noto-sans-sc/wght.css";
-import "@fontsource-variable/outfit/wght.css";
-import "@fontsource-variable/roboto/wght.css";
-import "@fontsource-variable/vazirmatn/wght.css";
-import "./index.css";
-import { i18nReady } from "./i18n";
-import { ErrorBoundary } from "./components/ErrorBoundary";
-import { ToastProvider } from "./contexts/ToastContext";
-import { error as logError, warn as logWarn, initLogger } from "./utils/logger";
-import { getCurrentWindow } from '@tauri-apps/api/window';
-import { invokeCommand as invoke } from './ipc';
-
-const isPropertiesWindow = getCurrentWindow().label.startsWith('properties-');
+import { initLogger } from "./utils/logger";
void initLogger();
-const serializeConsoleArguments = (values: unknown[]) => values.map(value => {
- if (value instanceof Error) return `${value.name}: ${value.message}\n${value.stack || ''}`;
- if (typeof value === 'string') return value;
- try {
- return JSON.stringify(value);
- } catch {
- return String(value);
- }
-}).join(' ');
-
-const redactConsoleMessage = (message: string) => message
- .replace(/(authorization|cookie|password|token|secret)\s*[:=]\s*([^\s,;]+)/gi, '$1=[redacted]')
- .replace(/(https?:\/\/[^\s?]+)\?[^\s]+/g, '$1?[redacted]');
-
-const originalConsoleError = console.error.bind(console);
-const originalConsoleWarn = console.warn.bind(console);
-console.error = (...values: unknown[]) => {
- originalConsoleError(...values);
- void logError(redactConsoleMessage(serializeConsoleArguments(values))).catch(() => undefined);
-};
-console.warn = (...values: unknown[]) => {
- originalConsoleWarn(...values);
- void logWarn(redactConsoleMessage(serializeConsoleArguments(values))).catch(() => undefined);
-};
-
const rootElement = document.getElementById("root");
-const renderRoot = (RootComponent: ComponentType) => {
- if (!rootElement) return;
-
- createRoot(rootElement).render(
-
-
-
-
-
-
- ,
- );
-};
-
-const PropertiesStartupFailure = () => (
-
-
Download Properties could not be loaded.
-
-
-);
-
-const renderMainApp = async () => {
- if (!rootElement) return;
-
- // Keep the child entrypoint isolated from the main application module. App
- // imports the persistent Zustand stores, whose module initialization issues
- // main-window-only IPC commands. Loading it in a Properties child creates a
- // second persistence owner and can race the bridge handshake.
- const RootComponent = (await import('./App')).default;
- renderRoot(RootComponent);
-};
-
-const renderPropertiesApp = async () => {
- if (!rootElement) return;
-
- try {
- // Properties starts with the synchronous English catalog and changes locale
- // after its first paint. Waiting for a lazy locale chunk here delays the
- // loading shell and makes native window startup visible to the user.
- const RootComponent = (await import('./components/PropertiesWindowApp')).PropertiesWindowApp;
- renderRoot(RootComponent);
- } catch (error) {
- // A failed lazy chunk must not leave the native window hidden forever. Show
- // a styled, closable failure state and use the same caller-validated native
- // reveal command as the normal child path.
- console.error('Failed to initialize the Properties window:', error);
- renderRoot(PropertiesStartupFailure);
- const fallbackSessionId = crypto.randomUUID();
- void invoke('properties_window_send_ready', { sessionId: fallbackSessionId })
- .then(() => invoke('properties_window_reveal', { sessionId: fallbackSessionId }))
- .catch(revealError => {
- console.error('Failed to reveal the Properties startup error:', revealError);
- });
- }
-};
-
-if (isPropertiesWindow) {
- void renderPropertiesApp();
-} else {
- void i18nReady.then(renderMainApp).catch(error => {
- console.error('Failed to initialize localization:', error);
- void renderMainApp();
- });
+if (rootElement) {
+ rootElement.textContent = "Firelink startup control";
}
-
-// Prevent the webview's default context menu ("Reload", etc.) on right-click.
-// Individual components that provide custom context menus call preventDefault()
-// in their own onContextMenu handlers, which fires before this document-level
-// listener and is unaffected.
-document.addEventListener('contextmenu', (e) => {
- e.preventDefault();
-});