From b3636a5bce9ec7f9f65c3de344420734ec64cac7 Mon Sep 17 00:00:00 2001 From: Amen-Ra Mendel Date: Fri, 19 Dec 2025 05:58:57 -0500 Subject: [PATCH] Add defensive array validation for GitHub issues API response - Ensures API response is an array before filtering - Prevents 'filter is not a function' error - Improves error handling for unexpected responses --- .../src/main/ipc-handlers/github/issue-handlers.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/auto-claude-ui/src/main/ipc-handlers/github/issue-handlers.ts b/auto-claude-ui/src/main/ipc-handlers/github/issue-handlers.ts index 961f97c7..2c8001c6 100644 --- a/auto-claude-ui/src/main/ipc-handlers/github/issue-handlers.ts +++ b/auto-claude-ui/src/main/ipc-handlers/github/issue-handlers.ts @@ -68,12 +68,20 @@ export function registerGetIssues(): void { const issues = await githubFetch( config.token, `/repos/${normalizedRepo}/issues?state=${state}&per_page=100&sort=updated` - ) as GitHubAPIIssue[]; + ); + + // Ensure issues is an array + if (!Array.isArray(issues)) { + return { + success: false, + error: 'Unexpected response format from GitHub API' + }; + } // Filter out pull requests - const issuesOnly = issues.filter(issue => !issue.pull_request); + const issuesOnly = issues.filter((issue: GitHubAPIIssue) => !issue.pull_request); - const result: GitHubIssue[] = issuesOnly.map(issue => + const result: GitHubIssue[] = issuesOnly.map((issue: GitHubAPIIssue) => transformIssue(issue, normalizedRepo) );