Skip to content

Commit ca22bd8

Browse files
authored
Hotfix release GCM 2.1.1 (#1244)
**Changes since 2.1.0:** - Fix several UI bugs (#1238, #1241) - Lazily initialise Bitbucket host provider dependencies (#1239)
2 parents 32fef9d + 61cd8e3 commit ca22bd8

File tree

6 files changed

+37
-23
lines changed

6 files changed

+37
-23
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.1.0.0
1+
2.1.1.0

src/shared/Atlassian.Bitbucket/Atlassian.Bitbucket.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,8 @@
1717
<Reference Include="System.Net.Http" />
1818
</ItemGroup>
1919

20+
<ItemGroup>
21+
<AvaloniaResource Include="UI\Assets\atlassian-logo.png" />
22+
</ItemGroup>
23+
2024
</Project>

src/shared/Atlassian.Bitbucket/BitbucketAuthentication.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,20 @@ private async Task<CredentialsPromptResult> GetCredentialsViaUiAsync(
110110
{
111111
var viewModel = new CredentialsViewModel(Context.Environment)
112112
{
113-
Url = targetUri,
114-
UserName = userName,
115113
ShowOAuth = (modes & AuthenticationModes.OAuth) != 0,
116114
ShowBasic = (modes & AuthenticationModes.Basic) != 0
117115
};
118116

117+
if (!BitbucketHelper.IsBitbucketOrg(targetUri))
118+
{
119+
viewModel.Url = targetUri;
120+
}
121+
122+
if (!string.IsNullOrWhiteSpace(userName))
123+
{
124+
viewModel.UserName = userName;
125+
}
126+
119127
await AvaloniaUi.ShowViewAsync<CredentialsView>(viewModel, GetParentWindowHandle(), CancellationToken.None);
120128

121129
ThrowIfWindowCancelled(viewModel);

src/shared/Atlassian.Bitbucket/OAuth2ClientRegistry.cs

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,18 @@
33

44
namespace Atlassian.Bitbucket
55
{
6-
public class OAuth2ClientRegistry : IRegistry<BitbucketOAuth2Client>
6+
public class OAuth2ClientRegistry : DisposableObject, IRegistry<BitbucketOAuth2Client>
77
{
8-
private readonly HttpClient http;
9-
private ISettings settings;
10-
private readonly ITrace trace;
11-
private readonly ITrace2 trace2;
12-
private Cloud.BitbucketOAuth2Client cloudClient;
13-
private DataCenter.BitbucketOAuth2Client dataCenterClient;
8+
private readonly ICommandContext _context;
9+
10+
private HttpClient _httpClient;
11+
private Cloud.BitbucketOAuth2Client _cloudClient;
12+
private DataCenter.BitbucketOAuth2Client _dataCenterClient;
1413

1514
public OAuth2ClientRegistry(ICommandContext context)
1615
{
17-
this.http = context.HttpClientFactory.CreateClient();
18-
this.settings = context.Settings;
19-
this.trace = context.Trace;
20-
this.trace2 = context.Trace2;
16+
EnsureArgument.NotNull(context, nameof(context));
17+
_context = context;
2118
}
2219

2320
public BitbucketOAuth2Client Get(InputArguments input)
@@ -30,15 +27,20 @@ public BitbucketOAuth2Client Get(InputArguments input)
3027
return CloudClient;
3128
}
3229

33-
public void Dispose()
30+
protected override void ReleaseManagedResources()
3431
{
35-
http.Dispose();
36-
settings.Dispose();
37-
cloudClient = null;
38-
dataCenterClient = null;
32+
_httpClient?.Dispose();
33+
_cloudClient = null;
34+
_dataCenterClient = null;
35+
base.ReleaseManagedResources();
3936
}
4037

41-
private Cloud.BitbucketOAuth2Client CloudClient => cloudClient ??= new Cloud.BitbucketOAuth2Client(http, settings, trace2);
42-
private DataCenter.BitbucketOAuth2Client DataCenterClient => dataCenterClient ??= new DataCenter.BitbucketOAuth2Client(http, settings, trace2);
38+
private HttpClient HttpClient => _httpClient ??= _context.HttpClientFactory.CreateClient();
39+
40+
private Cloud.BitbucketOAuth2Client CloudClient =>
41+
_cloudClient ??= new Cloud.BitbucketOAuth2Client(HttpClient, _context.Settings, _context.Trace2);
42+
43+
private DataCenter.BitbucketOAuth2Client DataCenterClient =>
44+
_dataCenterClient ??= new DataCenter.BitbucketOAuth2Client(HttpClient, _context.Settings, _context.Trace2);
4345
}
4446
}

src/shared/Core/Authentication/BasicAuthentication.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ private async Task<ICredential> GetCredentialsViaUiAsync(string resource, string
6060
Description = !string.IsNullOrWhiteSpace(resource)
6161
? $"Enter your credentials for '{resource}'"
6262
: "Enter your credentials",
63-
UserName = userName,
63+
UserName = string.IsNullOrWhiteSpace(userName) ? null : userName,
6464
};
6565

6666
await AvaloniaUi.ShowViewAsync<CredentialsView>(viewModel, GetParentWindowHandle(), CancellationToken.None);

src/shared/GitHub/GitHubAuthentication.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ private async Task<AuthenticationPromptResult> GetAuthenticationViaUiAsync(
144144
case AuthenticationModes.Pat:
145145
return new AuthenticationPromptResult(
146146
AuthenticationModes.Pat,
147-
new GitCredential(userName, viewModel.Password)
147+
new GitCredential(userName, viewModel.Token)
148148
);
149149

150150
default:

0 commit comments

Comments
 (0)