Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 34e329b

Browse files
committed
Show 50% of users the Clone URL tab by default
1 parent b952af5 commit 34e329b

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/GitHub.App/ViewModels/Dialog/Clone/RepositoryCloneViewModel.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class RepositoryCloneViewModel : ViewModelBase, IRepositoryCloneViewModel
2323
readonly IOperatingSystem os;
2424
readonly IConnectionManager connectionManager;
2525
readonly IRepositoryCloneService service;
26+
readonly IUsageService usageService;
2627
readonly IReadOnlyList<IRepositoryCloneTabViewModel> tabs;
2728
string path;
2829
IRepositoryModel previousRepository;
@@ -34,13 +35,15 @@ public RepositoryCloneViewModel(
3435
IOperatingSystem os,
3536
IConnectionManager connectionManager,
3637
IRepositoryCloneService service,
38+
IUsageService usageService,
3739
IRepositorySelectViewModel gitHubTab,
3840
IRepositorySelectViewModel enterpriseTab,
3941
IRepositoryUrlViewModel urlTab)
4042
{
4143
this.os = os;
4244
this.connectionManager = connectionManager;
4345
this.service = service;
46+
this.usageService = usageService;
4447

4548
GitHubTab = gitHubTab;
4649
EnterpriseTab = enterpriseTab;
@@ -119,6 +122,20 @@ public async Task InitializeAsync(IConnection connection)
119122
}
120123

121124
this.WhenAnyValue(x => x.SelectedTabIndex).Subscribe(x => tabs[x].Activate().Forget());
125+
126+
// Users in group A will see the URL tab by default
127+
if (await IsGroupA().ConfigureAwait(false))
128+
{
129+
SelectedTabIndex = 2;
130+
}
131+
}
132+
133+
// Put 50% of users in group A
134+
async Task<bool> IsGroupA()
135+
{
136+
var userGuid = await usageService.GetUserGuid().ConfigureAwait(false);
137+
var lastByte = userGuid.ToByteArray().Last();
138+
return lastByte % 2 == 0;
122139
}
123140

124141
void BrowseForDirectory()

0 commit comments

Comments
 (0)