Mercurial > hg > rlgwebd
annotate options.js @ 213:08665c56c6a0 default tip
Fix race condition related to watching DGL games.
It's possible for a dgamelaunch game to end and cause rlgwebd to stop watching
it before rlgwebd has started watching it.
author | John "Elwin" Edwards |
---|---|
date | Sun, 16 Aug 2020 20:56:18 -0400 |
parents | 99fbc7c55b81 |
children |
rev | line source |
---|---|
129
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
1 function setup() { |
130
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
2 if (!("lcred" in sessionStorage)) { |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
3 setstatus("You are not logged in."); |
129
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
4 return; |
130
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
5 } |
129
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
6 var url = "/uinfo/email?key=" + sessionStorage.getItem("lcred"); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
7 var req = new XMLHttpRequest(); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
8 req.onreadystatechange = function () { |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
9 if (req.readyState != 4 || req.status != 200) |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
10 return; |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
11 var reply = JSON.parse(req.responseText); |
130
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
12 if (!("email" in reply)) { |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
13 setstatus("You are not logged in."); |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
14 } |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
15 else { |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
16 setstatus("You are logged in as " + reply.u + "."); |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
17 document.getElementById("input_email").value = reply["email"]; |
133
99fbc7c55b81
Options-related UI improvements.
John "Elwin" Edwards <elwin@sdf.org>
parents:
130
diff
changeset
|
18 //document.getElementById("switch").style.display = "block"; |
130
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
19 } |
129
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
20 } |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
21 req.open('GET', url, true); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
22 req.send(); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
23 } |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
24 |
130
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
25 function setstatus(stattext) { |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
26 var statnode = document.createTextNode(stattext); |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
27 var statdiv = document.getElementById("ostat"); |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
28 statdiv.replaceChild(statnode, statdiv.firstChild); |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
29 } |
a2e071a95055
Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents:
129
diff
changeset
|
30 |
129
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
31 function postemail() { |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
32 if (!("lcred" in sessionStorage)) |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
33 return; |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
34 var posturl = "/uinfo/email?key=" + sessionStorage.getItem("lcred"); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
35 var msg = {"v": document.getElementById("input_email").value}; |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
36 var req = new XMLHttpRequest(); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
37 req.open('POST', posturl, true); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
38 req.send(JSON.stringify(msg)); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
39 } |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
40 |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
41 function postpw() { |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
42 if (!("lcred" in sessionStorage)) |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
43 return; |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
44 var posturl = "/uinfo/pw?key=" + sessionStorage.getItem("lcred"); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
45 var msg = {"v": document.getElementById("input_pw").value}; |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
46 var req = new XMLHttpRequest(); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
47 req.open('POST', posturl, true); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
48 req.send(JSON.stringify(msg)); |
46822bd329da
Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents:
128
diff
changeset
|
49 } |