diff --git a/index.html b/index.html index 7e5b499..fe09b58 100644 --- a/index.html +++ b/index.html @@ -41,12 +41,14 @@ window.slingshot = window.SimpleQuery('https://slingshot.microcosm.blue'); window.relays = [ { - name: 'Bluesky sync1.1 East', - hostname: 'relay1.us-east.bsky.network', - }, - { - name: 'Bluesky sync1.1 West', - hostname: 'relay1.us-west.bsky.network', + name: 'Bluesky', + icon: 'https://web-cdn.bsky.app/static/apple-touch-icon.png', + hostname: 'bsky.network', + note: 'current', + missingApis: { + ['com.atproto.sync.getHostStatus']: 'missing API (old relay code)', + ['com.atproto.sync.getRepoStatus']: 'missing API (old relay code)', + }, }, { name: 'Microcosm Montreal', @@ -57,16 +59,30 @@ hostname: 'relay3.fr.hose.cam', }, { - name: 'Bluesky prod (old)', - hostname: 'bsky.network', + name: 'Upcloud', + icon: 'https://upcloud.com/media/android-chrome-512x512-2-150x150.png', + hostname: 'relay.upcloud.world', }, { - name: 'Blacksky (partial xrpc)', + name: 'Blacksky', + icon: 'https://blacksky.community/static/favicon-32x32.png', hostname: 'atproto.africa', + missingApis: { + ['com.atproto.sync.getHostStatus']: 'API not yet deployed', + ['com.atproto.sync.getRepoStatus']: 'API not implemented', + }, }, { - name: 'Upcloud (no CORS)', - hostname: 'relay.upcloud.world', + name: 'Bluesky East', + icon: 'https://web-cdn.bsky.app/static/favicon-32x32.png', + note: 'future', + hostname: 'relay1.us-east.bsky.network', + }, + { + name: 'Bluesky West', + icon: 'https://web-cdn.bsky.app/static/favicon-32x32.png', + note: 'future', + hostname: 'relay1.us-west.bsky.network', }, ]; @@ -219,6 +235,7 @@ loading: false, error: null, status: null, + expectedErrorInfo: null, reqCrawlStatus: null, reqCrawlError: null, @@ -230,6 +247,7 @@ this.loading = true; this.error = null; this.status = null; + this.expectedError = false; const query = window.SimpleQuery(`https://${relay.hostname}`); const hostname = pds.split('://')[1]; let data; @@ -239,7 +257,10 @@ }); this.status = data.status; } catch(e) { - if (window.isXrpcErr(e)) { + if (relay.missingApis['com.atproto.sync.getHostStatus']) { + this.error = 'Can\'t check'; + this.expectedErrorInfo = relay.missingApis['com.atproto.sync.getHostStatus']; + } else if (window.isXrpcErr(e)) { this.error = e.error; } else { this.error = 'Failed to check (see console)'; @@ -399,6 +420,7 @@ loading: false, error: null, status: null, + expectedErrorInfo: null, async init() { await this.check(did, relay); @@ -408,6 +430,7 @@ this.loading = true; this.error = null; this.status = null; + this.expectedErrorInfo = null; const query = window.SimpleQuery(`https://${relay.hostname}`); try { @@ -415,7 +438,10 @@ params: { did }, }); } catch(e) { - if (window.isXrpcErr(e)) { + if (relay.missingApis['com.atproto.sync.getRepoStatus']) { + this.error = 'Can\'t check'; + this.expectedErrorInfo = relay.missingApis['com.atproto.sync.getRepoStatus']; + } else if (window.isXrpcErr(e)) { this.error = e.error; } else { this.error = 'Failed to check (see console)'; @@ -664,7 +690,7 @@

Relay host status

-
+