I've changed the explanation for the `INSECURE_USE_HTTP` environment variable.
The old first line describing this setting in just one sentence was wrong and the next line basically suggested turning this security feature off in situations where it's not needed.
In the nightscout code you check if either the connection is secure by itself or if the X-Forwarded-Proto header is set (which it should be by default in all major reverse proxy applications).
It should be unnecessary to change that setting even in a reverse proxy environment.
302 and 307 basically do the same thing with just one important difference:
The default 302 redirect from express.js tells the browser to repeat the request with the new URL using the GET verb.
When using the 307 status code manually, this tells the browser to repeat the very same request against the new URL using all the same parameters, headers and most important HTTP verbs.
In practice this is important every time you want to change settings or flip a switch or enter your API key (that information will never arrive at the server)
It's even more important when you get to the site through a reverse proxy that doesn't properly set the X-Forwarded-Proto header.
* Cherry picks the ES language changes from #4690
* Fix small issues found in linting
* * Fix all but one eslint complaint in the bundled code
* Add eslint and js-beautify rc files into the repo
* Normalize Treatment object dates to be all in UTC Strings, as expected by the codebase
* Also normalize the device status data
* Sort the results so results with mixed dates are returned in correct order
* Use MomentJS to correctly parse the offsets & output the offset to objects at all times
* Removing a debug console log message causing excessive logging
* Use UTC date values for queries even if client asks for zoned dates
* Remove extra sorting based on date. Code clarifications
* * Add missing parseZone() call to treatments
* Check isValid() date on entries
* Use isValid() to check date validity for device status data
* * Package reporting plugins separately into another bundle to reduce main bundle size
* Use moment timezone webpack plugin to load less time zone data
* When server is run in development mode, hot reload code changes without restart
* Run code through a linter when in dev mode
* Remove a couple unnecessary logging lines
* Fix tests
* Reduce the amount of days we load treatments for and load the latest entry of each type we need from last month, to have the site load faster
* Clamp treatments fit to the BG curve at 22
* Distribution totals were miscalculated due to data interpolation. This also adds filtering for non-sgv dexcom entries - we need a new feature so user can define what CGM system she's on and set the lower bound of acceptable CGM values appropriately
* Remove debug logging
* * Full refactor of the clockface code. Clocks now get their own small javascript bundle that contains the bare minimum client (from /lib/client/clock-client.js)
* Clocks no longer have separate HTML files but each has unique CSS definitions
* Fixed the bug where a finger measurement showed NaN in the clock
* Update shrinkwrap to match package.json
* Revert accidental index.html changes
* Bunch of minor fixes (#4641)
* Add triple arrows
* remove time
* grey arrows on bgclock
* try again on arrow fill
* Update bgclock.css
* fix double-mmol-conversion
* Update clock-client.js
* tabs to spaces everywhere
* Refactors based on Jason's comments
* Remove the clock bundle generation from app.js