|
8 | 8 | <title>{{appTitle}} - Login</title> |
9 | 9 |
|
10 | 10 | <!-- Bootstrap core CSS --> |
11 | | - <link rel="stylesheet" |
12 | | - href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" |
13 | | - integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" |
14 | | - crossorigin="anonymous" /> |
| 11 | + <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" |
| 12 | + integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" /> |
15 | 13 |
|
16 | 14 | <link type="text/css" rel="stylesheet" href="/module/firebaseui/dist/firebaseui.css" /> |
17 | 15 |
|
|
33 | 31 | // firebase.auth.PhoneAuthProvider.PROVIDER_ID, |
34 | 32 | // firebaseui.auth.AnonymousAuthProvider.PROVIDER_ID |
35 | 33 | ], |
36 | | - // tosUrl and privacyPolicyUrl accept either url string or a callback |
| 34 | + // tosUrl and privacyPolicyUrl accept either url string or a callback |
37 | 35 | // function. |
38 | 36 | // Terms of service url/callback. |
39 | | - tosUrl: function() { |
40 | | - window.location.assign('/terms'); |
| 37 | + tosUrl: function () { |
| 38 | + window.location.assign('/terms'); |
41 | 39 | }, |
42 | 40 | // Privacy policy url/callback. |
43 | | - privacyPolicyUrl: function() { |
44 | | - window.location.assign('/privacy'); |
| 41 | + privacyPolicyUrl: function () { |
| 42 | + window.location.assign('/privacy'); |
45 | 43 | }, |
46 | 44 | callbacks: { |
47 | 45 | signInSuccessWithAuthResult: function (authResult, redirectUrl) { |
|
59 | 57 | </head> |
60 | 58 |
|
61 | 59 | <body class="text-center p-3" style="background-color:#f5f5f5"> |
62 | | - <div class="container card mt-5 pb-3 pt-4" style="max-width: 450px"> |
| 60 | + <div class="container card mt-5 pb-3 pt-4" style="max-width: 450px; text-align:left"> |
| 61 | + <p> |
| 62 | + Recent issues with NORA availability have been caused by the high number of online users reaching over 2400 |
| 63 | + at any time. Unfortunately the current implementation and the existing free Heroku instance can not handle |
| 64 | + this kind of load. |
| 65 | + </p> |
| 66 | + |
| 67 | + <p> |
| 68 | + I'm currently working on a new (<a href="https://smart-nora.eu/">Smart NORA</a>) version that will be backed |
| 69 | + by Firebase and will be able to handle tens of thousands of concurrent users without a problem. It will also |
| 70 | + come with a new set of features (support for new devices/traits, local execution, 2FA, push notifications, |
| 71 | + ESP library for direct device support). |
| 72 | + </p> |
| 73 | + |
| 74 | + <p> |
| 75 | + Being a big project hosted in the cloud, it will eventually require a subscription (probably around 2-3 |
| 76 | + eur/month) but it will always offer a free account type (probably with a limit on the number of devices). |
| 77 | + </p> |
| 78 | + |
| 79 | + <p> |
| 80 | + The current status of the new project (<a href="https://smart-nora.eu/">Smart NORA</a>) is in alpha testing. |
| 81 | + It already supports all the current NORA features + |
| 82 | + local execution and 2FA. Currently waiting for approval from Google and it will be released into wide beta |
| 83 | + testing. Once available to the public it will be free for use for a few months. |
| 84 | + </p> |
| 85 | + |
| 86 | + <p> |
| 87 | + I have no plans on developing the current version of NORA any further but also, no plans to bring it down. |
| 88 | + </p> |
| 89 | + </div> |
| 90 | + <div class="container card mt-3 pb-3 pt-4" style="max-width: 450px"> |
63 | 91 | <form id="loginForm" method="post" action="/login{{query}}"> |
64 | 92 | <h1 class="h3 mb-3 font-weight-normal"> |
65 | 93 | <strong>NO</strong>de-<strong>R</strong>ed home <strong>A</strong>utomation |
66 | | - </h1> |
| 94 | + </h1> |
67 | 95 | <h1 class="h4 mb-3 font-weight-normal">Select sign in method</h1> |
68 | 96 | <input type="hidden" id="inputToken" name="token" /> |
69 | 97 | <div id="firebaseui-auth-container"></div> |
|
0 commit comments