Skip to content

Commit 9ca3f84

Browse files
committed
Fix upgrade command. Closes #271
Closes #271
1 parent 7d0c542 commit 9ca3f84

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
> **Note**: odd version numbers, for example, `0.13.0`, are not included in this changelog. They are used to test the new features and fixes before the final release.
99
10-
## [0.25.1] - Unreleased
10+
## [0.25.2] - Unreleased
1111

1212
### Added:
1313

src/commands.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,9 @@ export const registerCommands = (context: vscode.ExtensionContext, configuration
9393
if (platform === 'win32') {
9494
const packageId = versionPreference === VersionPreference.Stable ? 'Microsoft.DevProxy' : 'Microsoft.DevProxy.Beta';
9595
const upgradeCommand = `winget upgrade ${packageId} --silent`;
96+
const isBeta = versionPreference === VersionPreference.Beta;
9697

97-
const upgraded = await upgradeDevProxyWithPackageManager('winget', packageId, upgradeCommand);
98+
const upgraded = await upgradeDevProxyWithPackageManager('winget', packageId, upgradeCommand, isBeta);
9899
if (!upgraded) {
99100
openUpgradeDocumentation();
100101
}
@@ -105,8 +106,9 @@ export const registerCommands = (context: vscode.ExtensionContext, configuration
105106
if (platform === 'darwin') {
106107
const packageId = versionPreference === VersionPreference.Stable ? 'dev-proxy' : 'dev-proxy-beta';
107108
const upgradeCommand = `brew upgrade ${packageId}`;
109+
const isBeta = versionPreference === VersionPreference.Beta;
108110

109-
const upgraded = await upgradeDevProxyWithPackageManager('brew', packageId, upgradeCommand);
111+
const upgraded = await upgradeDevProxyWithPackageManager('brew', packageId, upgradeCommand, isBeta);
110112
if (!upgraded) {
111113
openUpgradeDocumentation();
112114
}

src/helpers.ts

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ export const upgradeDevProxyWithPackageManager = async (
121121
packageManager: string,
122122
packageId: string,
123123
upgradeCommand: string,
124+
isBeta: boolean = false,
124125
): Promise<boolean> => {
125126
try {
126127
// Check if package manager is available
@@ -137,17 +138,36 @@ export const upgradeDevProxyWithPackageManager = async (
137138
return false;
138139
}
139140

141+
// Refresh package lists before upgrading
142+
const updateMessage = vscode.window.setStatusBarMessage(
143+
`Updating package lists...`,
144+
);
145+
146+
try {
147+
const updateCommand =
148+
packageManager === 'winget'
149+
? 'winget source update'
150+
: 'brew update';
151+
await executeCommand(updateCommand);
152+
updateMessage.dispose();
153+
} catch (error) {
154+
updateMessage.dispose();
155+
vscode.window.showWarningMessage(`Failed to update package lists: ${error}`);
156+
// Continue with upgrade even if update fails
157+
}
158+
140159
// Proceed with upgrade
160+
const versionText = isBeta ? 'Dev Proxy Beta' : 'Dev Proxy';
141161
const statusMessage = vscode.window.setStatusBarMessage(
142-
'Upgrading Dev Proxy...',
162+
`Upgrading ${versionText}...`,
143163
);
144164

145165
try {
146166
await executeCommand(upgradeCommand);
147167
statusMessage.dispose();
148168

149169
const result = await vscode.window.showInformationMessage(
150-
'Dev Proxy has been successfully upgraded!',
170+
`${versionText} has been successfully upgraded!`,
151171
'Reload Window',
152172
);
153173
if (result === 'Reload Window') {
@@ -156,7 +176,7 @@ export const upgradeDevProxyWithPackageManager = async (
156176
return true;
157177
} catch (error) {
158178
statusMessage.dispose();
159-
vscode.window.showErrorMessage(`Failed to upgrade Dev Proxy: ${error}`);
179+
vscode.window.showErrorMessage(`Failed to upgrade ${versionText}: ${error}`);
160180
return false;
161181
}
162182
} catch (error) {

0 commit comments

Comments
 (0)