Skip to content

Commit 0279df0

Browse files
committed
Fixes #355, Prepare 2.6.4 release
1 parent e28c738 commit 0279df0

File tree

6 files changed

+49
-29
lines changed

6 files changed

+49
-29
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
## [2.6.4] - 2024-11-13
4+
- Fix issue [#355](https://github.com/intersystems/language-server/issues/355): Prevent overprompting for Server Manager permission and account information
5+
36
## [2.6.3] - 2024-10-25
47
- Fix issue [#352](https://github.com/intersystems/language-server/issues/352): Hide Deprecated classes and class members from completion lists by default
58
- Fix issue [#353](https://github.com/intersystems/language-server/issues/353): Fix keyword completion for ClassMethods

client/package-lock.json

Lines changed: 30 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@
44
"version": "2.6.4-SNAPSHOT",
55
"private": true,
66
"engines": {
7-
"vscode": "^1.82.0"
7+
"vscode": "^1.93.0"
88
},
99
"dependencies": {
10-
"axios": "^1.7.5",
10+
"axios": "^1.7.7",
1111
"vscode-cache": "^0.3.0",
1212
"vscode-languageclient": "^9.0.1"
1313
},
1414
"devDependencies": {
15+
"@intersystems-community/intersystems-servermanager": "^3.8.0",
1516
"@types/semver": "^7.5.8",
16-
"@types/vscode": "1.82.0"
17+
"@types/vscode": "1.93.0"
1718
}
1819
}

client/src/extension.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
} from 'vscode-languageclient/node';
2222

2323
import { gt, lte } from "semver";
24+
import * as serverManager from "@intersystems-community/intersystems-servermanager";
2425

2526
import { ObjectScriptEvaluatableExpressionProvider } from './evaluatableExpressionProvider';
2627
import {
@@ -41,6 +42,8 @@ export let client: LanguageClient;
4142
*/
4243
export let cookiesCache: Cache;
4344

45+
let serverManagerApi: serverManager.ServerManagerAPI;
46+
4447
type MakeRESTRequestParams = {
4548
method: "GET"|"POST";
4649
api: number;
@@ -131,7 +134,7 @@ export async function activate(context: ExtensionContext) {
131134
const serverManagerExt = extensions.getExtension("intersystems-community.servermanager");
132135
if (serverManagerExt !== undefined) {
133136
// The server manager extension is installed
134-
const serverManagerApi = serverManagerExt.isActive ? serverManagerExt.exports : await serverManagerExt.activate();
137+
serverManagerApi = serverManagerExt.isActive ? serverManagerExt.exports : await serverManagerExt.activate();
135138
serverManagerApi.onDidChangePassword()((serverName: string) => {
136139
client.sendNotification("intersystems/server/passwordChange",serverName);
137140
});
@@ -157,12 +160,12 @@ export async function activate(context: ExtensionContext) {
157160
) {
158161
// The main extension didn't provide a password, so we must
159162
// get it from the server manager's authentication provider.
160-
const AUTHENTICATION_PROVIDER = "intersystems-server-credentials";
161163
const scopes = [serverSpec.serverName, serverSpec.username];
162164
try {
163-
let session = await authentication.getSession(AUTHENTICATION_PROVIDER, scopes, { silent: true });
165+
const account = serverManagerApi.getAccount ? serverManagerApi.getAccount(serverSpec) : undefined;
166+
let session = await authentication.getSession(serverManager.AUTHENTICATION_PROVIDER, scopes, { silent: true, account });
164167
if (!session) {
165-
session = await authentication.getSession(AUTHENTICATION_PROVIDER, scopes, { createIfNone: true });
168+
session = await authentication.getSession(serverManager.AUTHENTICATION_PROVIDER, scopes, { createIfNone: true, account });
166169
}
167170
if (session) {
168171
serverSpec.username = session.scopes[1];
@@ -171,7 +174,7 @@ export async function activate(context: ExtensionContext) {
171174
} catch (error) {
172175
// The user did not consent to sharing authentication information
173176
if (error instanceof Error) {
174-
client.warn(`${AUTHENTICATION_PROVIDER}: ${error.message}`);
177+
client.warn(`${serverManager.AUTHENTICATION_PROVIDER}: ${error.message}`);
175178
}
176179
}
177180
}

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)