fix: normalize Forgejo PR/issue state to uppercase

Forgejo REST API returns state as lowercase ("closed"/"open") but
branch.ts compares against GraphQL-style uppercase ("CLOSED"/"MERGED").
This caused @claude on closed/merged PRs to take the open-PR checkout
path, failing with "fatal: invalid reference: refs/pull/N/head".

Normalize state to uppercase in the Forgejo data fetcher, matching the
existing pattern used for review state (line 153).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Vlad MocanuandClaude Opus 4.6 committed 2026-02-26 21:19:53 +02:00
1 parent 2e1165ed90
commit 29a1032aa6
2 files changed
+4 -4

No files matched your search

+2 -2
View File
@@ -211,7 +211,7 @@ describe("fetchForgejoData", () => {
expect(pr.lastEditedAt).toBeUndefined();
expect(pr.additions).toBe(42);
expect(pr.deletions).toBe(15);
expect(pr.state).toBe("open");
expect(pr.state).toBe("OPEN");
});
it("should map PR labels correctly", async () => {
@@ -455,7 +455,7 @@ describe("fetchForgejoData", () => {
expect(issue.createdAt).toBe("2024-01-10T08:00:00Z");
expect(issue.updatedAt).toBe("2024-01-14T09:00:00Z");
expect(issue.lastEditedAt).toBeUndefined();
expect(issue.state).toBe("open");
expect(issue.state).toBe("OPEN");
expect(issue.labels.nodes).toEqual([{ name: "bug" }]);
});