Change:
Type: <bBug</bspecific branches to display on the graph (in my case main, origin/main and upstream/main). VS Code, or close and reopen the workspace. has reverted to 'Auto' VS Code version: Code - Insiders 1.94.0-insider (, 2024-09-11T05:04:03.124Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
even if you move away from the source control tab and come back it is changed back to auto.
I'm not seeing that happen on today's Insiders.
ohh, may be i am on different version than you. (i do not see a pending update though) Version: 1.94.0-insider Commit: Date: 2024-09-11T05:04:03.124Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.94.0-insider Chrome/124.0.6367.243 Electron/30.4.0 Safari/537.36

Discussion:
import { createMatches, FuzzyScore, IMatch } from '../../../../base/common/filters.js'; import { MarkdownString } from '../../../../base/common/htmlContent.js'; import { Disposable, DisposableStore, IDisposable } from '../../../../base/common/lifecycle.js'; <del> import { autorun, autorunWithStore, derived, IObservable, observableValue, waitForState, constObservable, latestChangedValue, observableFromEvent, runOnChange } from '../../../../base/common/observable.js'; </del> <ins> import { autorun, autorunWithStore, derived, IObservable, observableValue, waitForState, constObservable, latestChangedValue, observableFromEvent, runOnChange, ISettableObservable } from '../../../../base/common/observable.js'; </ins> import { ThemeIcon } from '../../../../base/common/themables.js'; import { localize } from '../../../../nls.js'; import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';

import { compare } from '../../../../base/common/strings.js'; import { IClipboardService } from '../../../../platform/clipboard/common/clipboardService.js'; import { getDefaultHoverDelegate } from '../../../../base/browser/ui/hover/hoverDelegateFactory.js'; <ins> import { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js'; </ins> const PICK_REPOSITORY_ACTION_ID = 'workbench.scm.action.graph.pickRepository'; const PICK_HISTORY_ITEM_REFS_ACTION_ID = 'workbench.scm.action.graph.pickHistoryItemRefs';

* values are updated in the same transaction (or during the initial read of the observable value). */ readonly repository = latestChangedValue(this, [this._firstRepository, this._graphRepository]); <del> readonly historyItemsFilter = observableValue<HistoryItemRefsFilter>(this, 'auto'); </del> <ins> readonly historyItemsFilter: ISettableObservable<HistoryItemRefsFilter>; </ins> private readonly _state = new Map<ISCMRepository, HistoryItemState>(); constructor( @IConfigurationService private readonly _configurationService: IConfigurationService, @ISCMService private readonly _scmService: ISCMService, <del> @ISCMViewService private readonly _scmViewService: ISCMViewService </del> <ins> @ISCMViewService private readonly _scmViewService: ISCMViewService, @IStorageService private readonly _storageService: IStorageService </ins> ) { super(); <ins> try { // Restore references filter from workspace storage const filterData = this._storageService.get('scm.graphView.referencesFiler', StorageScope.WORKSPACE) ?? 'auto'; const filter = filterData === 'auto' || filterData === 'all' ? filterData : JSON.parse(filterData) as ISCMHistoryItemRef[]; this.historyItemsFilter = observableValue<HistoryItemRefsFilter>(this, filter); } catch { // Default to `auto` in case the storage value is invalid this.historyItemsFilter = observableValue<HistoryItemRefsFilter>(this, 'auto'); } </ins> // Closed repository cleanup this._register(autorun(reader => { const repository = this._closedRepository.read(reader);

} setHistoryItemsFilter(filter: 'all' | 'auto' | ISCMHistoryItemRef[]): void { <ins> this._storageService.store('scm.graphView.referencesFiler', filter, StorageScope.WORKSPACE, StorageTarget.USER); </ins> this.historyItemsFilter.set(filter, undefined); }

this._createTree(this._treeContainer); <del> this._treeViewModel = this.instantiationService.createInstance(SCMHistoryViewModel); this._register(this._treeViewModel); </del> this.onDidChangeBodyVisibility(async visible => { if (!visible) { this._visibilityDisposables.clear(); return; } <del> // Clear repository state this._treeViewModel.clearRepositoryState(); </del> <ins> // Create view model this._treeViewModel = this.instantiationService.createInstance(SCMHistoryViewModel); this._visibilityDisposables.add(this._treeViewModel); </ins> // Initial rendering await this._progressService.withProgress({ location: this.id }, async () => {