docs(sessions): document settled extension dialog cards as dismiss-stay records

This commit is contained in:
Federico Jaramillo Martinez
2026-07-29 07:52:21 +02:00
parent 5420869c52
commit 7a426571b8
4 changed files with 10 additions and 7 deletions
+4 -3
View File
@@ -46,9 +46,10 @@ export interface AppState {
pendingDialogs: PendingExtensionDialog[];
/**
* Dialogs that closed while their session was selected, kept with the close
* reason and any answer so the card can render its outcome briefly. The wire
* outcome is deliberately small, so only a browser that saw the dialog open
* can show the closed card; deselection and reloads drop these.
* reason and any answer so the settled card can show what became of the
* dialog. The card stays until the user dismisses it. The wire outcome is
* deliberately small, so only a browser that saw the dialog open can show
* the closed card; deselection and reloads drop these.
*/
closedDialogs: ClosedExtensionDialog[];
/** Thinking levels available for the selected session's current model. */
@@ -76,7 +76,8 @@ export function extensionDialogCountdownText(timeoutAt: string | undefined, nowM
* The card owns only browser-local form state (the half-typed input, the
* in-flight close flag, the display-only countdown); the daemon remains the
* source of truth for whether the dialog is open. Closed mode renders the
* transient outcome for a browser that saw the dialog open.
* settled outcome a browser-local record that stays until dismissed — for a
* browser that saw the dialog open.
*/
@customElement("extension-dialog-card")
export class ExtensionDialogCard extends LitElement {
+3 -3
View File
@@ -656,9 +656,9 @@ export interface PendingExtensionDialog {
/**
* The complete result of a closed extension dialog. Unlike an ask outcome it
* stays small — the dialog itself is not embedded, because a closed dialog
* renders only transiently for browsers that saw it open; reloads rehydrate
* open dialogs from {@link SessionStatus.pendingDialogs} alone.
* stays small — the dialog itself is not embedded, because a settled card is a
* browser-local record that stays until the user dismisses it; reloads
* rehydrate open dialogs from {@link SessionStatus.pendingDialogs} alone.
*/
export interface ExtensionDialogOutcome {
dialogId: string;