mirror of
https://github.com/andrewyng/openworker.git
synced 2026-09-11 14:50:14 +00:00
Trim release UI: simpler Settings, mode menu, session subtitle
Mode menu offers Discuss/Ask for approval/Full access only. Topbar subtitle is model-only and inert (persona page hidden this release).
This commit is contained in:
@@ -63,23 +63,19 @@ test("signed in: account row shows the name; one-click appears; sign out from th
|
||||
await expect(page.getByTestId("account-row")).toContainText("Not signed in");
|
||||
});
|
||||
|
||||
test("telemetry toggle: lives in Settings, signed-in only, default on, opt-out round-trips", async ({
|
||||
test("telemetry/Privacy card is gone from Settings (owner ask 2026-07-22), signed in or out", async ({
|
||||
page,
|
||||
}) => {
|
||||
// Signed out: Settings has no toggle at all — nothing is sent, nothing to configure.
|
||||
await page.goto("/");
|
||||
await page.getByTestId("account-row").click();
|
||||
await page.getByTestId("account-menu").getByRole("button", { name: "Settings" }).click();
|
||||
await expect(page.getByRole("heading", { name: "General" })).toBeVisible();
|
||||
await expect(page.getByTestId("telemetry-toggle")).toHaveCount(0);
|
||||
await expect(page.getByText("Privacy", { exact: true })).toHaveCount(0);
|
||||
|
||||
await signIn(page);
|
||||
await page.getByTestId("account-row").click();
|
||||
await page.getByTestId("account-menu").getByRole("button", { name: "Settings" }).click();
|
||||
const toggle = page.getByTestId("telemetry-toggle");
|
||||
await expect(toggle).toBeChecked({ timeout: 10_000 }); // default-on when signed in
|
||||
await expect(page.getByText("never your prompts, files, or connector")).toBeVisible();
|
||||
|
||||
await toggle.uncheck();
|
||||
await expect(toggle).not.toBeChecked(); // survives the status re-fetch (persisted)
|
||||
await expect(page.getByTestId("telemetry-toggle")).toHaveCount(0);
|
||||
await expect(page.getByText("Privacy", { exact: true })).toHaveCount(0);
|
||||
});
|
||||
|
||||
@@ -25,12 +25,13 @@ test("composer: send-gating, + attach menu, Mode menu", async ({ page }) => {
|
||||
await page.locator(".fixed.inset-0.z-30").click();
|
||||
await expect(page.getByRole("button", { name: "Photo or image" })).toHaveCount(0);
|
||||
|
||||
// Mode menu (workspace personas only): the five permission options with the current one
|
||||
// marked, plus the Unattended/send-to-Inbox toggle at the bottom (§22).
|
||||
// Mode menu: the three shipped permission options with the current one marked, plus the
|
||||
// Unattended/send-to-Inbox toggle (§22). Plan + Custom hidden for this release (2026-07-22).
|
||||
await page.getByRole("button", { name: "Mode", exact: true }).click();
|
||||
const menu = page.getByTestId("mode-menu");
|
||||
await expect(menu.getByText("Discuss")).toBeVisible();
|
||||
await expect(menu.getByText("Explore read-only, propose a plan")).toBeVisible();
|
||||
await expect(menu.getByText("Plan", { exact: true })).toHaveCount(0);
|
||||
await expect(menu.getByText("Custom", { exact: true })).toHaveCount(0);
|
||||
// The current mode is marked with a ✓.
|
||||
await expect(menu.locator("button").filter({ hasText: "Ask for approval" })).toContainText("✓");
|
||||
await expect(menu.getByRole("switch", { name: "Send approvals to the Inbox" })).toBeVisible();
|
||||
|
||||
@@ -33,7 +33,7 @@ test("top-left cluster renders only while the sidebar is collapsed", async ({ pa
|
||||
await expect(page.getByTestId("topbar-cluster")).toHaveCount(0);
|
||||
});
|
||||
|
||||
test("facts subtitle: absent on a fresh session, persona · model after the first turn; click → persona page", async ({
|
||||
test("facts subtitle: absent on a fresh session, model-only after the first turn, inert", async ({
|
||||
page,
|
||||
}) => {
|
||||
await page.goto("/");
|
||||
@@ -51,14 +51,13 @@ test("facts subtitle: absent on a fresh session, persona · model after the firs
|
||||
await page.getByRole("button", { name: "Send" }).click();
|
||||
await expect(page.getByText(/Echo: hello/)).toBeVisible();
|
||||
|
||||
// Model only — no persona name (owner ask 2026-07-22: personas are hidden this release),
|
||||
// and the subtitle is a plain fact line, not a button to the persona page.
|
||||
const sub = page.getByTestId("session-subtitle");
|
||||
await expect(sub).toContainText("Coworker · Claude Opus 4.8");
|
||||
await expect(sub).toHaveText("Claude Opus 4.8");
|
||||
await expect(page.locator(".dd").filter({ hasText: "Claude Opus 4.8" })).toBeVisible();
|
||||
|
||||
// The subtitle is the session's fixed facts — clicking it opens the coworker (persona) page,
|
||||
// replacing the old topbar sliders button.
|
||||
await sub.click();
|
||||
await expect(page.getByRole("button", { name: "Back", exact: true })).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: "Back", exact: true })).toHaveCount(0);
|
||||
});
|
||||
|
||||
test("composer is three controls (+ attach · Mode · send); folder and branch chips are gone", async ({
|
||||
|
||||
Reference in New Issue
Block a user