Conversation
📬 CODENOTIFYThe following users are being notified based on files changed in this PR: @bpaseroMatched files:
|
There was a problem hiding this comment.
Pull request overview
This PR adds a new status bar entry that displays the current update status with detailed hover tooltips showing download progress, estimated time remaining, and quick actions for downloading/installing/restarting VS Code. The implementation adds progress tracking to the Windows update service, modifies the update state types to include download progress information, and extends the "Show Release Notes" command to accept an optional version parameter.
Changes:
- Added new
UpdateStatusBarEntryContributionthat displays update status in the status bar with custom hover tooltips - Modified
DownloadingandOverwritingstate types to include update information and progress tracking (downloadedBytes, totalBytes, startTime) - Enhanced Windows update service to track and report download progress using stream transformation
- Extended
ShowReleaseNotesAction(renamed fromShowCurrentReleaseNotesAction) to accept an optional version parameter
Reviewed changes
Copilot reviewed 8 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/browser/updateStatusBarEntry.ts | New status bar contribution with tooltip rendering, progress calculation utilities, and formatting helpers |
| src/vs/workbench/contrib/update/test/browser/updateStatusBarEntry.test.ts | Unit tests for download progress calculations and formatting functions |
| src/vs/workbench/contrib/update/browser/update.contribution.ts | Registers new status bar contribution and renames release notes action class while maintaining command ID |
| src/vs/workbench/contrib/update/browser/media/updateStatusBarEntry.css | Styles for update status tooltips including progress bars and product info layout |
| src/vs/workbench/browser/media/code-icon.svg | New VS Code icon for use in update tooltips |
| src/vs/platform/update/electron-main/updateService.win32.ts | Implements download progress tracking using stream transformation and periodic state updates |
| src/vs/platform/update/electron-main/updateService.darwin.ts | Updates Downloading state creation to pass update information |
| src/vs/platform/update/electron-main/abstractUpdateService.ts | Updates Overwriting state creation to include update information |
| src/vs/platform/update/common/update.ts | Extends Downloading and Overwriting types with additional fields for progress tracking |
Comments suppressed due to low confidence (1)
src/vs/workbench/contrib/update/browser/updateStatusBarEntry.ts:150
- Hardcoded test values are present in production code. Line 150 contains hardcoded version '1.108.0' and line 344 contains hardcoded product name 'Visual Studio Code - Insiders'. These should be using actual product service properties instead of hardcoded values. The comments show the correct code is commented out.
this.appendProductInfo(container, false, '1.108.0' /*this.productService.version*/, tryParseDate(this.productService.date));
src/vs/workbench/contrib/update/browser/updateStatusBarEntry.ts
Outdated
Show resolved
Hide resolved
src/vs/workbench/contrib/update/browser/updateStatusBarEntry.ts
Outdated
Show resolved
Hide resolved
src/vs/workbench/contrib/update/test/browser/updateStatusBarEntry.test.ts
Show resolved
Hide resolved
src/vs/workbench/contrib/update/browser/updateStatusBarEntry.ts
Outdated
Show resolved
Hide resolved
src/vs/workbench/contrib/update/test/browser/updateStatusBarEntry.test.ts
Outdated
Show resolved
Hide resolved
|
Tested on macOS. First off... LOVE IT 😍 Then, here are the bugs! The icon is broken:
There's no ellipsis when the status bar item doesn't fit:
That period at the end is rather strange. Should we just say If you click the status bar item while it is downloading and wait for the download to finish, the hover doesn't update its status:
Do we really need the inner
It sucks seeing all these settings show up. Can we somehow ensure only the Application/Update settings are shown? cc @rzhao271
|
|
Thanks for testing!
|





Added update status bar entry which display current update status and provides the user with quick action to download/install/restart.
Added custom hovers for various state showing progress and update information.
Modified update service to expose update info for Downloading and Overwriting states.
Modified existing 'Show Release Notes' command to take a version.
Fixes #277330