The legacy application - its src, tests, landing site, promo assets, docs, release tooling, CI workflows, and root configs - leaves the tree; it stays reachable in history. Everything under AgentCompany-New moves up unchanged: same package name, so the production userData/database path is untouched, and e2e/build scripts already resolved paths relative to the project. The developer cred.txt stays gitignored at its new location. Full verify:ci passes from the new root.
18 lines
964 B
TypeScript
18 lines
964 B
TypeScript
import type { BrowserWindow } from "electron";
|
|
|
|
export function attachMainWindowSecurity(win: BrowserWindow, devServerOrigin: string | null): void {
|
|
win.webContents.setWindowOpenHandler(() => ({ action: "deny" }));
|
|
const blockNavigation = (event: Electron.Event, url: string): void => {
|
|
if (devServerOrigin && url.startsWith(devServerOrigin)) return;
|
|
if (url.startsWith("file://")) return;
|
|
event.preventDefault();
|
|
};
|
|
win.webContents.on("will-navigate", blockNavigation);
|
|
win.webContents.on("will-redirect", blockNavigation);
|
|
// The first-party renderer never asks for camera, microphone, geolocation,
|
|
// notifications, and the like, so deny every permission outright — matching
|
|
// the provider sign-in windows — rather than leaving the default allow.
|
|
win.webContents.session.setPermissionRequestHandler((_webContents, _permission, callback) => callback(false));
|
|
win.webContents.session.setPermissionCheckHandler(() => false);
|
|
}
|