Skip to content

Commit fdd5b16

Browse files
authored
Merge pull request #68 from LukePrior/testing
only sub to one topic when filtered
2 parents abac20a + 9e7ec46 commit fdd5b16

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

js/tracker.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ var clientID = "SondeHub-Tracker-" + Math.floor(Math.random() * 10000);
1111
var client = new Paho.Client(livedata, clientID);
1212
var clientConnected = false;
1313
var clientActive = false;
14+
var clientTopic;
1415

1516
var host_url = "";
1617
var markers_url = "img/markers/";
@@ -347,6 +348,18 @@ function clean_refresh(text, force, history_step) {
347348
$("#stText").text("");
348349
}
349350

351+
try {
352+
client.unsubscribe(clientTopic);
353+
if (wvar.query && sondePrefix.indexOf(wvar.query) == -1) {
354+
var topic = "sondes/" + wvar.query;
355+
client.subscribe(topic);
356+
clientTopic = topic;
357+
} else {
358+
client.subscribe("#");
359+
clientTopic = "#";
360+
}
361+
} catch (err) {}
362+
350363
// reset mode if, invalid mode is specified
351364
if(modeList.indexOf(text) == -1) text = (is_mobile) ? modeDefaultMobile : modeDefault;
352365

@@ -2948,7 +2961,14 @@ function liveData() {
29482961
client.connect({onSuccess:onConnect,onFailure:connectionError,reconnect:true});
29492962

29502963
function onConnect() {
2951-
client.subscribe("#");
2964+
if (wvar.query && sondePrefix.indexOf(wvar.query) == -1) {
2965+
var topic = "sondes/" + wvar.query;
2966+
client.subscribe(topic);
2967+
clientTopic = topic;
2968+
} else {
2969+
client.subscribe("#");
2970+
clientTopic = "#";
2971+
}
29522972
clientConnected = true;
29532973
clientActive = true;
29542974
$("#stText").text("websocket |");

0 commit comments

Comments
 (0)