From 3803d42243a478831e4cfdf954d27c9d75f1bd0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Tue, 18 Aug 2026 12:47:34 +0000 Subject: [PATCH] plugins: don't require a literal .git suffix on a catalogue clone URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Found chasing a real install failure: music's marketplace row was hand- entered as https://gitea.officer.dev/plugins/music with no .git suffix, and fetchPlugin's URL check refused it outright with a message ("https URLs only, no credentials") that named neither actual reason. The suffix was never a security property — https-only, safe character set, no embedded credentials are the real checks, and Gitea/GitHub both clone identically with or without .git. Made the suffix optional rather than required, so a future hand-entered row missing it doesn't hit the same wall. Also fixed the row itself in officer_marketplace (added .git, matching every other plugin's entry) for consistency, and confirmed the gitea repo itself was never the problem — plugins/music already exists there with both commits, unaffected by this bug. Co-Authored-By: Claude Opus 5 --- src/servers/plugins/fetch.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/servers/plugins/fetch.ts b/src/servers/plugins/fetch.ts index 35713b6f..e91306a9 100644 --- a/src/servers/plugins/fetch.ts +++ b/src/servers/plugins/fetch.ts @@ -56,7 +56,14 @@ export async function fetchPlugin(appName: string, onLog?: OnLog): Promise