diff --git a/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatActionsOverlay.ts b/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatActionsOverlay.ts index 28dfc42b1c2b5..5669e5b1ed97d 100644 --- a/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatActionsOverlay.ts +++ b/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatActionsOverlay.ts @@ -18,6 +18,7 @@ import { isEqual } from '../../../../../../base/common/resources.js'; import { CellDiffInfo } from '../../diff/notebookDiffViewModel.js'; import { AcceptAction, navigationBearingFakeActionId, RejectAction } from '../../../../chat/browser/chatEditing/chatEditingEditorActions.js'; import { INotebookDeletedCellDecorator } from '../../diff/inlineDiff/notebookDeletedCellDecorator.js'; +import { ChatEditingModifiedDocumentEntry } from '../../../../chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js'; export class NotebookChatActionsOverlayController extends Disposable { constructor( @@ -38,7 +39,8 @@ export class NotebookChatActionsOverlayController extends Disposable { } const sessions = this._chatEditingService.editingSessionsObs.read(r); const session = sessions.find(s => s.readEntry(model.uri, r)); - if (!session) { + const entry = session?.readEntry(model.uri, r); + if (!session || !entry || !(entry instanceof ChatEditingModifiedDocumentEntry)) { return; } diff --git a/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatEditController.ts b/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatEditController.ts index 5b54650d1a5df..32cce7d968548 100644 --- a/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatEditController.ts +++ b/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatEditController.ts @@ -22,6 +22,7 @@ import { Event } from '../../../../../../base/common/event.js'; import { ctxNotebookHasEditorModification } from './notebookChatEditContext.js'; import { NotebookDeletedCellDecorator } from '../../diff/inlineDiff/notebookDeletedCellDecorator.js'; import { NotebookInsertedCellDecorator } from '../../diff/inlineDiff/notebookInsertedCellDecorator.js'; +import { ChatEditingModifiedDocumentEntry } from '../../../../chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js'; export class NotebookChatEditorControllerContrib extends Disposable implements INotebookEditorContribution { @@ -84,7 +85,8 @@ class NotebookChatEditorController extends Disposable { return; } const sessions = this._chatEditingService.editingSessionsObs.read(r); - return sessions.map(s => s.readEntry(model.uri, r)).find(r => !!r); + const entry = sessions.map(s => s.readEntry(model.uri, r)).find(r => !!r); + return entry instanceof ChatEditingModifiedDocumentEntry ? entry : undefined; }).recomputeInitiallyAndOnChange(this._store);