Browser: expand existing-session userDataDir

This commit is contained in:
Radek Sienkiewicz
2026-03-16 12:55:41 +01:00
parent 7a3e9142f5
commit 4c6846a49b
2 changed files with 6 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
import { describe, expect, it } from "vitest";
import { withEnv } from "../test-utils/env.js";
import { resolveUserPath } from "../utils.js";
import { resolveBrowserConfig, resolveProfile, shouldStartLocalBrowserServer } from "./config.js";
import { getBrowserProfileCapabilities } from "./profile-capabilities.js";
@@ -280,13 +281,13 @@ describe("browser config", () => {
expect(profile?.color).toBe("#00AA00");
});
it("preserves explicit userDataDir for existing-session profiles", () => {
it("expands tilde-prefixed userDataDir for existing-session profiles", () => {
const resolved = resolveBrowserConfig({
profiles: {
brave: {
driver: "existing-session",
attachOnly: true,
userDataDir: "/Users/test/Library/Application Support/BraveSoftware/Brave-Browser",
userDataDir: "~/Library/Application Support/BraveSoftware/Brave-Browser",
color: "#FB542B",
},
},
@@ -295,7 +296,7 @@ describe("browser config", () => {
const profile = resolveProfile(resolved, "brave");
expect(profile?.driver).toBe("existing-session");
expect(profile?.userDataDir).toBe(
"/Users/test/Library/Application Support/BraveSoftware/Brave-Browser",
resolveUserPath("~/Library/Application Support/BraveSoftware/Brave-Browser"),
);
});

View File

@@ -7,6 +7,7 @@ import {
} from "../config/port-defaults.js";
import { isLoopbackHost } from "../gateway/net.js";
import type { SsrFPolicy } from "../infra/net/ssrf.js";
import { resolveUserPath } from "../utils.js";
import {
DEFAULT_OPENCLAW_BROWSER_COLOR,
DEFAULT_OPENCLAW_BROWSER_ENABLED,
@@ -329,7 +330,7 @@ export function resolveProfile(
cdpUrl: "",
cdpHost: "",
cdpIsLoopback: true,
userDataDir: profile.userDataDir?.trim() || undefined,
userDataDir: resolveUserPath(profile.userDataDir?.trim() || "") || undefined,
color: profile.color,
driver,
attachOnly: true,