private async void btnBrowseEpic_Click(object sender, EventArgs e) { using IDisposable scope = _logger.CreateScope("Browse epic"); if (cboEpics.SelectedItem != null) { IssueDescription issue = cboEpics.SelectedItem as IssueDescription; string link = (await _issueManager.GetBrowseableIssueAsync(issue.Repo.Id, issue.Issue.Number)).HtmlUrl; _logger.Log($"Found issue html link: {link}"); // this is a point-in-time check until the updated cache catches up. if (link != null) { _logger.Log("Launching browser"); Process.Start(link); } } }