fix(upgrade): check extension version before calling gotoAgentMode#1021
Open
frankliu20 wants to merge 2 commits into
Open
fix(upgrade): check extension version before calling gotoAgentMode#1021frankliu20 wants to merge 2 commits into
frankliu20 wants to merge 2 commits into
Conversation
f8ae0f5 to
e1f14a8
Compare
Contributor
Author
|
@copilot pls review this pr |
d9bffa2 to
6712e66
Compare
- Check appmod extension version (>= 1.15.0) before calling gotoAgentMode, fixing 67% of upgrade failures caused by outdated extensions - Add extensionState (up-to-date/outdated/not-installed) and issueType (cve/upgrade) dimensions to all telemetry events for funnel analysis - Distinguish notification button text and message body based on extension state (Upgrade Now / Update Extension and Upgrade / Install Extension and Upgrade) - Track extension install/update success rate and reload prompt engagement - Extract pure functions (getExtensionState, buildNotificationContent) for unit testability - Centralize telemetry operation names in telemetryConstants.ts Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
6712e66 to
e82d377
Compare
… correlation - Replace instrumentOperationAsVsCodeCommand with instrumentOperation + registerCommand to get operationId for execute.start/end events - Pass notification's operationId to the upgrade command as notificationOperationId, enabling cross-step funnel join Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces improvements to the upgrade notification and extension management experience for Java modernization. The changes make notification messages and button text dynamically reflect the actual extension installation state (not installed, outdated, or up-to-date), enhance extension version checks, and add robust telemetry and testing. This results in clearer user guidance and better reliability when upgrading Java runtimes or fixing vulnerabilities.
Notification and Message Improvements
src/upgrade/display/notificationManager.ts[1] [2] [3] [4];src/upgrade/utility.ts[5] [6] [7] [8]src/upgrade/display/notificationManager.tssrc/upgrade/display/notificationManager.tsR32-R86)Extension Version Handling and Validation
MIN_APPMOD_VERSION = "1.15.0") for the modernization extension and logic to determine if the extension is up-to-date, outdated, or not installed. (src/constants.ts[1];src/upgrade/display/notificationManager.ts[2]src/upgrade/utility.tssrc/upgrade/utility.tsL158-R202)Telemetry and Command Enhancements
src/upgrade/upgradeManager.ts[1];src/upgrade/utility.ts[2];src/upgrade/display/notificationManager.ts[3]Testing
test/suite/notificationContent.test.tstest/suite/notificationContent.test.tsR1-R145)Other Improvements
src/upgrade/upgradeManager.tssrc/upgrade/upgradeManager.tsL16-R16)src/constants.tssrc/constants.tsL39-R45)These changes collectively improve the user experience, reliability, and maintainability of the Java upgrade and modernization workflow.