diff --git a/components/app/bops-app.tsx b/components/app/bops-app.tsx index e99b90bc..786089d1 100644 --- a/components/app/bops-app.tsx +++ b/components/app/bops-app.tsx @@ -2176,7 +2176,7 @@ export function Settings({ else if (pane === "bots") body = ( <> - + ); diff --git a/components/app/computer.tsx b/components/app/computer.tsx index 981309c5..1b18cfb4 100644 --- a/components/app/computer.tsx +++ b/components/app/computer.tsx @@ -1219,12 +1219,12 @@ function NoComputer({ state, bot: b, host }: { state: AppState; bot: Bot; /** Th ); // A workspace shared with the user: the computer (or the Mac) is the owner's, with nothing here to set up or watch. + // A plain line saying where its work shows, not an empty card the size of a screen. if (readOnly(state)) return ( -
- - {`${b.name} works on ${b.runsOn === "mac" ? yourMac(state) : "the owner's computer"}.`} -
+

+ {`${b.name} works on ${b.runsOn === "mac" ? yourMac(state) : "the owner's computer"}. Its screens show only in the owner's Bops; its work shows in the chat.`} +

); return (
diff --git a/components/app/panel-tabs.tsx b/components/app/panel-tabs.tsx index ff99e303..17c48ac8 100644 --- a/components/app/panel-tabs.tsx +++ b/components/app/panel-tabs.tsx @@ -198,7 +198,12 @@ function Tab({ state, tab: t, on, closable, onPick, onClose }: { state: AppState const host = b ? computerOf(state, b) : undefined; const label = t.kind === "computer" - ? host && host.id !== b?.id + ? // A shared workspace's computers are its owner's, whichever bot's name the owner's Bops gives them. + state.shared + ? b?.runsOn === "mac" + ? "Owner's Mac" + : "Owner's computer" + : host && host.id !== b?.id ? `${host.name}'s computer` : `${b?.name ?? "Bot"}'s computer` : t.kind === "bot" diff --git a/scripts/test-shared.mjs b/scripts/test-shared.mjs index f008c88e..310e2655 100644 --- a/scripts/test-shared.mjs +++ b/scripts/test-shared.mjs @@ -1342,6 +1342,7 @@ await check("the viewer's own Mac is never a shared workspace's: no Your Mac tab // The tab, were it shown: no Working dot for the owner's work. const bar = renderToStaticMarkup(h(TabBar, { state: st, tabs: [mac], active: "chat", chatBotId: "boppy", onPick: noop, onClose: noop, onNew: noop })); assert.ok(!/title="Working"/.test(bar), bar); + assert.match(bar, />Owner's computer