Change:
Steps to Reproduce: recently opened ("Clear Editor History") quick open and search for a file (such as a TS file) to see symbols (notice how the file opens in the background) to a symbol = when you open quick open again, the file is not part of the recently opened section //cc this is a regression from the transient work we did

Discussion:
state: getIEditor(activeEditorPane.getControl())?.saveViewState() ?? undefined, }; } } /**

import { localize } from 'vs/nls'; import { URI } from 'vs/base/common/uri'; import { IResourceEditorInput, IEditorOptions } from 'vs/platform/editor/common/editor'; <del> import { IEditorPane, IEditorCloseEvent, EditorResourceAccessor, IEditorIdentifier, GroupIdentifier, EditorsOrder, SideBySideEditor, IUntypedEditorInput, isResourceEditorInput, isEditorInput, isSideBySideEditorInput, EditorCloseContext, IEditorPaneSelection, EditorPaneSelectionCompareResult, EditorPaneSelectionChangeReason, isEditorPaneWithSelection, IEditorPaneSelectionChangeEvent, IEditorPaneWithSelection, IEditorWillMoveEvent } from 'vs/workbench/common/editor'; </del> <ins> import { IEditorPane, IEditorCloseEvent, EditorResourceAccessor, IEditorIdentifier, GroupIdentifier, EditorsOrder, SideBySideEditor, IUntypedEditorInput, isResourceEditorInput, isEditorInput, isSideBySideEditorInput, EditorCloseContext, IEditorPaneSelection, EditorPaneSelectionCompareResult, EditorPaneSelectionChangeReason, isEditorPaneWithSelection, IEditorPaneSelectionChangeEvent, IEditorPaneWithSelection, IEditorWillMoveEvent, GroupModelChangeKind } from 'vs/workbench/common/editor'; </ins> import { EditorInput } from 'vs/workbench/common/editor/editorInput'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { GoFilter, GoScope, IHistoryService } from 'vs/workbench/services/history/common/history';

private onDidActiveEditorChange(): void { const activeEditorGroup = this.editorGroupService.activeGroup; const activeEditorPane = activeEditorGroup.activeEditorPane; if (this.lastActiveEditor && this.editorHelper.matchesEditorIdentifier(this.lastActiveEditor, activeEditorPane)) { return; // return if the active editor is still the same }

// Dispose old listeners this.activeEditorListeners.clear(); <del> // Handle editor change unless the editor is transient </del> <ins> // Handle editor change unless the editor is transient. In that case // setup a listener to see if the transient editor becomes non-transient // (https://github.com/microsoft/vscode/issues/211769) </ins> if (!activeEditorPane?.group.isTransient(activeEditorPane.input)) { this.handleActiveEditorChange(activeEditorGroup, activeEditorPane); } else { <del> this.logService.trace(`[History]: ignoring transient editor change (editor: ${activeEditorPane.input?.resource?.toString()}})`); </del> <ins> this.logService.trace(`[History]: ignoring transient editor change until becoming non-transient (editor: ${activeEditorPane.input?.resource?.toString()}})`); const transientListener = activeEditorGroup.onDidModelChange(e => { if (e.kind === GroupModelChangeKind.EDITOR_TRANSIENT && e.editor === activeEditorPane.input && !activeEditorPane.group.isTransient(activeEditorPane.input)) { transientListener.dispose(); this.handleActiveEditorChange(activeEditorGroup, activeEditorPane); } }); this.activeEditorListeners.add(transientListener); </ins> } // Listen to selection changes unless the editor is transient