[tor-commits] [snowflake/master] Add bridge probe to badge
arlo at torproject.org
arlo at torproject.org
Mon Sep 30 22:44:35 UTC 2019
commit 8d81270a9f217a5d0867a5db9237a02c8498eef9
Author: Arlo Breault <arlolra at gmail.com>
Date: Thu Sep 26 12:31:09 2019 -0400
Add bridge probe to badge
---
proxy/init-badge.js | 36 ++++++++++++++++++++++++------------
1 file changed, 24 insertions(+), 12 deletions(-)
diff --git a/proxy/init-badge.js b/proxy/init-badge.js
index ed6dee9..d8d9113 100644
--- a/proxy/init-badge.js
+++ b/proxy/init-badge.js
@@ -1,4 +1,4 @@
-/* global Util, Params, Config, UI, Broker, Snowflake, Popup, Parse, availableLangs */
+/* global Util, Params, Config, UI, Broker, Snowflake, Popup, Parse, availableLangs, WS */
/*
UI
@@ -125,27 +125,39 @@ var debug, snowflake, config, broker, ui, log, dbg, init, update, silenceNotific
update = function() {
const cookies = Parse.cookie(document.cookie);
- if (cookies[COOKIE_NAME] === '1') {
- ui.turnOn();
- dbg('Contacting Broker at ' + broker.url);
- log('Starting snowflake');
- snowflake.setRelayAddr(config.relayAddr);
- snowflake.beginWebRTC();
- } else {
+ if (cookies[COOKIE_NAME] !== '1') {
ui.turnOff();
snowflake.disable();
log('Currently not active.');
+ return;
}
- };
-
- init = function() {
- ui = new BadgeUI();
if (!Util.hasWebRTC()) {
ui.missingFeature(messages.getMessage('popupWebRTCOff'));
+ snowflake.disable();
return;
}
+ WS.probeWebsocket(config.relayAddr)
+ .then(
+ () => {
+ ui.turnOn();
+ dbg('Contacting Broker at ' + broker.url);
+ log('Starting snowflake');
+ snowflake.setRelayAddr(config.relayAddr);
+ snowflake.beginWebRTC();
+ },
+ () => {
+ ui.missingFeature(messages.getMessage('popupBridgeUnreachable'));
+ snowflake.disable();
+ log('Could not connect to bridge.');
+ }
+ );
+ };
+
+ init = function() {
+ ui = new BadgeUI();
+
if (!Util.hasCookies()) {
ui.missingFeature(messages.getMessage('badgeCookiesOff'));
return;
More information about the tor-commits
mailing list