Skip to content

Commit 65f85cc

Browse files
Forces local GitHub on web and fixes timing issue getting session
Closes #3938
1 parent 40d690b commit 65f85cc

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/plus/integrations/authentication/integrationAuthentication.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type { Sources } from '../../../constants.telemetry';
88
import type { Container } from '../../../container';
99
import { gate } from '../../../system/decorators/-webview/gate';
1010
import { debug, log } from '../../../system/decorators/log';
11+
import { serialize } from '../../../system/decorators/serialize';
1112
import type { DeferredEventExecutor } from '../../../system/event';
1213
import {
1314
isCloudSelfHostedIntegrationId,
@@ -479,6 +480,7 @@ class BuiltInAuthenticationProvider extends LocalIntegrationAuthenticationProvid
479480
}
480481

481482
@debug()
483+
@serialize()
482484
override async getSession(
483485
descriptor?: IntegrationAuthenticationSessionDescriptor,
484486
options?: { createIfNeeded?: boolean; forceNewSession?: boolean },

src/plus/integrations/authentication/models.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { AuthenticationSession } from 'vscode';
2+
import { isWeb } from '@env/platform';
23
import type { IntegrationId, SupportedCloudIntegrationIds } from '../../../constants.integrations';
34
import {
45
HostingIntegrationId,
@@ -55,9 +56,15 @@ export type CloudIntegrationAuthType = 'oauth' | 'pat';
5556
export const CloudIntegrationAuthenticationUriPathPrefix = 'did-authenticate-cloud-integration';
5657

5758
export function getSupportedCloudIntegrationIds(): SupportedCloudIntegrationIds[] {
58-
return configuration.get('cloudIntegrations.enabled', undefined, true)
59+
let supportedCloudIntegrationIds = configuration.get('cloudIntegrations.enabled', undefined, true)
5960
? supportedOrderedCloudIntegrationIds
6061
: supportedOrderedCloudIssueIntegrationIds;
62+
if (isWeb) {
63+
// We always have a local GitHub session on vscode.dev and github.dev
64+
supportedCloudIntegrationIds = supportedCloudIntegrationIds.filter(id => id !== HostingIntegrationId.GitHub);
65+
}
66+
67+
return supportedCloudIntegrationIds;
6168
}
6269

6370
export function isSupportedCloudIntegrationId(id: string): id is SupportedCloudIntegrationIds {

0 commit comments

Comments
 (0)