+15
.github/FUNDING.yml
+15
.github/FUNDING.yml
···
···
1
+
# These are supported funding model platforms
2
+
3
+
github: uniphil
4
+
patreon: # Replace with a single Patreon username
5
+
open_collective: # Replace with a single Open Collective username
6
+
ko_fi: # Replace with a single Ko-fi username
7
+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+
liberapay: # Replace with a single Liberapay username
10
+
issuehunt: # Replace with a single IssueHunt username
11
+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12
+
polar: # Replace with a single Polar username
13
+
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14
+
thanks_dev: # Replace with a single thanks.dev username
15
+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
+11
-2
src/App.tsx
+11
-2
src/App.tsx
···
129
} else {
130
url = new URL("https://" + customRelayHost);
131
}
132
-
url.protocol = url.protocol === "https:" ? "wss:" : "ws:";
133
-
134
return url.origin;
135
} catch (err) {
136
return "";
···
176
const oldURL = getCustomRelayURL();
177
setRelays(relays => relays.includes(oldURL) ? relays.filter(u => u !== oldURL) : relays);
178
setCustomRelayHost(e.target.value);
179
}}
180
/>
181
{` `}
···
129
} else {
130
url = new URL("https://" + customRelayHost);
131
}
132
+
if (url.protocol === 'https:') {
133
+
url.protocol = 'wss:';
134
+
} else if (url.protocol === 'http:') {
135
+
url.protocol = 'ws:';
136
+
}
137
return url.origin;
138
} catch (err) {
139
return "";
···
179
const oldURL = getCustomRelayURL();
180
setRelays(relays => relays.includes(oldURL) ? relays.filter(u => u !== oldURL) : relays);
181
setCustomRelayHost(e.target.value);
182
+
}}
183
+
onKeyDown={e => {
184
+
if (e.key !== 'Enter') return;
185
+
e.preventDefault();
186
+
const url = getCustomRelayURL();
187
+
if (url) showRelay(url, true);
188
}}
189
/>
190
{` `}
+18
-2
src/knownRelays.json
+18
-2
src/knownRelays.json
···
5
},
6
{
7
"url": "wss://bsky.network",
8
+
"desc": "Bluesky primary (+Rainbow)"
9
},
10
{
11
+
"url": "wss://relay1.us-east.bsky.network",
12
+
"desc": "Bluesky sync1.1 east (+Rainbow)"
13
+
},
14
+
{
15
+
"url": "wss://relay1.us-west.bsky.network",
16
+
"desc": "Bluesky sync1.1 west (+Rainbow)"
17
+
},
18
+
{
19
+
"url": "wss://relay.fire.hose.cam",
20
"desc": "microcosm Montreal"
21
},
22
{
23
"url": "wss://relay3.fr.hose.cam",
24
"desc": "microcosm France"
25
+
},
26
+
{
27
+
"url": "wss://relay.hayescmd.net",
28
+
"desc": "@edavis.dev's relay"
29
+
},
30
+
{
31
+
"url": "wss://relay.xero.systems",
32
+
"desc": "@dane.is.extraordinarily.cool's relay"
33
}
34
]