Skip to content

Update title bar UI feature work and bug fixes#301497

Merged
dmitrivMS merged 9 commits intomainfrom
dev/dmitriv/update-ui-fixes
Mar 13, 2026
Merged

Update title bar UI feature work and bug fixes#301497
dmitrivMS merged 9 commits intomainfrom
dev/dmitriv/update-ui-fixes

Conversation

@dmitrivMS
Copy link
Contributor

@dmitrivMS dmitrivMS commented Mar 13, 2026

Ensured new UI is hidden under the setting.
Added call-to-action UI when minor or major version change is detected post-install.
Polished UX based on feedback.
Added telemetry event for new update UX.

Fixes #301226
Fixes #300941

Copilot AI review requested due to automatic review settings March 13, 2026 14:00
@dmitrivMS dmitrivMS added this to the 1.112.0 milestone Mar 13, 2026
@dmitrivMS dmitrivMS self-assigned this Mar 13, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the update-indicator UX in the workbench (title bar + status bar), including new title bar modes, improved tooltip rendering, and post-install “what’s new” content.

Changes:

  • Adds a new update.titleBar mode (always) and refines “detailed” visibility rules.
  • Refactors UpdateTooltip into an externally-rendered, state-driven tooltip with version copy affordances and a post-install markdown section.
  • Adds version-change detection + telemetry in the title bar contribution.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/vs/workbench/contrib/update/common/updateUtils.ts Adds isMajorMinorVersionChange helper for version-change detection.
src/vs/workbench/contrib/update/browser/updateTooltip.ts Refactors tooltip rendering; adds copy-version UI and post-install markdown fetch/render.
src/vs/workbench/contrib/update/browser/updateTitleBarEntry.ts Reworks title bar indicator behavior/modes, tooltip lifecycle, version-change detection, telemetry.
src/vs/workbench/contrib/update/browser/updateStatusBarEntry.ts Updates status bar contribution to drive tooltip rendering via renderState.
src/vs/workbench/contrib/update/browser/update.ts Initializes titleBarEnabled earlier from configuration.
src/vs/workbench/contrib/update/browser/media/updateTooltip.css Adjusts tooltip sizing; adds copy-button and markdown styling.
src/vs/workbench/contrib/update/browser/media/updateTitleBarEntry.css Tweaks title bar entry height and underline styling.
src/vs/platform/update/electron-main/abstractUpdateService.ts Import ordering change only.
src/vs/platform/update/common/update.config.contribution.ts Extends configuration enum with always + updated descriptions.
Comments suppressed due to low confidence (2)

src/vs/workbench/contrib/update/browser/updateTooltip.ts:475

  • The version copy button is only wired for mouse click. For keyboard accessibility, handle Enter/Space (keydown) to trigger the same action, and ensure focus behavior doesn’t propagate/close the hover unexpectedly.
		this._register(dom.addDisposableListener(copyButton, 'click', e => {
			e.preventDefault();
			e.stopPropagation();
			if (copyValue.value) {
				this.clipboardService.writeText(copyValue.value);
			}
		}));

src/vs/workbench/contrib/update/browser/updateTitleBarEntry.ts:287

  • The hover dispose callback only calls onUserDismissedTooltip() when this.content is still connected. If the entry is removed (e.g. context key flips to false) while the hover is open, tooltipVisible may never be cleared. Consider always notifying dismissal from this dispose callback (and let the caller decide whether it was user-initiated) to avoid stale state.
				dispose: () => {
					if (!!this.content?.isConnected) {
						this.onUserDismissedTooltip();
					}
				}

@dmitrivMS dmitrivMS marked this pull request as ready for review March 13, 2026 14:32
@dmitrivMS dmitrivMS enabled auto-merge (squash) March 13, 2026 14:32
@dmitrivMS dmitrivMS added the install-update VS Code installation and upgrade system issues label Mar 13, 2026
@dmitrivMS dmitrivMS merged commit f893210 into main Mar 13, 2026
20 checks passed
@dmitrivMS dmitrivMS deleted the dev/dmitriv/update-ui-fixes branch March 13, 2026 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

install-update VS Code installation and upgrade system issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

title bar update widget shows briefly even though setting is off Time to update telemetry

3 participants