From 45b3bea5682e0bf0f990500e5874beb59d349e63 Mon Sep 17 00:00:00 2001 From: Dan Manastireanu <498419+danmana@users.noreply.github.com> Date: Thu, 13 Apr 2023 15:23:02 +0300 Subject: [PATCH 1/2] fix: show logs for repos with non-lowercase owner name. Closes #15 --- src/git/repository.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/git/repository.ts b/src/git/repository.ts index 22b587f..e9c15e8 100644 --- a/src/git/repository.ts +++ b/src/git/repository.ts @@ -224,7 +224,11 @@ export async function getGitHubContextForRepo(owner: string, name: string): Prom return undefined; } - return gitHubContext.repos.find(r => r.owner === owner && r.name === name); + return gitHubContext.repos.find( + r => + r.owner.toLocaleLowerCase() === owner.toLocaleLowerCase() && + r.name.toLocaleLowerCase() === name.toLocaleLowerCase() + ); } export async function getGitHubContextForWorkspaceUri( From 76c5e96b650d527485b8df7ce2aec798ff1e6c5b Mon Sep 17 00:00:00 2001 From: Dan Manastireanu <498419+danmana@users.noreply.github.com> Date: Thu, 13 Apr 2023 15:33:29 +0300 Subject: [PATCH 2/2] chore: use a map for performance when searching repos by owner and name --- src/git/repository.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/git/repository.ts b/src/git/repository.ts index e9c15e8..b011ef9 100644 --- a/src/git/repository.ts +++ b/src/git/repository.ts @@ -136,6 +136,7 @@ export interface GitHubRepoContext { export interface GitHubContext { repos: GitHubRepoContext[]; reposByUri: Map; + reposByOwnerAndName: Map; username: string; } @@ -199,6 +200,7 @@ export async function getGitHubContext(): Promise { gitHubContext = Promise.resolve({ repos, reposByUri: new Map(repos.map(r => [r.workspaceUri.toString(), r])), + reposByOwnerAndName: new Map(repos.map(r => [`${r.owner}/${r.name}`.toLocaleLowerCase(), r])), username }); } catch (e) { @@ -224,11 +226,8 @@ export async function getGitHubContextForRepo(owner: string, name: string): Prom return undefined; } - return gitHubContext.repos.find( - r => - r.owner.toLocaleLowerCase() === owner.toLocaleLowerCase() && - r.name.toLocaleLowerCase() === name.toLocaleLowerCase() - ); + const searchKey = `${owner}/${name}`.toLocaleLowerCase(); + return gitHubContext.reposByOwnerAndName.get(searchKey); } export async function getGitHubContextForWorkspaceUri(