@theia/ai-chat-ui 1.74.0-next.17 → 1.74.0-next.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61,37 +61,18 @@ export declare class ChatViewTreeWidget extends TreeWidget {
61
61
  /** Tracks if we are at the bottom for showing the scroll-to-bottom button. */
62
62
  protected atBottom: boolean;
63
63
  /**
64
- * Track the visibility of the scroll button with debounce logic. Used to prevent flickering when streaming tokens.
64
+ * Track the visibility of the scroll button.
65
65
  */
66
66
  protected _showScrollButton: boolean;
67
- /**
68
- * Timer for debouncing the scroll button activation (prevents flicker on auto-scroll).
69
- * If user scrolls up, this delays showing the button in case auto-scroll-to-bottom kicks in.
70
- */
71
- protected _scrollButtonDebounceTimer?: number;
72
- /**
73
- * Debounce period in ms before showing scroll-to-bottom button after scrolling up.
74
- * Avoids flickering of the button during LLM token streaming.
75
- */
76
- protected static readonly SCROLL_BUTTON_GRACE_PERIOD = 100;
77
67
  onScrollLockChange?: (temporaryLocked: boolean) => void;
78
- protected lastScrollTop: number;
79
68
  set shouldScrollToEnd(shouldScrollToEnd: boolean);
80
69
  get shouldScrollToEnd(): boolean;
81
70
  constructor(props: TreeProps, model: TreeModel, contextMenuRenderer: ContextMenuRenderer);
82
71
  protected init(): void;
83
72
  setEnabled(enabled: boolean): void;
84
- protected handleScrollEvent(scrollEvent: unknown): void;
85
- /** Updates the scroll-to-bottom button state and handles debounce. */
86
- protected updateScrollToBottomButtonState(isAtBottom: boolean): void;
73
+ /** Toggles auto-scroll and the scroll-to-bottom button based on whether the viewport includes the bottom of the list. */
74
+ protected handleAtBottomStateChange(isAtBottom: boolean): void;
87
75
  protected setTemporaryScrollLock(enabled: boolean): void;
88
- protected getCurrentScrollTop(scrollEvent: unknown): number;
89
- /**
90
- * Returns true if the scroll position is at the absolute (1px tolerance) bottom of the scroll container.
91
- * Handles both virtualized and non-virtualized scroll containers.
92
- * Allows for a tiny floating point epsilon (1px).
93
- */
94
- protected isAtAbsoluteBottom(): boolean;
95
76
  protected renderTree(model: TreeModel): React.ReactNode;
96
77
  /** Shows the scroll to bottom button if not at the bottom (debounced). */
97
78
  protected renderScrollToBottomButton(): React.ReactNode;
@@ -130,9 +111,5 @@ export declare class ChatViewTreeWidget extends TreeWidget {
130
111
  protected getChatResponsePartRenderer(content: ChatResponseContent, node: ResponseNode): React.ReactNode;
131
112
  protected handleContextMenu(node: TreeNode | undefined, event: React.MouseEvent<HTMLElement>): void;
132
113
  protected handleSpace(event: KeyboardEvent): boolean;
133
- /**
134
- * Ensure atBottom state is correct when content grows (e.g., LLM streaming while scroll lock is enabled).
135
- */
136
- protected updateScrollToRow(): void;
137
114
  }
138
115
  //# sourceMappingURL=chat-view-tree-widget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-view-tree-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-view-tree-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":"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"}
@@ -51,11 +51,6 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
51
51
  static { ChatViewTreeWidget_1 = this; }
52
52
  static { this.ID = 'chat-tree-widget'; }
53
53
  static { this.CONTEXT_MENU = ['chat-tree-context-menu']; }
54
- /**
55
- * Debounce period in ms before showing scroll-to-bottom button after scrolling up.
56
- * Avoids flickering of the button during LLM token streaming.
57
- */
58
- static { this.SCROLL_BUTTON_GRACE_PERIOD = 100; }
59
54
  set shouldScrollToEnd(shouldScrollToEnd) {
60
55
  this._shouldScrollToEnd = shouldScrollToEnd;
61
56
  this.shouldScrollToRow = this._shouldScrollToEnd;
@@ -73,10 +68,9 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
73
68
  /** Tracks if we are at the bottom for showing the scroll-to-bottom button. */
74
69
  this.atBottom = true;
75
70
  /**
76
- * Track the visibility of the scroll button with debounce logic. Used to prevent flickering when streaming tokens.
71
+ * Track the visibility of the scroll button.
77
72
  */
78
73
  this._showScrollButton = false;
79
- this.lastScrollTop = 0;
80
74
  this.toDisposeOnChatModelChange = new core_1.DisposableCollection();
81
75
  this.id = ChatViewTreeWidget_1.ID;
82
76
  this.title.closable = false;
@@ -105,8 +99,8 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
105
99
  });
106
100
  this.update();
107
101
  }),
108
- this.onScroll(scrollEvent => {
109
- this.handleScrollEvent(scrollEvent);
102
+ this.onAtBottomStateChange(atBottom => {
103
+ this.handleAtBottomStateChange(atBottom);
110
104
  })
111
105
  ]);
112
106
  for (const provider of this.welcomeMessageProviders.getContributions()) {
@@ -116,59 +110,26 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
116
110
  }));
117
111
  }
118
112
  }
119
- // Initialize lastScrollTop with current scroll position
120
- this.lastScrollTop = this.getCurrentScrollTop(undefined);
121
113
  }
122
114
  setEnabled(enabled) {
123
115
  this.isEnabled = enabled;
124
116
  this.update();
125
117
  }
126
- handleScrollEvent(scrollEvent) {
127
- const currentScrollTop = this.getCurrentScrollTop(scrollEvent);
128
- const isScrollingUp = currentScrollTop < this.lastScrollTop;
129
- const isScrollingDown = currentScrollTop > this.lastScrollTop;
130
- const isAtBottom = this.isScrolledToBottom();
131
- const isAtAbsoluteBottom = this.isAtAbsoluteBottom();
132
- // Asymmetric threshold logic to prevent jitter:
133
- if (this.shouldScrollToEnd && isScrollingUp) {
134
- if (!isAtAbsoluteBottom) {
135
- this.setTemporaryScrollLock(true);
136
- }
137
- }
138
- else if (!this.shouldScrollToEnd && isAtBottom && isScrollingDown) {
139
- this.setTemporaryScrollLock(false);
140
- }
141
- this.updateScrollToBottomButtonState(isAtBottom);
142
- this.lastScrollTop = currentScrollTop;
143
- }
144
- /** Updates the scroll-to-bottom button state and handles debounce. */
145
- updateScrollToBottomButtonState(isAtBottom) {
146
- const atBottomNow = isAtBottom; // Use isScrolledToBottom for threshold
147
- if (atBottomNow !== this.atBottom) {
148
- this.atBottom = atBottomNow;
149
- if (this.atBottom) {
150
- // We're at the bottom, hide the button immediately and clear any debounce timer.
118
+ /** Toggles auto-scroll and the scroll-to-bottom button based on whether the viewport includes the bottom of the list. */
119
+ handleAtBottomStateChange(isAtBottom) {
120
+ if (isAtBottom !== this.atBottom) {
121
+ this.atBottom = isAtBottom;
122
+ if (isAtBottom) {
123
+ // Arrived at bottom — re-enable auto-scroll and hide the button
151
124
  this._showScrollButton = false;
152
- if (this._scrollButtonDebounceTimer !== undefined) {
153
- clearTimeout(this._scrollButtonDebounceTimer);
154
- this._scrollButtonDebounceTimer = undefined;
155
- }
156
- this.update();
125
+ this.setTemporaryScrollLock(false);
157
126
  }
158
127
  else {
159
- // User scrolled up; delay showing the scroll-to-bottom button.
160
- if (this._scrollButtonDebounceTimer !== undefined) {
161
- clearTimeout(this._scrollButtonDebounceTimer);
162
- }
163
- this._scrollButtonDebounceTimer = window.setTimeout(() => {
164
- // Re-check: only show if we're still not at bottom
165
- if (!this.atBottom) {
166
- this._showScrollButton = true;
167
- this.update();
168
- }
169
- this._scrollButtonDebounceTimer = undefined;
170
- }, ChatViewTreeWidget_1.SCROLL_BUTTON_GRACE_PERIOD);
128
+ // Left the bottom — lock auto-scroll and show the button
129
+ this._showScrollButton = true;
130
+ this.setTemporaryScrollLock(true);
171
131
  }
132
+ this.update();
172
133
  }
173
134
  }
174
135
  setTemporaryScrollLock(enabled) {
@@ -177,54 +138,6 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
177
138
  // Update cached scrollToRow so that outdated values do not cause unwanted scrolling on update()
178
139
  this.updateScrollToRow();
179
140
  }
180
- getCurrentScrollTop(scrollEvent) {
181
- // For virtualized trees, use the virtualized view's scroll state (most reliable)
182
- if (this.props.virtualized !== false && this.view) {
183
- const scrollState = this.getVirtualizedScrollState();
184
- if (scrollState !== undefined) {
185
- return scrollState.scrollTop;
186
- }
187
- }
188
- // Try to extract scroll position from the scroll event
189
- if (scrollEvent && typeof scrollEvent === 'object' && 'scrollTop' in scrollEvent) {
190
- const scrollEventWithScrollTop = scrollEvent;
191
- const scrollTop = scrollEventWithScrollTop.scrollTop;
192
- if (typeof scrollTop === 'number' && !isNaN(scrollTop)) {
193
- return scrollTop;
194
- }
195
- }
196
- // Last resort: use DOM scroll position
197
- if (this.node && typeof this.node.scrollTop === 'number') {
198
- return this.node.scrollTop;
199
- }
200
- return 0;
201
- }
202
- /**
203
- * Returns true if the scroll position is at the absolute (1px tolerance) bottom of the scroll container.
204
- * Handles both virtualized and non-virtualized scroll containers.
205
- * Allows for a tiny floating point epsilon (1px).
206
- */
207
- isAtAbsoluteBottom() {
208
- let scrollTop = 0;
209
- let scrollHeight = 0;
210
- let clientHeight = 0;
211
- const EPSILON = 1; // px
212
- if (this.props.virtualized !== false && this.view) {
213
- const state = this.getVirtualizedScrollState();
214
- if (state) {
215
- scrollTop = state.scrollTop;
216
- scrollHeight = state.scrollHeight ?? 0;
217
- clientHeight = state.clientHeight ?? 0;
218
- }
219
- }
220
- else if (this.node) {
221
- scrollTop = this.node.scrollTop;
222
- scrollHeight = this.node.scrollHeight;
223
- clientHeight = this.node.clientHeight;
224
- }
225
- const diff = Math.abs(scrollTop + clientHeight - scrollHeight);
226
- return diff <= EPSILON;
227
- }
228
141
  renderTree(model) {
229
142
  if (!this.isEnabled) {
230
143
  return this.renderDisabledMessage();
@@ -249,10 +162,7 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
249
162
  this.scrollToRow = this.rows.size;
250
163
  this.atBottom = true;
251
164
  this._showScrollButton = false;
252
- if (this._scrollButtonDebounceTimer !== undefined) {
253
- clearTimeout(this._scrollButtonDebounceTimer);
254
- this._scrollButtonDebounceTimer = undefined;
255
- }
165
+ this.setTemporaryScrollLock(false);
256
166
  this.update();
257
167
  }
258
168
  /**
@@ -563,14 +473,6 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
563
473
  // Otherwise, the space key will never be handled by the monaco editor
564
474
  return false;
565
475
  }
566
- /**
567
- * Ensure atBottom state is correct when content grows (e.g., LLM streaming while scroll lock is enabled).
568
- */
569
- updateScrollToRow() {
570
- super.updateScrollToRow();
571
- const isAtBottom = this.isScrolledToBottom();
572
- this.updateScrollToBottomButtonState(isAtBottom);
573
- }
574
476
  };
575
477
  exports.ChatViewTreeWidget = ChatViewTreeWidget;
576
478
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"chat-view-tree-widget.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-view-tree-widget.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@theia/ai-chat-ui",
3
- "version": "1.74.0-next.17+3351cf136",
3
+ "version": "1.74.0-next.30+a66faae06",
4
4
  "description": "Theia - AI Chat UI Extension",
5
5
  "dependencies": {
6
- "@theia/ai-chat": "1.74.0-next.17+3351cf136",
7
- "@theia/ai-core": "1.74.0-next.17+3351cf136",
8
- "@theia/core": "1.74.0-next.17+3351cf136",
9
- "@theia/editor": "1.74.0-next.17+3351cf136",
10
- "@theia/editor-preview": "1.74.0-next.17+3351cf136",
11
- "@theia/filesystem": "1.74.0-next.17+3351cf136",
12
- "@theia/monaco": "1.74.0-next.17+3351cf136",
6
+ "@theia/ai-chat": "1.74.0-next.30+a66faae06",
7
+ "@theia/ai-core": "1.74.0-next.30+a66faae06",
8
+ "@theia/core": "1.74.0-next.30+a66faae06",
9
+ "@theia/editor": "1.74.0-next.30+a66faae06",
10
+ "@theia/editor-preview": "1.74.0-next.30+a66faae06",
11
+ "@theia/filesystem": "1.74.0-next.30+a66faae06",
12
+ "@theia/monaco": "1.74.0-next.30+a66faae06",
13
13
  "@theia/monaco-editor-core": "1.108.201",
14
- "@theia/preferences": "1.74.0-next.17+3351cf136",
15
- "@theia/workspace": "1.74.0-next.17+3351cf136",
16
- "date-fns": "^4.1.0",
14
+ "@theia/preferences": "1.74.0-next.30+a66faae06",
15
+ "@theia/workspace": "1.74.0-next.30+a66faae06",
16
+ "date-fns": "^4.4.0",
17
17
  "mermaid": "^11.15.0",
18
18
  "tslib": "^2.8.1"
19
19
  },
@@ -56,5 +56,5 @@
56
56
  "nyc": {
57
57
  "extends": "../../configs/nyc.json"
58
58
  },
59
- "gitHead": "3351cf1363eb15fad7088cfc9e6857377baf0acc"
59
+ "gitHead": "a66faae0656433a1c1fcb65673ca2e9e0970c8c5"
60
60
  }
@@ -163,24 +163,12 @@ export class ChatViewTreeWidget extends TreeWidget {
163
163
  /** Tracks if we are at the bottom for showing the scroll-to-bottom button. */
164
164
  protected atBottom = true;
165
165
  /**
166
- * Track the visibility of the scroll button with debounce logic. Used to prevent flickering when streaming tokens.
166
+ * Track the visibility of the scroll button.
167
167
  */
168
168
  protected _showScrollButton = false;
169
- /**
170
- * Timer for debouncing the scroll button activation (prevents flicker on auto-scroll).
171
- * If user scrolls up, this delays showing the button in case auto-scroll-to-bottom kicks in.
172
- */
173
- protected _scrollButtonDebounceTimer?: number;
174
- /**
175
- * Debounce period in ms before showing scroll-to-bottom button after scrolling up.
176
- * Avoids flickering of the button during LLM token streaming.
177
- */
178
- protected static readonly SCROLL_BUTTON_GRACE_PERIOD = 100;
179
169
 
180
170
  onScrollLockChange?: (temporaryLocked: boolean) => void;
181
171
 
182
- protected lastScrollTop = 0;
183
-
184
172
  set shouldScrollToEnd(shouldScrollToEnd: boolean) {
185
173
  this._shouldScrollToEnd = shouldScrollToEnd;
186
174
  this.shouldScrollToRow = this._shouldScrollToEnd;
@@ -230,8 +218,8 @@ export class ChatViewTreeWidget extends TreeWidget {
230
218
  });
231
219
  this.update();
232
220
  }),
233
- this.onScroll(scrollEvent => {
234
- this.handleScrollEvent(scrollEvent);
221
+ this.onAtBottomStateChange(atBottom => {
222
+ this.handleAtBottomStateChange(atBottom);
235
223
  })
236
224
  ]);
237
225
 
@@ -245,8 +233,6 @@ export class ChatViewTreeWidget extends TreeWidget {
245
233
  }
246
234
  }
247
235
 
248
- // Initialize lastScrollTop with current scroll position
249
- this.lastScrollTop = this.getCurrentScrollTop(undefined);
250
236
  }
251
237
 
252
238
  public setEnabled(enabled: boolean): void {
@@ -254,54 +240,20 @@ export class ChatViewTreeWidget extends TreeWidget {
254
240
  this.update();
255
241
  }
256
242
 
257
- protected handleScrollEvent(scrollEvent: unknown): void {
258
- const currentScrollTop = this.getCurrentScrollTop(scrollEvent);
259
- const isScrollingUp = currentScrollTop < this.lastScrollTop;
260
- const isScrollingDown = currentScrollTop > this.lastScrollTop;
261
- const isAtBottom = this.isScrolledToBottom();
262
- const isAtAbsoluteBottom = this.isAtAbsoluteBottom();
263
-
264
- // Asymmetric threshold logic to prevent jitter:
265
- if (this.shouldScrollToEnd && isScrollingUp) {
266
- if (!isAtAbsoluteBottom) {
267
- this.setTemporaryScrollLock(true);
268
- }
269
- } else if (!this.shouldScrollToEnd && isAtBottom && isScrollingDown) {
270
- this.setTemporaryScrollLock(false);
271
- }
272
-
273
- this.updateScrollToBottomButtonState(isAtBottom);
274
-
275
- this.lastScrollTop = currentScrollTop;
276
- }
277
-
278
- /** Updates the scroll-to-bottom button state and handles debounce. */
279
- protected updateScrollToBottomButtonState(isAtBottom: boolean): void {
280
- const atBottomNow = isAtBottom; // Use isScrolledToBottom for threshold
281
- if (atBottomNow !== this.atBottom) {
282
- this.atBottom = atBottomNow;
283
- if (this.atBottom) {
284
- // We're at the bottom, hide the button immediately and clear any debounce timer.
243
+ /** Toggles auto-scroll and the scroll-to-bottom button based on whether the viewport includes the bottom of the list. */
244
+ protected handleAtBottomStateChange(isAtBottom: boolean): void {
245
+ if (isAtBottom !== this.atBottom) {
246
+ this.atBottom = isAtBottom;
247
+ if (isAtBottom) {
248
+ // Arrived at bottom — re-enable auto-scroll and hide the button
285
249
  this._showScrollButton = false;
286
- if (this._scrollButtonDebounceTimer !== undefined) {
287
- clearTimeout(this._scrollButtonDebounceTimer);
288
- this._scrollButtonDebounceTimer = undefined;
289
- }
290
- this.update();
250
+ this.setTemporaryScrollLock(false);
291
251
  } else {
292
- // User scrolled up; delay showing the scroll-to-bottom button.
293
- if (this._scrollButtonDebounceTimer !== undefined) {
294
- clearTimeout(this._scrollButtonDebounceTimer);
295
- }
296
- this._scrollButtonDebounceTimer = window.setTimeout(() => {
297
- // Re-check: only show if we're still not at bottom
298
- if (!this.atBottom) {
299
- this._showScrollButton = true;
300
- this.update();
301
- }
302
- this._scrollButtonDebounceTimer = undefined;
303
- }, ChatViewTreeWidget.SCROLL_BUTTON_GRACE_PERIOD);
252
+ // Left the bottom — lock auto-scroll and show the button
253
+ this._showScrollButton = true;
254
+ this.setTemporaryScrollLock(true);
304
255
  }
256
+ this.update();
305
257
  }
306
258
  }
307
259
 
@@ -312,58 +264,6 @@ export class ChatViewTreeWidget extends TreeWidget {
312
264
  this.updateScrollToRow();
313
265
  }
314
266
 
315
- protected getCurrentScrollTop(scrollEvent: unknown): number {
316
- // For virtualized trees, use the virtualized view's scroll state (most reliable)
317
- if (this.props.virtualized !== false && this.view) {
318
- const scrollState = this.getVirtualizedScrollState();
319
- if (scrollState !== undefined) {
320
- return scrollState.scrollTop;
321
- }
322
- }
323
-
324
- // Try to extract scroll position from the scroll event
325
- if (scrollEvent && typeof scrollEvent === 'object' && 'scrollTop' in scrollEvent) {
326
- const scrollEventWithScrollTop = scrollEvent as { scrollTop: unknown };
327
- const scrollTop = scrollEventWithScrollTop.scrollTop;
328
- if (typeof scrollTop === 'number' && !isNaN(scrollTop)) {
329
- return scrollTop;
330
- }
331
- }
332
-
333
- // Last resort: use DOM scroll position
334
- if (this.node && typeof this.node.scrollTop === 'number') {
335
- return this.node.scrollTop;
336
- }
337
-
338
- return 0;
339
- }
340
-
341
- /**
342
- * Returns true if the scroll position is at the absolute (1px tolerance) bottom of the scroll container.
343
- * Handles both virtualized and non-virtualized scroll containers.
344
- * Allows for a tiny floating point epsilon (1px).
345
- */
346
- protected isAtAbsoluteBottom(): boolean {
347
- let scrollTop: number = 0;
348
- let scrollHeight: number = 0;
349
- let clientHeight: number = 0;
350
- const EPSILON = 1; // px
351
- if (this.props.virtualized !== false && this.view) {
352
- const state = this.getVirtualizedScrollState();
353
- if (state) {
354
- scrollTop = state.scrollTop;
355
- scrollHeight = state.scrollHeight ?? 0;
356
- clientHeight = state.clientHeight ?? 0;
357
- }
358
- } else if (this.node) {
359
- scrollTop = this.node.scrollTop;
360
- scrollHeight = this.node.scrollHeight;
361
- clientHeight = this.node.clientHeight;
362
- }
363
- const diff = Math.abs(scrollTop + clientHeight - scrollHeight);
364
- return diff <= EPSILON;
365
- }
366
-
367
267
  protected override renderTree(model: TreeModel): React.ReactNode {
368
268
  if (!this.isEnabled) {
369
269
  return this.renderDisabledMessage();
@@ -397,10 +297,7 @@ export class ChatViewTreeWidget extends TreeWidget {
397
297
  this.scrollToRow = this.rows.size;
398
298
  this.atBottom = true;
399
299
  this._showScrollButton = false;
400
- if (this._scrollButtonDebounceTimer !== undefined) {
401
- clearTimeout(this._scrollButtonDebounceTimer);
402
- this._scrollButtonDebounceTimer = undefined;
403
- }
300
+ this.setTemporaryScrollLock(false);
404
301
  this.update();
405
302
  }
406
303
 
@@ -809,16 +706,6 @@ export class ChatViewTreeWidget extends TreeWidget {
809
706
  // Otherwise, the space key will never be handled by the monaco editor
810
707
  return false;
811
708
  }
812
-
813
- /**
814
- * Ensure atBottom state is correct when content grows (e.g., LLM streaming while scroll lock is enabled).
815
- */
816
- protected override updateScrollToRow(): void {
817
- super.updateScrollToRow();
818
- const isAtBottom = this.isScrolledToBottom();
819
- this.updateScrollToBottomButtonState(isAtBottom);
820
- }
821
-
822
709
  }
823
710
 
824
711
  interface WidgetContainerProps {