Fix blossom server list parsing: treat plain BUD-03 server tags as upload-capable

This commit is contained in:
Laan Tungir
2026-09-24 16:29:17 -04:00
parent e6f9597c67
commit 7eae0cee90
2 changed files with 18 additions and 5 deletions
+15 -2
View File
@@ -187,10 +187,23 @@ function parseBlossomListEvent(event) {
const url = normalizeUrl(tag[1]); const url = normalizeUrl(tag[1]);
if (!url) continue; if (!url) continue;
// BUD-03 defines only `["server", "<url>"]` tags — there is no standard
// `upload`/`mirror` marker. A plain server tag means a general-purpose
// server that clients MUST upload to (BUD-03 "Client Upload
// Implementation"). The `upload`/`mirror` markers are a non-standard
// extension used by some clients (e.g. Amethyst) to express intent.
//
// Therefore: a server is upload-capable unless it is explicitly marked
// mirror-only. This keeps standard BUD-03 lists (no markers) working
// while still honoring explicit `mirror`-only entries.
const hasUploadMarker = tag.includes('upload');
const hasMirrorMarker = tag.includes('mirror');
const upload = hasUploadMarker || !hasMirrorMarker;
nextServers.push({ nextServers.push({
url, url,
upload: tag.includes('upload'), upload,
mirror: tag.includes('mirror'), mirror: hasMirrorMarker,
healthy: false, healthy: false,
warning: false, warning: false,
healthStatus: 0, healthStatus: 0,
+3 -3
View File
@@ -1,5 +1,5 @@
{ {
"VERSION": "v0.7.106", "VERSION": "v0.7.107",
"VERSION_NUMBER": "0.7.106", "VERSION_NUMBER": "0.7.107",
"BUILD_DATE": "2026-09-17T15:17:21.161Z" "BUILD_DATE": "2026-09-24T20:29:17.829Z"
} }