feat(frontend): pulse the stop dot while the harness is working
Give live feedback that something is happening the moment a session starts processing: the red stop dot in the composer beats with a soft heartbeat + halo while the harness is actively working (running — not waiting at a gate or finalized), and settles the instant the model hands control back to the reviewer or the session ends. Ring/scale only (no layout properties animated); honors prefers-reduced-motion. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -82,3 +82,12 @@ test("marks the composer as awaiting input only when requested", () => {
|
||||
expect(input).toHaveAttribute("data-awaiting-input", "true");
|
||||
expect(input).toHaveClass("thot-awaiting-input");
|
||||
});
|
||||
|
||||
test("pulses the stop dot only while the harness is working", () => {
|
||||
const { rerender } = render(<SteerInput sessionId="s1" working />);
|
||||
const dot = () =>
|
||||
screen.getByRole("button", { name: /stop and save session/i }).querySelector("span");
|
||||
expect(dot()).toHaveClass("thot-pulse");
|
||||
rerender(<SteerInput sessionId="s1" working={false} />);
|
||||
expect(dot()).not.toHaveClass("thot-pulse");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user