Compare commits
4
Commits
vivace
..
trombone-2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9f8f02e11 | ||
|
|
50b862b1fa | ||
|
|
4668cf8ece | ||
|
|
638155de03 |
+10
-4
@@ -85,10 +85,10 @@ export function createStructuredConnection(
|
||||
<div class="structured-main">
|
||||
<div class="structured-scroll">
|
||||
<div class="structured-rows"></div>
|
||||
</div>
|
||||
<div class="structured-activity" role="status" aria-live="polite" hidden>
|
||||
<span class="structured-activity-pulse" aria-hidden="true"></span>
|
||||
<span class="structured-activity-text">Thinking</span>
|
||||
<div class="structured-activity" role="status" aria-live="polite" hidden>
|
||||
<span class="structured-activity-pulse" aria-hidden="true"></span>
|
||||
<span class="structured-activity-text">Thinking</span>
|
||||
</div>
|
||||
</div>
|
||||
<form class="structured-composer">
|
||||
<button type="button" class="btn btn-ghost btn-icon structured-attach" aria-label="Attach files" title="Attach files (up to 20 MiB each)">
|
||||
@@ -717,6 +717,7 @@ export function createStructuredConnection(
|
||||
|
||||
function renderActivity(): void {
|
||||
const active = state.turn.responding || state.turn.thinking || awaitingBeginGeneration !== null;
|
||||
const wasHidden = activityEl.hidden;
|
||||
activityEl.hidden = !active;
|
||||
if (!active) {
|
||||
optimisticTurnStartedAt = null;
|
||||
@@ -739,6 +740,11 @@ export function createStructuredConnection(
|
||||
}
|
||||
activityText.textContent = parts.join(" · ");
|
||||
if (activityTimer === null) activityTimer = window.setInterval(renderActivity, 1_000);
|
||||
// Activity lives inside the scroll area; nudge scroll when it first appears.
|
||||
if (wasHidden && followingBottom) {
|
||||
beginTranscriptLayout(true);
|
||||
finishTranscriptLayout();
|
||||
}
|
||||
}
|
||||
|
||||
function reconcileAwaitingBegin(): void {
|
||||
|
||||
@@ -315,8 +315,8 @@ describe("buildTranscriptRow: tool diffs", () => {
|
||||
(el.querySelector(".st-tool-head") as HTMLButtonElement).click();
|
||||
const diff = el.querySelector(".st-diff") as HTMLElement;
|
||||
expect(diff).not.toBeNull();
|
||||
expect(diff.querySelector(".st-ln-add")!.textContent).toBe("c");
|
||||
expect(diff.querySelector(".st-ln-del")!.textContent).toBe("b");
|
||||
expect(diff.querySelector(".st-ln-add")!.textContent).toBe("+ c");
|
||||
expect(diff.querySelector(".st-ln-del")!.textContent).toBe("- b");
|
||||
});
|
||||
|
||||
it("gives the diff its own horizontally-scrolling container", () => {
|
||||
|
||||
@@ -223,15 +223,16 @@ function buildDiffBlock(diff: { path: string; oldText?: string | null; newText:
|
||||
wrap.appendChild(label);
|
||||
const scroller = el("div", "st-diff");
|
||||
const pre = document.createElement("pre");
|
||||
for (const line of computeDiffLines(diff.oldText, diff.newText)) {
|
||||
const lines = computeDiffLines(diff.oldText, diff.newText);
|
||||
const prefixes: Record<string, string> = { add: "+ ", del: "- ", ctx: " ", hunk: "", eof: "" };
|
||||
for (const line of lines) {
|
||||
const span = document.createElement("span");
|
||||
span.className = `st-ln st-ln-${line.kind}`;
|
||||
span.textContent = line.text;
|
||||
span.textContent = (prefixes[line.kind] ?? "") + line.text;
|
||||
pre.appendChild(span);
|
||||
pre.appendChild(document.createTextNode("\n"));
|
||||
}
|
||||
scroller.appendChild(pre);
|
||||
makeCopyable(scroller, pre.textContent ?? "", "diff");
|
||||
makeCopyable(scroller, lines.map((l) => (prefixes[l.kind] ?? "") + l.text).join("\n"), "diff");
|
||||
wrap.appendChild(scroller);
|
||||
return wrap;
|
||||
}
|
||||
|
||||
+1
-2
@@ -2318,9 +2318,7 @@ input.leaf-rename:focus {
|
||||
gap: var(--sp-2);
|
||||
min-height: 30px;
|
||||
padding: var(--sp-1) var(--sp-3);
|
||||
border-top: 1px solid var(--border);
|
||||
color: var(--muted);
|
||||
background: var(--surface-2);
|
||||
font-size: var(--fs-11);
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
@@ -2967,6 +2965,7 @@ input.leaf-rename:focus {
|
||||
display: block;
|
||||
white-space: pre;
|
||||
padding: 0 var(--sp-3);
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.st-ln-add {
|
||||
|
||||
Reference in New Issue
Block a user