diff --git a/packages/core/src/browser/saveable-service.ts b/packages/core/src/browser/saveable-service.ts index f67d941e1adcf..53051298fedea 100644 --- a/packages/core/src/browser/saveable-service.ts +++ b/packages/core/src/browser/saveable-service.ts @@ -222,7 +222,12 @@ export class SaveableService implements FrontendApplicationContribution { if (!Saveable.isDirty(widget)) { return false; } - if (this.autoSave !== 'off') { + const saveable = Saveable.get(widget); + if (!saveable) { + console.warn('Saveable.get returned undefined on a known saveable widget. This is unexpected.'); + } + // Enter branch if saveable absent since we cannot check autosaveability more definitely. + if (this.autoSave !== 'off' && (!saveable || this.shouldAutoSave(widget, saveable))) { return true; } const notLastWithDocument = !Saveable.closingWidgetWouldLoseSaveable(widget, Array.from(this.saveThrottles.keys()));