refactor: remove outdated phase summary documents and restructure error handling

- Deleted obsolete phase summary documents (PHASE_1_FIX_SUMMARY.md, PHASE_1_SUMMARY.md, PHASE_2_SUMMARY.md, PHASE_3_SUMMARY.md, PHASE_4_SUMMARY.md, SESSION_HANDOFF.md, TARGET_ARCHITECTURE.md) to streamline documentation.
- Introduced error handling module (error-handler.ts) to centralize error logging and presentation.
- Updated bootstrap and application controller to utilize the new error handling module.
- Refactored runtime provisioning logic into a dedicated module (runtime-setup.ts) for better organization.
- Implemented platform-specific process termination logic in process-killer.ts to enhance process management.
- Enhanced navigation policy with a new module (navigation.ts) to improve URL handling and security.
- Updated window service to integrate new navigation logic for internal and external URL handling.
This commit is contained in:
2026-06-04 04:51:03 +02:00
parent 7102e3dd01
commit 6952a9954f
19 changed files with 5 additions and 1925 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
import { AppRuntimeConfig } from "../config/runtime-config";
import { NodecgProcessManager } from "../nodecg/process-manager";
import { PreparedNodecgRuntime } from "../nodecg/runtime-provisioner";
import { PreparedNodecgRuntime } from "../nodecg/runtime-setup";
import { getRemainingDelayMs } from "../utils/timing";
import { ApplicationPaths } from "./paths";
import { createShutdownService, ShutdownService } from "./shutdown-service";
+2 -2
View File
@@ -2,9 +2,9 @@ import { app, BrowserWindow } from "electron";
import path from "node:path";
import { getRuntimeConfig, loadEnvFile, AppRuntimeConfig } from "../config/runtime-config";
import { showFatalError, log } from "../errors/error-presenter";
import { showFatalError, log } from "../errors/error-handler";
import { createNodecgProcessManager } from "../nodecg/process-manager";
import { prepareUserNodecgRuntime } from "../nodecg/runtime-provisioner";
import { prepareUserNodecgRuntime } from "../nodecg/runtime-setup";
import { scheduleUpdateCheck } from "../updates/update-service";
import { createLoadingWindow, createMainWindow } from "../windows/window-service";
import { createApplicationController } from "./application-controller";
+1 -1
View File
@@ -5,7 +5,7 @@ import path from "node:path";
import { AppRuntimeConfig } from "../config/runtime-config";
import { NODE_RUNTIME_NAME } from "../constants";
import { killProcessTree } from "./platform-process-killer";
import { killProcessTree } from "./process-killer";
type NodecgProcessManagerConfig = {
isDev: boolean;
+1 -1
View File
@@ -3,7 +3,7 @@ import { BrowserWindow, BrowserWindowConstructorOptions, shell } from "electron"
import { AppRuntimeConfig } from "../config/runtime-config";
import { DEFAULT_WINDOW_BACKGROUND, DEFAULT_WINDOW_SIZE, LOADING_WINDOW_SIZE } from "../constants";
import { resolveAppIconPath } from "./icon-path";
import { shouldAllowInternalNavigation, shouldOpenExternalNavigation } from "./navigation-policy";
import { shouldAllowInternalNavigation, shouldOpenExternalNavigation } from "./navigation";
type WindowServiceDependencies = {
appConfig: AppRuntimeConfig;