@@ -4,6 +4,7 @@ import fs from "node:fs/promises";
44import path from "node:path" ;
55import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime" ;
66import { writeExternalFileWithinRoot } from "openclaw/plugin-sdk/security-runtime" ;
7+ import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime" ;
78import { chromium } from "playwright-core" ;
89import type { OpenClawConfig } from "../api.js" ;
910import type { DiffRenderOptions , DiffTheme } from "./types.js" ;
@@ -520,17 +521,27 @@ function commonExecutablePathsForPlatform(): string[] {
520521 }
521522
522523 if ( process . platform === "win32" ) {
523- const localAppData = process . env . LOCALAPPDATA ?? "" ;
524- const programFiles = process . env . ProgramFiles ?? "C:\\Program Files" ;
525- const programFilesX86 = process . env [ "ProgramFiles(x86)" ] ?? "C:\\Program Files (x86)" ;
524+ const joinWindowsPath = path . win32 . join ;
525+ const localAppData = normalizeOptionalString ( process . env . LOCALAPPDATA ) ?? "" ;
526+ const programFiles = normalizeOptionalString ( process . env . ProgramFiles ) ?? "C:\\Program Files" ;
527+ const programFilesX86 =
528+ normalizeOptionalString ( process . env [ "ProgramFiles(x86)" ] ) ?? "C:\\Program Files (x86)" ;
526529 return [
527- path . join ( localAppData , "Google" , "Chrome" , "Application" , "chrome.exe" ) ,
528- path . join ( programFiles , "Google" , "Chrome" , "Application" , "chrome.exe" ) ,
529- path . join ( programFilesX86 , "Google" , "Chrome" , "Application" , "chrome.exe" ) ,
530- path . join ( programFiles , "Microsoft" , "Edge" , "Application" , "msedge.exe" ) ,
531- path . join ( programFilesX86 , "Microsoft" , "Edge" , "Application" , "msedge.exe" ) ,
532- path . join ( programFiles , "BraveSoftware" , "Brave-Browser" , "Application" , "brave.exe" ) ,
533- path . join ( programFilesX86 , "BraveSoftware" , "Brave-Browser" , "Application" , "brave.exe" ) ,
530+ ...( localAppData
531+ ? [ joinWindowsPath ( localAppData , "Google" , "Chrome" , "Application" , "chrome.exe" ) ]
532+ : [ ] ) ,
533+ joinWindowsPath ( programFiles , "Google" , "Chrome" , "Application" , "chrome.exe" ) ,
534+ joinWindowsPath ( programFilesX86 , "Google" , "Chrome" , "Application" , "chrome.exe" ) ,
535+ joinWindowsPath ( programFiles , "Microsoft" , "Edge" , "Application" , "msedge.exe" ) ,
536+ joinWindowsPath ( programFilesX86 , "Microsoft" , "Edge" , "Application" , "msedge.exe" ) ,
537+ joinWindowsPath ( programFiles , "BraveSoftware" , "Brave-Browser" , "Application" , "brave.exe" ) ,
538+ joinWindowsPath (
539+ programFilesX86 ,
540+ "BraveSoftware" ,
541+ "Brave-Browser" ,
542+ "Application" ,
543+ "brave.exe" ,
544+ ) ,
534545 ] ;
535546 }
536547
0 commit comments