diff --git a/app/src/components/computer/computer-view.tsx b/app/src/components/computer/computer-view.tsx
index e6120c59..49352d37 100644
--- a/app/src/components/computer/computer-view.tsx
+++ b/app/src/components/computer/computer-view.tsx
@@ -1,15 +1,15 @@
import { useEffect, useRef, useState } from "react";
import { createPortal } from "react-dom";
-import { LiveScreen } from "./live-screen";
-import { ComputerPlaceholder } from "./placeholder";
import {
+ type ControlState,
readControl,
releaseControl,
supplySecret,
takeControl,
- type ControlState,
} from "@/lib/computers/control";
import { readScreenshot, type Screenshot } from "@/lib/computers/screen";
+import { LiveScreen } from "./live-screen";
+import { ComputerPlaceholder } from "./placeholder";
/** Explicit blank-browser URLs use placeholder artwork; missing URL fields are treated as real pages. */
function isBlankBrowser(shot: Screenshot): boolean {
@@ -312,11 +312,37 @@ export function ComputerView({
) : null}
- {control?.requested && !driving ? (
-
+ {/*
+ * The wheel is offered whether or not the Bot asked for it.
+ *
+ * It only used to appear once the Bot called `computer_request_help`, which made the button
+ * depend on the Bot getting one instruction right. It does not always: asked to open a page
+ * behind a sign-in, a Bot answered "If you'd like, I can prompt you to take control … would
+ * you like to proceed with signing in?" and called nothing. The person was told to take
+ * control, and there was no control to take. The prompt already forbids that sentence in as
+ * many words, so the answer is not more prose: it is that a person who wants their own
+ * browser should not have to be offered it first.
+ *
+ * The amber row stays the Bot ASKING, which is a different thing and still worth its own
+ * colour and its reason. Without a request this is a quiet control that says who is driving.
+ */}
+ {!driving ? (
+
- The assistant needs you.{" "}
- {control.reason}
+ {control?.requested ? (
+ <>
+
+ The assistant needs you.
+ {" "}
+ {control.reason}
+ >
+ ) : (
+ "The assistant is driving. You can take over whenever you want."
+ )}
@@ -377,7 +407,8 @@ export function ComputerView({
>
Hand back to the assistant
- ) : control?.requested ? (
+ ) : (
+ /* Offered here too, and for the same reason: see the inline card above. */
- ) : null}
+ )}
{driving
? "Press Escape to close"