From f676ecdc1936dec7d2f5cd4ea0a75bb6a60644f7 Mon Sep 17 00:00:00 2001 From: rob thijssen Date: Tue, 5 May 2026 16:19:34 +0300 Subject: [PATCH] fix: try multiple readme filename casings for Gitea repos Co-Authored-By: Claude Opus 4.6 (1M context) --- ui/src/api/client.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/ui/src/api/client.ts b/ui/src/api/client.ts index 9da616a..1a34212 100644 --- a/ui/src/api/client.ts +++ b/ui/src/api/client.ts @@ -112,14 +112,17 @@ export async function fetchReadme(source: Source, host: string, repo: string): P return resp.text(); } if (source === 'gitea') { - // Gitea returns JSON with base64-encoded content - const resp = await fetch(`https://${host}/api/v1/repos/${repo}/contents/README.md`); - if (!resp.ok) return null; - const data = await resp.json(); - if (data.encoding === 'base64' && data.content) { - return atob(data.content); + // Gitea returns JSON with base64-encoded content. Try common casings. + for (const name of ['README.md', 'readme.md', 'Readme.md']) { + const resp = await fetch(`https://${host}/api/v1/repos/${repo}/contents/${name}`); + if (!resp.ok) continue; + const data = await resp.json(); + if (data.encoding === 'base64' && data.content) { + return atob(data.content); + } + if (data.content) return data.content; } - return data.content ?? null; + return null; } return null; }