Skip to content

Commit 036872d

Browse files
authored
Change default value of openPullLinks (#8942)
* Change default value of `openPullLinks` * CCR feedback * Fix test * changelog text
1 parent c90f9ba commit 036872d

4 files changed

Lines changed: 30 additions & 19 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
- Speed up opening pull request webviews.
88
- Always show abbreviated commit SHAs in the pull request commits tree.
9-
- Open canonical GitHub pull request and issue URLs in the Pull Requests extension. Can be disabled with `githubPullRequests.openPullLinks`.
9+
- Open canonical GitHub pull request and issue URLs in the Pull Requests extension. Can be toggled with `githubPullRequests.openPullLinks`.
1010

1111
### Fixes
1212

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@
358358
},
359359
"githubPullRequests.openPullLinks": {
360360
"type": "boolean",
361-
"default": true,
361+
"default": false,
362362
"scope": "application",
363363
"markdownDescription": "%githubPullRequests.openPullLinks.description%",
364364
"tags": [

src/github/externalUriOpener.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class GitHubIssueOrPullRequestExternalUriOpener extends Disposable implements vs
7979
}
8080

8181
private isOpenPullLinksEnabled(): boolean {
82-
return vscode.workspace.getConfiguration(PR_SETTINGS_NAMESPACE).get<boolean>(OPEN_PULL_LINKS, true);
82+
return vscode.workspace.getConfiguration(PR_SETTINGS_NAMESPACE).get<boolean>(OPEN_PULL_LINKS, false);
8383
}
8484

8585
}

src/test/github/externalUriOpener.test.ts

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { default as assert } from 'assert';
77
import { createSandbox, SinonSandbox } from 'sinon';
88
import * as vscode from 'vscode';
99
import { RemoteOnlyRepository } from '../../api/remoteOnlyRepository';
10+
import { OPEN_PULL_LINKS, PR_SETTINGS_NAMESPACE } from '../../common/settingKeys';
1011
import { CredentialStore } from '../../github/credentials';
1112
import { registerGitHubIssueOrPullRequestExternalUriOpener } from '../../github/externalUriOpener';
1213
import { FolderRepositoryManager } from '../../github/folderRepositoryManager';
@@ -32,7 +33,11 @@ describe('GitHubIssueOrPullRequestExternalUriOpener', () => {
3233
const credentialStore = new CredentialStore(telemetry, context);
3334
const repositoriesManager = new RepositoriesManager(credentialStore, telemetry);
3435
const folderRepositoryManagerResolver = new FolderRepositoryManagerResolver(context, repositoriesManager, telemetry);
36+
const configuration = vscode.workspace.getConfiguration(PR_SETTINGS_NAMESPACE);
37+
const previousSettingValue = configuration.inspect<boolean>(OPEN_PULL_LINKS)?.globalValue;
3538
let opener: vscode.ExternalUriOpener | undefined;
39+
let registration: vscode.Disposable | undefined;
40+
let cancellation: vscode.CancellationTokenSource | undefined;
3641
sandbox.stub(vscode.window, 'registerExternalUriOpener').callsFake((_id, value) => {
3742
opener = value;
3843
return new vscode.Disposable(() => undefined);
@@ -43,22 +48,28 @@ describe('GitHubIssueOrPullRequestExternalUriOpener', () => {
4348
});
4449
sandbox.stub(vscode.window, 'showErrorMessage').resolves(undefined);
4550

46-
const registration = registerGitHubIssueOrPullRequestExternalUriOpener(
47-
context,
48-
folderRepositoryManagerResolver,
49-
telemetry,
50-
);
51-
const uri = vscode.Uri.parse('https://github.com/microsoft/vscode/issues/1');
52-
assert.ok(opener);
53-
const cancellation = new vscode.CancellationTokenSource();
54-
await opener.openExternalUri(uri, { sourceUri: uri }, cancellation.token);
55-
cancellation.dispose();
51+
try {
52+
await configuration.update(OPEN_PULL_LINKS, true, vscode.ConfigurationTarget.Global);
53+
registration = registerGitHubIssueOrPullRequestExternalUriOpener(
54+
context,
55+
folderRepositoryManagerResolver,
56+
telemetry,
57+
);
58+
const uri = vscode.Uri.parse('https://github.com/microsoft/vscode/issues/1');
59+
assert.ok(opener);
60+
cancellation = new vscode.CancellationTokenSource();
61+
await opener.openExternalUri(uri, { sourceUri: uri }, cancellation.token);
5662

57-
assert.strictEqual(repositoriesManager.folderManagers.length, 0);
58-
assert.strictEqual(resolveIssue.callCount, 1);
59-
registration.dispose();
60-
folderRepositoryManagerResolver.dispose();
61-
repositoriesManager.dispose();
62-
credentialStore.dispose();
63+
assert.strictEqual(repositoriesManager.folderManagers.length, 0);
64+
assert.strictEqual(resolveIssue.callCount, 1);
65+
} finally {
66+
cancellation?.dispose();
67+
registration?.dispose();
68+
await configuration.update(OPEN_PULL_LINKS, previousSettingValue, vscode.ConfigurationTarget.Global);
69+
folderRepositoryManagerResolver.dispose();
70+
repositoriesManager.dispose();
71+
credentialStore.dispose();
72+
context.dispose();
73+
}
6374
});
6475
});

0 commit comments

Comments
 (0)