From 178319b1ae5ed3a7edd24df0b6b1a1b22a8d32c8 Mon Sep 17 00:00:00 2001 From: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com> Date: Wed, 1 Apr 2026 06:46:05 +0000 Subject: [PATCH] Sessions - hide file header when there is no git repository (#307036) --- .../contrib/changes/browser/changesView.ts | 24 +++++++------------ 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/vs/sessions/contrib/changes/browser/changesView.ts b/src/vs/sessions/contrib/changes/browser/changesView.ts index 2cc712ea252..b5c8408ae23 100644 --- a/src/vs/sessions/contrib/changes/browser/changesView.ts +++ b/src/vs/sessions/contrib/changes/browser/changesView.ts @@ -1015,6 +1015,9 @@ export class ChangesViewPane extends ViewPane { return; } + const hasGitRepository = this.viewModel.activeSessionHasGitRepositoryObs.read(reader); + dom.setVisibility(hasGitRepository, this.filesHeaderNode!); + const { files } = topLevelStats.read(reader); const hasEntries = files > 0; @@ -1785,26 +1788,20 @@ class ChangesPickerActionItem extends ActionWidgetDropdownActionViewItem { @IContextKeyService contextKeyService: IContextKeyService, @ISessionsManagementService sessionManagementService: ISessionsManagementService, @ITelemetryService telemetryService: ITelemetryService, - @IWorkspaceContextService private readonly workspaceContextService: IWorkspaceContextService, ) { const actionProvider: IActionWidgetDropdownActionProvider = { getActions: () => { const branchName = viewModel.activeSessionBranchNameObs.get(); const baseBranchName = viewModel.activeSessionBaseBranchNameObs.get(); - const hasGitRepository = viewModel.activeSessionHasGitRepositoryObs.get(); return [ { ...action, id: 'chatEditing.versionsBranchChanges', - label: hasGitRepository - ? localize('chatEditing.versionsBranchChanges', 'Branch Changes') - : localize('chatEditing.versionsFolderChanges', 'Folder Changes'), - description: hasGitRepository - ? branchName && baseBranchName - ? `${branchName} → ${baseBranchName}` - : branchName - : this.workspaceContextService.getWorkspace().folders[0]?.uri.fsPath, + label: localize('chatEditing.versionsBranchChanges', 'Branch Changes'), + description: branchName && baseBranchName + ? `${branchName} → ${baseBranchName}` + : branchName, checked: viewModel.versionModeObs.get() === ChangesVersionMode.BranchChanges, category: { label: 'changes', order: 1, showHeader: false }, run: async () => { @@ -1854,7 +1851,6 @@ class ChangesPickerActionItem extends ActionWidgetDropdownActionViewItem { this._register(autorun(reader => { viewModel.versionModeObs.read(reader); - viewModel.activeSessionHasGitRepositoryObs.read(reader); if (this.element) { this.renderLabel(this.element); @@ -1864,12 +1860,8 @@ class ChangesPickerActionItem extends ActionWidgetDropdownActionViewItem { protected override renderLabel(element: HTMLElement): IDisposable | null { const mode = this.viewModel.versionModeObs.get(); - const hasGitRepository = this.viewModel.activeSessionHasGitRepositoryObs.get(); - const label = mode === ChangesVersionMode.BranchChanges - ? hasGitRepository - ? localize('sessionsChanges.versionsBranchChanges', "Branch Changes") - : localize('sessionsChanges.versionsFolderChanges', "Folder Changes") + ? localize('sessionsChanges.versionsBranchChanges', "Branch Changes") : mode === ChangesVersionMode.AllChanges ? localize('sessionsChanges.versionsAllChanges', "All Changes") : localize('sessionsChanges.versionsLastTurn', "Last Turn's Changes");