diff --git a/docs/specs/dor-cli.md b/docs/specs/dor-cli.md index db5ed3ced..e9f095cb2 100644 --- a/docs/specs/dor-cli.md +++ b/docs/specs/dor-cli.md @@ -148,7 +148,7 @@ Invariants: ```mermaid flowchart TD - R[request] --> AT{app.* or tool.*?} + R[request] --> AT{app.*, remote.*, tool.* or window.*?} AT -- yes --> WIN[the Window answers] AT -- no --> BAD{malformed or helper --surface, or another --window?} BAD -- yes --> REF[refuse] diff --git a/docs/specs/mouse-and-clipboard.md b/docs/specs/mouse-and-clipboard.md index 9cc228930..e5ed7b2eb 100644 --- a/docs/specs/mouse-and-clipboard.md +++ b/docs/specs/mouse-and-clipboard.md @@ -126,7 +126,7 @@ Mouse-up over a terminal-handled drag opens the **copy editor**, as does the cop |---|---| | **Auto** (opens here) | Decoration stripped, each break judged on its own (§4.1.1). | | **Exact** | As displayed: selected rows joined by `\n`, each trimmed of trailing whitespace — soft-wrapped rows included. | -| **Spaces** | Decoration stripped, blank lines dropped, every break one space, continuation indents and quote prefixes removed. | +| **Spaces** | Decoration stripped, blank lines dropped, every break one space, continuation indents and each later line's quote prefix removed. | | **No breaks** | As Spaces, every break deleted. | **Decoration** is a frame-only line (dropped), a leading or trailing run of box drawing (`U+2500–U+259F`, Box Drawing and Block Elements), and a TUI's leading bullet (`⏺`, `⎿`, `●`). A **quote prefix** is a `>`, or a quote bar (`▏ ▎ ▍`) at most two spaces from its text, per level, with text after it; a line of bars alone is blank, written between quoted lines with the shallower one's prefix. **Must write a quote bar as `>`, drop a quote prefix with the break deleted before it, and keep a break where quote depth changes** (rationale). **Must read cells through xterm's wide-character continuation cells.** **A deleted soft wrap joins its rows exactly**, keeping a blank on either side of it. **Every judgement reads a soft wrap's rows as one line**, indented as its first row (rationale). **Never rewrap a block-shape selection**: it is a rectangular slab, so Auto reads it as Exact, and it has no wider scope (§4.2) and no edge keys (§4.3). diff --git a/docs/testing/dor-tool-dirty.md b/docs/testing/dor-tool-dirty.md index 1a0e312e7..e9ade6a78 100644 --- a/docs/testing/dor-tool-dirty.md +++ b/docs/testing/dor-tool-dirty.md @@ -4,7 +4,7 @@ Branch: `dor-tool-dirty`, stacked on `dor-tool-qc`. ## Scope -Tools report unsaved state with `OSC 367;state;{"v":1,"dirty":true|false}`. This pass adds indication; save coordination and close protection remain future work. +Tools report unsaved state with `OSC 367;state;{"v":1,"dirty":true|false}`. This pass adds indication; save coordination and close protection came later (`docs/specs/dor-tool.md` -> "Closing unsaved Tools"). ## Plan diff --git a/lib/src/lib/alert-manager.ts b/lib/src/lib/alert-manager.ts index ffa1173d6..23d359d7a 100644 --- a/lib/src/lib/alert-manager.ts +++ b/lib/src/lib/alert-manager.ts @@ -549,8 +549,6 @@ export class AlertManager { } case 'commandFinished': if (!event.seen) break; - // A shell-reported exit is authoritative, so confirmed work never - // delays it. The detector only gates in-band terminal notifications. this.holdOrDeliver(id, entry, 'exit', { source: 'COMMAND_EXIT', title: 'Command finished', diff --git a/lib/src/lib/terminal-protocol.ts b/lib/src/lib/terminal-protocol.ts index 97ff9fa07..a635bc3aa 100644 --- a/lib/src/lib/terminal-protocol.ts +++ b/lib/src/lib/terminal-protocol.ts @@ -932,7 +932,7 @@ function parseOscTitle(content: string, source: TerminalTitle['source']): Termin if (!content.startsWith(prefix)) return []; const titleText = sanitizeText(content.slice(prefix.length), TITLE_LIMIT); if (!titleText) return []; - // updatedAt is set authoritatively by collectTerminalSemanticEvents in stream order. + // updatedAt is set authoritatively in stream order by semanticEventOf. return [{ kind: 'semantic', event: { diff --git a/lib/src/lib/terminal-registry.alert.test.ts b/lib/src/lib/terminal-registry.alert.test.ts index a2417329a..f7da2a0a8 100644 --- a/lib/src/lib/terminal-registry.alert.test.ts +++ b/lib/src/lib/terminal-registry.alert.test.ts @@ -990,8 +990,8 @@ describe('terminal-registry alert behavior', () => { entry.terminal.emitInput(input); // Written as it came, and not as user input. expect(write.mock.calls).toEqual([[id, input]]); - // The fake PTY echoes the reply as output. It may defer presentation, - // but must never acknowledge or discard the owed episode. + // The fake PTY echoes the reply as output, which must never acknowledge + // or discard the owed episode. expect(getActivity(id)).toMatchObject({ episode, todo: false }); advance(5_000); expect(getActivity(id)).toMatchObject({ status: 'ALERT_RINGING', episode }); diff --git a/website/src/index.css b/website/src/index.css index 9a1d11365..04ba9235c 100644 --- a/website/src/index.css +++ b/website/src/index.css @@ -15,8 +15,8 @@ /* The site's own design, shared with Hosted's account pages. */ @import "../../lib/src/site/site.css"; @source "../../lib/src"; -/* Tests and stories are 180 of the library's 430 files and render nowhere on - this site. Excluding them can only drop a utility that appears *nowhere +/* Tests and stories are a large share of the library's files and render + nowhere on this site. Excluding them can only drop a utility that appears *nowhere else*, so every shipped component keeps its classes. */ @source not "../../lib/src/**/*.test.ts"; @source not "../../lib/src/**/*.test.tsx";