mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-15 18:28:31 +01:00
chat: completed response disclosure (#327923)
* chat: completed response disclosure * address feedback + fix
This commit is contained in:
@@ -38,6 +38,11 @@ Then read the relevant spec for the area you are changing (see table below). If
|
||||
- **Missing entry point import**: New contribution files must be imported in the appropriate `sessions.*.main.ts` entry point to be loaded (for example `sessions.common.main.ts`, `sessions.desktop.main.ts`, `sessions.web.main.ts`, or `sessions.web.main.internal.ts`).
|
||||
- **Modifying workbench code**: Prefer extending/wrapping workbench classes in the sessions layer over modifying shared workbench components.
|
||||
- **Do not repeat subagent identity beside the open-chat pill**: The subagent pill's title is the complete inline affordance. Do not render the agent name or a generic "Subagent" phrase before it; that duplicates identity and adds visual noise.
|
||||
- **Subagent model metadata is differential**: Show the subagent's model by default and hide it only when it concretely matches the parent chat's selected model. Compare both canonical model ids and registered display names; if the parent model is unresolved, still show the metadata (a match cannot be established, so surface the model rather than hiding it).
|
||||
- **Optional metadata owns its separator**: Keep separators such as `·` on the conditional metadata element and create that element hidden. An empty optional label must never leave punctuation behind while its reactive visibility is still resolving.
|
||||
- **Live numeric labels must not jitter**: Apply `font-variant-numeric: tabular-nums` with `font-feature-settings: "tnum"` as a fallback to elapsed-time and other numeric labels that update in place.
|
||||
- **Collapsed work summaries must quantify what they hide**: Prefer outcome-oriented copy such as "Completed 6 steps in 2m" over vague elapsed-only text such as "Worked for a few minutes." Count the visible items placed inside the disclosure so the summary matches what expanding it reveals.
|
||||
- **Custom action proxies must propagate owner-observed state**: When an action view wraps a menu action in a proxy, state that controls surrounding UI (such as enabled/available) must also be written to the original menu action observed by the owner. Re-subscribe on `IActionViewItemService.onDidChange` for late factory registration, but do not assume the replacement proxy's state automatically reaches the menu action.
|
||||
- **Editor feedback glyph placement**: Use Monaco's `lineNumberClassName` when the feedback affordance should replace the number only while its line is hovered; it eliminates a dedicated glyph lane while preserving the number at rest. Style the line-number pseudo-element as the full feedback control, including its themed hover background, so its visual and click target match.
|
||||
- **Line-number decoration tooltips belong in Monaco decoration options**: A `lineNumberClassName` node is regenerated as the editor renders and scrolls, so DOM-managed hovers can silently attach to a stale or never-decorated element. Set the localized `lineNumberHoverMessage` with the same decoration instead; Monaco's glyph hover controller follows the rendered line-number lifecycle.
|
||||
- **Compact multi-diff control alignment**: The file-header twistie, unchanged-region expand control, and fold control form one visual column in the Agents editor. Remove the header content's left padding and use the same small inset for both unchanged-region controls; do not let the shared multi-diff defaults leave each control at a separate horizontal offset.
|
||||
|
||||
Reference in New Issue
Block a user