summaryrefslogtreecommitdiffstats
path: root/roles/lounge/templates/error.html
blob: 5e2a093e4b440b94183469107837febd67f6193c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>{{lounge_domain}} currently unavailable</title>
  <style>
   body { padding: 20px; font-family: Arial, sans-serif }
  </style>
</head>
<body>
  <h1>Web-based chat is currently unavailable (code 502)</h1>

  <p>The web-based IRC interface will be available during <a href="https://{{emacsconf_domain}}/{{emacsconf_year}}">{{emacsconf_name}} {{emacsconf_year}}</a>. Please check back then. In the meantime, you can also connect to {{irc_network}}:{{irc_port}} with your favorite IRC client and join {{irc_channels}}.

    <p>This page will refresh when the site is back. You can also check <a href="https://status.emacsconf.org">status.emacsconf.org</a> for updates.</p>

  <noscript>Your browser doesn’t support javascript. Please try refreshing the page manually every few minutes.</noscript>

  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  <script>
   var retryCurrent = 30, retryMax = 60 * 5;
   async function check() {
     let result = await fetch(window.location.href, { method: HEAD }).then(resp => {
       if (resp.status == 200) {
         window.location.reload(true);
       } else if (resp.status == 502) {
         if (retryCurrent < retryMax) {
           retryCurrent = Math.min(retryCurrent * 2, retryMax);
         }
         setTimeout(check, retryCurrent * 1000);
       }
     });
   }
   setTimeout(check_response, retryCurrent * 1000);
  </script>
</body>
</html>