Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Issue #5486 - Device Status Days Feature #5651

Merged
merged 2 commits into from
Jun 12, 2020
Merged

Fix Issue #5486 - Device Status Days Feature #5651

merged 2 commits into from
Jun 12, 2020

Conversation

mtfoley
Copy link
Contributor

@mtfoley mtfoley commented May 8, 2020

I'm attempting to fix #5486 , by allowing the number of days in Retro mode to be either a default of 1 or 2 days. The value is set in env.js, used in lib/data/dataloader.js, and documented in README.md. I don't have a site with live data so I don't have a way to test this myself. I had started to run js-beautify on the source files, but there were a lot more changes than just the lines I was working with.

@sulkaharo
Copy link
Member

Couple considerations: 1) this is likely to cause rendering performance issues for loopers, so I'd prefer this is tested by opens and Loop users before merging, 2) can you add a mention into readme that this will roughly double the bandwidth usage of Nightscout, so those on a data cap might not want to enable this.

var dateRange = {
$gte: new Date(ddata.lastUpdated - ONE_DAY).toISOString()
$gte: new Date( ddata.lastUpdated - (ONE_DAY * retroDays) ).toISOString()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this would be much cleaner if instead of multiplying the constant you'd add a new TWO_DAYS constant and assign a variable to the constant based on the config

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there may be a TWO_DAYS constant in that file already - if so I'll use that. I had originally been intending to use a multiplier but decided to limit it to two days for the reasons you mentioned on performance.

@mtfoley
Copy link
Contributor Author

mtfoley commented May 15, 2020

I don't have a way to test it and I don't know anyone that I can ask to test it. I'll make the changes you asked for and I suppose we'll go from there.

EDIT: I could test this if you could point me in the direction of a good way to inject reasonable dummy data into a local instance

@mtfoley
Copy link
Contributor Author

mtfoley commented May 16, 2020

@sulkaharo, I made the requested changes.

@sulkaharo sulkaharo merged commit f3fab56 into nightscout:dev Jun 12, 2020
@mtfoley mtfoley deleted the setting-devicestatus-days branch June 15, 2020 21:47
njmo added a commit to njmo/cgm-remote-monitor that referenced this pull request Oct 7, 2020
* Logic correction

* Fix tests failing in dev (nightscout#5127)

* * Fix reporting test to match the new output
* Fix number formatter to return the expected 0 when data is NaN
* Remove excessive logging during test runs from cob plugin

* Run all tests in one go

* Fixes D3 invocations for tests. Note this also removes transition timers (most of which seemed to be timed so fast they actually had no effect as the timer was faster than what it takes to draw a frame in Nightscout)

* Run tests independently

* Try not running tap-set-exit

* Remove tap-set-exit

* Performance fixes (nightscout#5134)

* Further fixes to profile data fetches, change the client to not create excessive amount of date objects

* Sort entries once on load and then rely on the sorting to find out the largest and smallest value

* Make the renderer reuse Date objects instead of instantiating a huge amount of dates all the time

* Don't load retro data if not needed. Merge retro data faster if it's present. (nightscout#5141)

* Updated Alexa template to comply with new requirements

* Load data in one pass (nightscout#5142)

* Fix layouting and load data in one go. Bonus points if you can fix the rendering for this

* fix focus target lines and high and low lines

* Remove debug logging. Change profile functions to clear the cache on new data, instead of calculating heavy hashes

* Remove unused code

* Fix tests

* Have Travis run tests on Node 10 and 12, not 13

* D3 Upgrade Residual Cleanup (nightscout#5140)

* fix forecast limit logic

(cherry picked from commit e88ce7e5d1f5fb12c71ae67da4131ff1a50940c9)

* fix minimum focus forecast time

* make min forecast 30 min

* fix forecast time max to client focusRangeMS instead of 30 min (nightscout#5143)

* Fix initial forecast point display

* Fix forecast time randomly resetting to 30 minutes for openaps users

* Stop Focus Circles from Eating Entries (nightscout#5145)

* stop focus circles from eating entries

* fix forecastCircles remove

* resolve possible key collision

* Fixes a major bug where plugins were ran against a sandbox twice, causing issues with predictions. Fixes the look ahead timings.

* Fix forecast behaviour (nightscout#5160)

* stop focus circles from eating entries

* fix forecastCircles remove

* resolve possible key collision

* Fixes a major bug where plugins were ran against a sandbox twice, causing issues with predictions. Fixes the look ahead timings.

* Refactor of how prediction data is collected

* Update node pushover library to fix crash in case Pushover service is down

* adding list of supported APIs versions (GET /api/versions)

* Fixed a few missing definitions

* API3: add locking documents using isReadOnly flag

* Translation improvements

* Defined `translate()` in upbat plugin

* Migrated titles to use translate()

* Migrated static intent titles to use translate()

* Misc fixes for tests (even though they didn't fail 🤔)

* API3: testing isReadOnly feature

* API3: more readonly field name variants

* Added instructions on how to update skills/agents

* fix devicestatus retro merge (nightscout#5193)

* Turkish language updates (nightscout#5192)

* Turkish language updates

* in to Languages Part Turkish added

* in to Languages Part Turkish added

* Fix falsely suspended timeago alarms (nightscout#5170)

* Fix continuous suspension of the timeago alerts

The default hearbeat-setting is 60 seconds, so the delta between two
timeago-checks will always be >15 seconds and the timeago-alarms will
always be suspended (that's what Papertrail also shows).

To fix this, make the delta-check heartbeat-setting-dependant and also simplify
the code by using just 1 variable.

* Add test that verifies the hibernation detection behaviour

The real-world test would be to actually wait for a couple of minutes (with 2 *
heartbeat of default settings) in the unit test, but this is not feasible, so
just modify the heartbeat-setting to a lower value.

I tested it by only running tests inside `tests/timeago.test.js` and by actually
deploying this code and testing the alarms with Pushover and reading the logs in
Papertrail.

Before this change, I saw a 'Hibernation detected' log every minute. After this
change, I didn't see it anymore, probably because the app wasn't actually
hibernated (yet).

* Take sulkaharo's feedback into account and differentiate
between client and server (by introducing it in sandbox.js).

On the client the behaviour is different from the server:

> On client, the issue is browsers stop the execution of JS if the window is not
> visible and the alarm is falsely triggered immediately when the execution is
> resumed, so we need to suspend the alarm for ~10 seconds after the execution has
> resumed to give the client time to update the data to prevent false alarms.

While on the server, the default heartbeat from 60s needs to be taken
into account to prevent the timeago alarm from falsely triggering.
So detect hibernation there if the last check was more than 2 heartbeats ago.

* Fix the tests by adding settings to the context,
which is now required by timeago.

Also, change the timeago test a bit so that it both succeeds
when testing in isolation as when testing it along with the other tests.

* Adding to nightscout#5121 (nightscout#5126)

* changed gitter shield to discord

* changed discord shield text to discord chat instead of just chat

* changed gitter shield to discord

* need to fix my md error

* Update CONTRIBUTING.md

Few more tweaks

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update README.md

Change Discord URL to be an invite link instead of a direct link to the channel (which doesn't work if you're not already in it).

* Extra info (delta and last measurement time) on clock view.  (nightscout#5151)

* Parametrized clock view

* Parametrized clock view

* Wording tweaks to go with nightscout#4810 (nightscout#4866)

* mmol/L wording tweak in Readme

* Various wording & clarity tweaks in the Readme

* Heroku template update to reflect mmol allowance tweak

* Update README.md

* Update minimum device requirements

Ran some proper browser test suites, determined actual minimum specs for the main site.

* GitHub actions build (nightscout#5168)

* Run tests using GitHub Actions

* Node 10

* Test CI fails

* Use npm to run tests

* Fix package json to run tests

* Enable v3 TEST api for both development env and CI

* Run CI on both Node 10 and 12

* Allow downgrading Mongo

* Move the units configuration detection to a place where it's guaranteed to catch all invocations

* Fix the check for environments without the units setting

* Rename xdrip-js to xdripjs (nightscout#4959)

* rename xdrip-js to xdripjs

* update readme for xdrip-js name change

* update from CGM to XDRIPJS label

* change label from all caps to mixed case for xDripJS

* change pill label back to CGM

* Added customization step for Alexa skill updates

* Language Update: added missing German Translations (nightscout#5172)

* language Update devicestatus collection

* language Update Admin-Tools

* changed wording for admin authorization

* typo corrected (admin auth)

* language Updates for Admin Tools database cleanups

* Don't use dynamic scale unless entries in database (nightscout#5195)

* don't use dynamic scale unless have entries

* fix report crash when no entries

* set forecastTime correctly when no entries present

* Language Matters: change "Normal" to "In Range" in glucose distribution reports

* Added/updated TOC's

* set auth dialog width to client width if smaller than default width

* More hebrew translations

* Added note regarding the use of the Alexa online simulator

* fix focus scale hour format

* trip open-top size to fit

* fix clearing alarming when clearning CurrentSGV

* do not set direction if not current

* Handled 0 for pump reservoir

* rollback npm-shrinkwrap.json

* Fix for distributionpage

bug that caused hour 23 to always be active even after uncheck

* Russian translation update edit

* Use default entries count instead of distributed number literals

* Handle mmol to mgdl conversions with a constant reference (nightscout#5274)

* Added sanity check for the bridge interval value (nightscout#4717)

* Added sanity check for the bridge interval value, setting minimum allowed value to 30 seconds and maximum to 5 minutes. This is to avoid input of very low values which might overload the dexcom servers.

* Added missin ';'

* Fixed typoe in comment

* Added test for default interval (not set in config)

* Set lower limit to 1 second

* Use auth tokens in api-secret (nightscout#5214)

* Allow auth tokens to be passed in the api-secret header and used in the client in place of the API secret

* Fix unit test

* Fix admin test

* Reload page when token is used as a secret

* Fix dependency vulnerabilities

* Added basal and bolus averages besides TDD and carbs (nightscout#4216)

* Remove the leading 0 from the version, so we can comply to how version numbering should really work

* Removed unsused var ic (nightscout#5288)

* Use constants instead of number literals for http status codes (nightscout#5276)

* Updated release name and number (nightscout#5280)

* Allow use cgm-remote-monitor as npm package. (nightscout#4847)

To use cgm-remote-monitor as npm package, the main attribute is required.

* Add 4 hour option to view (nightscout#5289)

* Revert "change default back to 3HR"

This reverts commit e60ff3a.

* shorten HR to H to avoid line-wrapping on mobile

* try larger label font: 35 instead of 25 (vs. 40)

* add comma

* deviceInfo.recent null check

* default back to 3, w/ 4 as an option

* re-add H to single-digit hours

* * Don't use cache manifest all all for development
* Add 4 hours option to view and change the labelling to remove language issues
* Have page scale the minor pill widths more gracefully

* [Clock] Fix incorrect delta calculation (nightscout#5286)

* Fix !delta check for delta == 0

* Fixed delta comparison

* Hide unit suffix for SMBs issued by AndroidAPS (nightscout#4771)

* Fix issues from `npm audit`

* Read BG targets in using mmol when server is in mmol mode (nightscout#5291)

* Read BG targets in using mmol when server is in mmol mode

* Change the Heroku template to match the new logic

* Deal with mmol targets being set using commas

* Unbreak JSON serialization failing on the /properties API due to circular data reference

* Bump version to 13.0.0

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Release 13.0.1 (nightscout#5329)

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Bump version to 13.0.2-dev

* fix some random test failures (nightscout#5341)

* fix some random test failures

* use typeof to test for existence

* Added support for asking delta

* Added time reference

* Made delta reading more informative

* Corrected time reference

* Try shortening the response

* Revert attempt

* Updated templates and documentation

* Minor improvement in response when delta is 0

* German translations improved and added (nightscout#5360)

* Fix Alexa Launch and SessionEnded Requests (nightscout#5377)

* Fix Alexa Launch Request

* Allow LaunchRequest to handle intent if set, change shouldEndSession from string to bool

* Fix SessionEndedRequest

* Fix nightscout#5149 - discord link on CONTRIBUTING.md doesn't do anything (nightscout#5380)

* Fix nightscout#5146 - display of treatment with only Fat and Protein set (nightscout#5381)

* Basic report page style fixes and updates (nightscout#5387)

* Add missing Polish translations and improve existing (nightscout#5382)

* Add missing Polish translations and improve existing

* Improve translations

* Addressed virtual assistant usage with Authentication Roles (nightscout#5388)

* Fix nightscout#5347 - Addressed auth roles

* Unification

* Fix timeago alarms (again). The changes to the rendered had an unintended consequence of triggering the timeago detection less frequently, causing the code to think the client has been hibernating, thus suppressing the alarms. The update changes the clock to be updated more frequently (this updating the hibernation detection), fixing the issue

* Remove the server side test

* Fix Graph Display Without Recent Devicestatus (nightscout#5409)

* Update Russian (nightscout#5415)

Corrected major and minor misprints and mistakes - particularly in variables, new translations added

* Add server teardown ability (nightscout#5410)

* adding teardown event to ctx.bus

* adding teardown support for mmconnect and bridge plugins

* Additional German Translations and corrections (nightscout#5405)

* Cleaned up changed translations

* Added Virtual Assistant Translations

* Fix nightscout#5188 - move predictions to bundle and don't render chart on predictions offset change (nightscout#5395)

* Fix nightscout#5188 - move predictions to bundle and don't render chart on predictions offset change

* Fix predictions show for day to day

* Move toolbar and authentication status to partial and include on each page (nightscout#5393)

* Move authentication status to partial and include on each page

* Move toolbar to partial

Co-authored-by: Sulka Haro <sulka@sulka.net>

* Virtual assistant code simplification (nightscout#5400)

* Moved duplicate plugin code to single location, and small improvements

* Defined _each()

* Pr/5379 (nightscout#5441)

* Release 13.0.1 (nightscout#5329)

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Added handlers and translations for CGM info

* Defined translate()

* Fixed sensor state reference

* Improved wording for tx age response

* Improved wording for session duration response

* Updated documentation and templates

* Updated README.md TOC and a reference to it

* Added CGM battery info

* Added unit reference to CGM battery levels

* Added handlers and translations for CGM info

* Defined translate()

* Fixed sensor state reference

* Improved wording for tx age response

* Improved wording for session duration response

* Updated documentation and templates

* Updated README.md TOC and a reference to it

* Added CGM battery info

* Added unit reference to CGM battery levels

* Updated API reference in Google Home template

Co-authored-by: Caleb <inventor96@users.noreply.github.com>

* Volunteer for Polish translations (nightscout#5396)

* Api3 output renderers (nightscout#5425)

* APIv3: adding framework for various output renderers

* APIv3: adding xml output renderer

* APIv3: adding csv output renderer

* APIv3: documenting supported output renderers

* APIv3: testing output renderers

* Restore glucose distribution test (nightscout#5434)

* Increase coverage of tests on units utility and clean up timeago test (nightscout#5435)

* Increase coverage of tests on units utility

* clean up timeago test

* Refactor to encapsulate duplicated settings logic (nightscout#5426)

* Encapsulate duplicate settings checks inside functions

* Simplify settings::isAlarmEventEnabled()

* Send coverage reports to Codacy (nightscout#5444)

* Send coverage reports to Codacy

* Action secrets may not be read from forks :(

* Let's see if this fixes the path & key passing

* Ok one more try for the Actions env

* Run tests and coverage separately

* Try increasing the admintools test runtime for Node 10

* Run tests only once

* Resolve unnecessary uses of eslint-ignore (nightscout#5436)

* Resolve unnecessary disabling of no-undef eslint rule

* Resolve unnecessary disabling of no-prototype-builtins eslint rule

* Resolve unnecessary disabling of no-unused-vars eslint rule

* Resolve unnecessary disabling of no-empty eslint rule

* Fix eslint errors and add npm script for eslint (nightscout#5427)

* re-enable auth check for device status routes

* Resolve eslint errors

* Add npm script for eslint

* Correct regex for express extension middleware and add tests for expected behaviour

* Resolve lint error in virtual assistant base

* Update index.js

* Update index.js

* Remove redundant checks on entry ID (nightscout#5440)

* Run CI Action for Pull Requests

* Update DayToDay report for Loop Overrides (nightscout#5452)

Add Loop override name/reason as text to the grey bar at the top of the graph.

* Fix earlier merge error with predictions having moved to the report bundle

* fix brushing loop (nightscout#5499)

* Update README.md (nightscout#5480)

Clarified that the "bridge" plugin is for Dexcom Share ("Dexcom" didn't appear at all in the read me), fixed a few typos, and added line 444 about the BRIDGE_SERVER variable.

* Added period of days into headline of glucose distribution and percen… (nightscout#5428)

* Added period of days into headline of glucose distribution and percentil chart report

I make screencopies of the glucose distribution and percential chart report for my diabtes consultant and had to manually add the period of days to the report everytime because it was not shown in the report itself.
I added the period of days this with a small number of lines of code and think this is helpful for other too.

* removed comments as requested

removed comments as requested

* Camelcase for new variables reportPlugins, firstDay, lastDay, countDays

* forget to save the change of reportPlugins in percentile.js

* Move app caching to a service worker (nightscout#5504)

* Move app caching to a webworker

* Code cleanup

* Code cleanup

* Make Codacy happy

* More parentheses

* Added indexes to 'entries' and 'treatments' along with other updates (nightscout#5463)

* Added compound indexes for treatments and entries collections. Updated ensureIndex to createIndex in mongo-strage.js as ensureIndex has been deprecated. Finally, updated testing/populate.js to be compatible with more recent versions of the node driver, as well as fixing a path issue.

* Fixed missing end quote in lib/server/treatments.js. Changed all newly added double quotes to single quote to match style guide.

* Removed indexes that referenced key600.

* Fix: Round interporlated mg/dL value to an integer

* Plugin to show database size (% of available space or in MiB) (nightscout#5496)

* Database size plugin - pill that displays current mongoDB database size

* Enabled dbsize by default

* Fixed bug with dbsize not shownig when size is (rounded) 0% but real bytes > 0

* Cleanup & update to iconfont generation manual

* Changed how warning/urgent levels are configured - from absolute MiB to percentage of DBSIZE_MAX

* Trying to fix random fail of APIv3 tests (nightscout#5519)

* APIv3: isolating documents from tests (not allowing clashes of calculated identifiers)

* removing unused async keyword

* client - mobile - Axis label font is scaled on small screens (nightscout#5512)

On phones or other small screens, the axis labels (especially x axis)
were previously an unreadable jumble of too-close letters

* Split view (nightscout#5518)

* Adds a 2, 3, 4 and 8 way split view option

* Updated description

* Generate the table on demand, so any number of sites from 1 to 8 generates a sensible layout

* Update readme & don't crash if a name is missing

* Allow flagging specific settings to be not exposed the /properties and /status APIs (nightscout#5525)

* Add more variables to the special list

* [DEV][FIX] Fix dbsize plugin to make it hideable again (nightscout#5529)

* [FIX] Making dbsize plugin default but hideable - removed its forced show state

* Removed unused lodash dependency

* Removed duplicate if statement (nightscout#5531)

Removed the additional if statement checking for the loop specific developer team id. This since the exact same if statement existed just above it.

* Update Dutch translations (nightscout#5532)

* Fix settings test

* Update version to 13.1.0

* Fix topbar collapse on small screens (nightscout#5562)

* Fix top bar collapsing on small screens

* Fix wide button array overflowing the button bar

* Option to switch off bolus amount outputs (nightscout#5522)

* Option to switch off bolus amount outputs (nightscout#5514)

* Fixing issue with carb value not be output when set to "none" (nightscout#5514)

* Adding additional output options (nightscout#5514)

* Adding environment variable option for 'x U and Over' option.

This option is BOLUS_RENDER_OVER with a default value of 1 and the value can be an integer or a float, e.g. 0.3, 1.5, 2, etc...

* Adding change to change the font size depending on the bolus value.

* Merge two "all" options to create an option that displays as SMB had.

* Fix d3 portrait to landscape brush failure (nightscout#5638)

* fix d3 portrait to landscape brush failure

* fix client.renderer.test for highlighBrushPoints function prototype change

* fix highlightBrush

* move brush reset inside check for valid brush

* Sanitize data from manual careportal entries so only fields with actual data are sent to the server (nightscout#5619)

* do not redirect to profile editor by default (nightscout#5671)

In a default configuration, there is no treatment data.  The code to redirect
the UI to the profile editor is buried deep within the chart rendering code for
basals.  This plugin is only supposed to go into action when enabled via
ENABLE=basal.  This commit fixes first-use experience for the default
configuration intended to draw real-time CGM traces and no basal information is
expected.  Since no basal information is expected unless plugin is enabled via
ENABLE=basal, this allows skipping instead of redirecting to the profile editor.

* Fix Issue nightscout#5486 - Device Status Days Feature (nightscout#5651)

* Device Status Days Feature

* Edits per review from @sulkaharo

* Configurable clock views (nightscout#5625)

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Update README.md

* Update README.md

* Configurable clock views

* Add remote bolus/carbs + otp entry for loop (nightscout#5598)

Add a remote bolus entry field for users on Loop, along with support for an OTP field

* Sometimes at the very start no profiles provided. (nightscout#5591)

At the first start the nightscout is crashed if profile not full.

* Fixes nightscout#4991 - Now selects basal profile based day by day (nightscout#5572)

* Test profile settings

* NPM Version change

* Use console log

* Use console log for client

* Use console log for client.sbx

* Use console log for client.ddata

* Use console log for client again

* revert

* Added multi-profile reporting capabilities

Co-authored-by: VIS TFS Admin <liveid@visualsolution.co.uk>

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* hotfix attempt 2 - carelink 2020 sso updates

* hotfix 3 - attempt 3 at carelink 2020 sso updates

* attempt 4 at hotfix for nightscout

Based on more reliable version of minimed-connect-to-nightscout....
This is testing the hotfix.  When it works, we will bump this one more
time with the newly released version.

* hotfix 5 - incorporates latest axios changes

* Fix for boluscalc issue (nightscout#5729)

Boluscalc fix & remove integer validation from BG input field

* npm install --save minimed-connect-to-nightscout@^1.4.0

* Change DISPLAY_UNITS to use readENV's default value and added several tests for DISPLAY_UNITS (nightscout#5708)

readENV() was hard coding the default value of DISPLAY_UNITS, and
ignoring the default value for no particular reason. Fixed that. Also, I
added a full test suite for DISPLAY_UNITS environment settings to make
sure that it works as intended. Finally, I've added the console log for
the DISPLAY_UNITS since there's no particular reason why we log that setting
and not others.

* Fix audit errors, button order (nightscout#5694)

* * Update packages giving npm audit errors
* Fix Mongo test that broke after update (now uses async/await on getting the connection)
* Restore original navigation bar button order

* Disable Node 10 tests

* Fix temporary target cancellation

* Added documentation on the use of Alpha Testing (nightscout#5784)

* Wip/bewest/mmconnect eu (nightscout#5731)

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* hotfix attempt 2 - carelink 2020 sso updates

* hotfix 3 - attempt 3 at carelink 2020 sso updates

* attempt 4 at hotfix for nightscout

Based on more reliable version of minimed-connect-to-nightscout....
This is testing the hotfix.  When it works, we will bump this one more
time with the newly released version.

Co-authored-by: Sulka Haro <sulka@sulka.net>

* * Updated several packages to remove issues from NPM audit
* Fix excess logging in settings.js
* Removed heapdump package, which was causing issues for some users

* * Limit the default number of profiles returned by the API to fix issues with users who are syncing a large amount of profiles from an APS.
* Fix profile reporting

* Upgrade Helmet to 4.0.0

* CSP and service worker improvements (nightscout#5856)

* Add connectSrc for Safari compatibiity
* Add new font URL for Google Fonts compatibility
* Reload on re-registering the worker
* Change Mongo version in github to fix builds

* Serve the CSP to everyone

* Split view CSP support (nightscout#5864)

* Parse split view frames into frameAncestors

* Re-enable CSP configuration (nightscout#5867)

* Re-enable CSP configuration

* Bump share2nightscout-bridge plugin

Use latest update from share2nightscout bridge to
make things easier.  It contains an updated
default for OUS users.

* feat Add robots.txt to disallow site crawling

* Fix dbsize for usage with Atlas (nightscout#5962)

* Openaps performance improvement (nightscout#5945)

* improve openaps plugin performance

* more performance improvements

(cherry picked from commit 076a2dd)

* correct setting notEnacted variable

* remove unnecessary debug logging

* Adapt to MongoDB Atlas (nightscout#5893)

* Fix Issue nightscout#5763 - Change $.ajax to /api/v1/profile (nightscout#5704)

* Bug fixes for Service Worker (nightscout#5970)

* Fix service worker refresh for Firefox

* Improve logging for service worker initialisation

* Skip browser cache for service worker precaching

* Prevent `Partial Content` responses in `fetch` by stripping `Range` header

* Prevent calling `filter` on an undefined property when service worker cache is empty

* Bug fixes for Service Worker

*    Fixes nightscout#5920
*    Fixes nightscout#5943

* Update service-worker.js

Removed the MP3 files from the preload to fix issues with webkit-based browsers

Co-authored-by: p5nbTgip0r <cb3f02c5@opayq.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>

* Optimize Nightscout database usage (nightscout#5947)

* On periodic polls, only load delta for CGM data, treatments and device statuses
* Serve basic CGM data API queries from in-memory cache. Increases the Nightscout memory footprint but should significantly reduce the Mongo load
* Serve device status, CGM and treatment records from memory cache
* Support count parameter in /profile

* Bumping version to 14.0.0 given this is a relatively large update and we want people on Atlas to all migrate to this version

* Remove logging statements

* fix brushing recursion

* Normalize treatments to support absolute doses from the amount field

* Add Loop Carbs foodType, absorptionTime to Reports for ISSUE nightscout#5701 (nightscout#5702)

* add carb foodType, absorptionTime to reports

* Update README to point to new docs

* Fix `Treatments` report for `mmol/L` users

Fixed a typo to a client function name

* Bump version to 14.0.1

* Bump dev to 14.0.2

* Serve Last-Modified header for the service worker to help with some browsers misdetecting caching

* Cleaned old appcache references

* * Remove unnecessary logging to help with Papertrail limits
* Load more treatments and entries to fix caching issues (need to add better cache invalidation to really fix this)

* When merging inserts and updates from the database, ensure we always use the new data over the old data

* Bump treatment delta loading to four hours

* One more increase to treatment load time to cover long overrides

* * Bump version to 14.0.3
* Fix a bug in the REST API query for profiles

* Bumped up the number of treatments loaded / day for reporting

* Fix reports unit test

* Bump treatments default limit default to 1000 objects for queries that include other query parameters

* * Require created_at for Treatments on insert
* Refactoring the cache: moved to another file and support flushing from bus events

* Add support for CGM data and device statuses. Refactor dataloader to use the new model and reduce queries back down

* Fix data order for REST API

* * Add cache update events to websocket API
* Remove the validation for created_at in REST API ;(

* Remove excess logging

* Bump version to .4

* Bump version to 14.0.5 and fix nightscout#6050

* Fix Pebble API detecting mmol units from settings

* Make settings parsing whitespace tolerant

* * Fix security test
* Change boot and caching to expose Mongo connection errors

* Don't report an error on every reconnect

* Less intimidating error page on start, which also checks for api_secret

* Add file missing from last commit

* Fix tests

* Remove require statement breaking deploys

* Update --feature-request--.md

* Update --bug-report.md

* Update --individual-troubleshooting-help.md

* Fix memory leak and cache update issues in 14.0.4 (nightscout#6133)

* Fix a memory leak in 14.0.4
* Fix linter error in ddata.js
* Move data retention periods to caching
* Update _id of inserted entries and device status so merging to cache works correctly
* Reset the data in ddata before updating
* Fix typo on entry cache retention period
* Have device status cache retention period follow configuration
* Fix _id injection in treatments

* Add error cat to error page

* Fix MONGODB_URI reference in error message

* Bump version to 14.0.6

* Support uploading device statuses in batches (nightscout#6147)

* Support uploading device statuses in batches
* Correctly report batch insertion results

* Make empty cache detection a bit more aggressive to account for cache flush and data insert happening concurrently

* Update README.md

Explicitly link to the application template in Github

Co-authored-by: inventor96 <inventor96@gmail.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>
Co-authored-by: Jeremy Cunningham <34543464+jpcunningh@users.noreply.github.com>
Co-authored-by: PetrOndrusek <petr-ondrusek@seznam.cz>
Co-authored-by: Caleb <inventor96@users.noreply.github.com>
Co-authored-by: Diabetlum <44998140+diabetlum@users.noreply.github.com>
Co-authored-by: Willem Fibbe <fibbers@gmail.com>
Co-authored-by: John Weston <unsoluble@me.com>
Co-authored-by: ireneusz-ptak <31506973+ireneusz-ptak@users.noreply.github.com>
Co-authored-by: Lukas Herzog <git@lukasherzog.de>
Co-authored-by: Jeremy Cunningham <jpcunningh@gmail.com>
Co-authored-by: Jake Bloom <jake@steady.health>
Co-authored-by: David Jansson <david.jansson81@gmail.com>
Co-authored-by: fedor apanasenko <apanasef@gmail.com>
Co-authored-by: Jakob Sandberg <jakobs@zillowgroup.com>
Co-authored-by: Jakob <jakobsandberg95@gmail.com>
Co-authored-by: Asbjørn Aarrestad <asbjorn@aarrestad.com>
Co-authored-by: lixgbg <henrik.sjostrand@gmail.com>
Co-authored-by: Harmjan Greving <harmjan@dynasign.nl>
Co-authored-by: Bluefox <dogafox@gmail.com>
Co-authored-by: Cas Eliëns <cas.eliens@gmail.com>
Co-authored-by: Tanja <7403966+tanja3981@users.noreply.github.com>
Co-authored-by: Bartłomiej Szubert <bartlomiejszubert@gmail.com>
Co-authored-by: Andrew Dixon <andrew@andrewdixon.co.uk>
Co-authored-by: Petr Ondrusek <34578008+PetrOndrusek@users.noreply.github.com>
Co-authored-by: Lukas Herzog <mail@lukasherzog.de>
Co-authored-by: jonfawcett <38429455+jonfawcett@users.noreply.github.com>
Co-authored-by: Jonas Hummelstrand <jonas@hummelstrand.com>
Co-authored-by: peterleimbach <peterleimbach@icloud.com>
Co-authored-by: Adam Harrison <adamaharrison@gmail.com>
Co-authored-by: Dominik Dzienia <dlvoy@users.noreply.github.com>
Co-authored-by: stephencmorton <17858976+stephencmorton@users.noreply.github.com>
Co-authored-by: Simon Persson <simon@akep.se>
Co-authored-by: Cas Eliëns <cas.eliens@isaac.nl>
Co-authored-by: Ben West <bewest@gmail.com>
Co-authored-by: Matthew <mtfoley.mae@gmail.com>
Co-authored-by: josep1972 <joseangelparedesd@gmail.com>
Co-authored-by: fromorbonia <3193811+fromorbonia@users.noreply.github.com>
Co-authored-by: VIS TFS Admin <liveid@visualsolution.co.uk>
Co-authored-by: joracine <joracine@users.noreply.github.com>
Co-authored-by: Alexandre Viau <alexandre@alexandreviau.net>
Co-authored-by: Lennart Goedhart <lennart@omnibase.com.au>
Co-authored-by: p5nbTgip0r <cb3f02c5@opayq.com>
Co-authored-by: kskandispersonal <kskandis@live.com>
librarianmage pushed a commit to librarianmage/cgm-remote-monitor that referenced this pull request Nov 2, 2020
* Performance fixes (nightscout#5134)

* Further fixes to profile data fetches, change the client to not create excessive amount of date objects

* Sort entries once on load and then rely on the sorting to find out the largest and smallest value

* Make the renderer reuse Date objects instead of instantiating a huge amount of dates all the time

* Don't load retro data if not needed. Merge retro data faster if it's present. (nightscout#5141)

* Updated Alexa template to comply with new requirements

* Load data in one pass (nightscout#5142)

* Fix layouting and load data in one go. Bonus points if you can fix the rendering for this

* fix focus target lines and high and low lines

* Remove debug logging. Change profile functions to clear the cache on new data, instead of calculating heavy hashes

* Remove unused code

* Fix tests

* Have Travis run tests on Node 10 and 12, not 13

* D3 Upgrade Residual Cleanup (nightscout#5140)

* fix forecast limit logic

(cherry picked from commit e88ce7e5d1f5fb12c71ae67da4131ff1a50940c9)

* fix minimum focus forecast time

* make min forecast 30 min

* fix forecast time max to client focusRangeMS instead of 30 min (nightscout#5143)

* Fix initial forecast point display

* Fix forecast time randomly resetting to 30 minutes for openaps users

* Stop Focus Circles from Eating Entries (nightscout#5145)

* stop focus circles from eating entries

* fix forecastCircles remove

* resolve possible key collision

* Fixes a major bug where plugins were ran against a sandbox twice, causing issues with predictions. Fixes the look ahead timings.

* Fix forecast behaviour (nightscout#5160)

* stop focus circles from eating entries

* fix forecastCircles remove

* resolve possible key collision

* Fixes a major bug where plugins were ran against a sandbox twice, causing issues with predictions. Fixes the look ahead timings.

* Refactor of how prediction data is collected

* Update node pushover library to fix crash in case Pushover service is down

* adding list of supported APIs versions (GET /api/versions)

* Fixed a few missing definitions

* API3: add locking documents using isReadOnly flag

* Translation improvements

* Defined `translate()` in upbat plugin

* Migrated titles to use translate()

* Migrated static intent titles to use translate()

* Misc fixes for tests (even though they didn't fail 🤔)

* API3: testing isReadOnly feature

* API3: more readonly field name variants

* Added instructions on how to update skills/agents

* fix devicestatus retro merge (nightscout#5193)

* Turkish language updates (nightscout#5192)

* Turkish language updates

* in to Languages Part Turkish added

* in to Languages Part Turkish added

* Fix falsely suspended timeago alarms (nightscout#5170)

* Fix continuous suspension of the timeago alerts

The default hearbeat-setting is 60 seconds, so the delta between two
timeago-checks will always be >15 seconds and the timeago-alarms will
always be suspended (that's what Papertrail also shows).

To fix this, make the delta-check heartbeat-setting-dependant and also simplify
the code by using just 1 variable.

* Add test that verifies the hibernation detection behaviour

The real-world test would be to actually wait for a couple of minutes (with 2 *
heartbeat of default settings) in the unit test, but this is not feasible, so
just modify the heartbeat-setting to a lower value.

I tested it by only running tests inside `tests/timeago.test.js` and by actually
deploying this code and testing the alarms with Pushover and reading the logs in
Papertrail.

Before this change, I saw a 'Hibernation detected' log every minute. After this
change, I didn't see it anymore, probably because the app wasn't actually
hibernated (yet).

* Take sulkaharo's feedback into account and differentiate
between client and server (by introducing it in sandbox.js).

On the client the behaviour is different from the server:

> On client, the issue is browsers stop the execution of JS if the window is not
> visible and the alarm is falsely triggered immediately when the execution is
> resumed, so we need to suspend the alarm for ~10 seconds after the execution has
> resumed to give the client time to update the data to prevent false alarms.

While on the server, the default heartbeat from 60s needs to be taken
into account to prevent the timeago alarm from falsely triggering.
So detect hibernation there if the last check was more than 2 heartbeats ago.

* Fix the tests by adding settings to the context,
which is now required by timeago.

Also, change the timeago test a bit so that it both succeeds
when testing in isolation as when testing it along with the other tests.

* Adding to nightscout#5121 (nightscout#5126)

* changed gitter shield to discord

* changed discord shield text to discord chat instead of just chat

* changed gitter shield to discord

* need to fix my md error

* Update CONTRIBUTING.md

Few more tweaks

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update README.md

Change Discord URL to be an invite link instead of a direct link to the channel (which doesn't work if you're not already in it).

* Extra info (delta and last measurement time) on clock view.  (nightscout#5151)

* Parametrized clock view

* Parametrized clock view

* Wording tweaks to go with nightscout#4810 (nightscout#4866)

* mmol/L wording tweak in Readme

* Various wording & clarity tweaks in the Readme

* Heroku template update to reflect mmol allowance tweak

* Update README.md

* Update minimum device requirements

Ran some proper browser test suites, determined actual minimum specs for the main site.

* GitHub actions build (nightscout#5168)

* Run tests using GitHub Actions

* Node 10

* Test CI fails

* Use npm to run tests

* Fix package json to run tests

* Enable v3 TEST api for both development env and CI

* Run CI on both Node 10 and 12

* Allow downgrading Mongo

* Move the units configuration detection to a place where it's guaranteed to catch all invocations

* Fix the check for environments without the units setting

* Rename xdrip-js to xdripjs (nightscout#4959)

* rename xdrip-js to xdripjs

* update readme for xdrip-js name change

* update from CGM to XDRIPJS label

* change label from all caps to mixed case for xDripJS

* change pill label back to CGM

* Added customization step for Alexa skill updates

* Language Update: added missing German Translations (nightscout#5172)

* language Update devicestatus collection

* language Update Admin-Tools

* changed wording for admin authorization

* typo corrected (admin auth)

* language Updates for Admin Tools database cleanups

* Don't use dynamic scale unless entries in database (nightscout#5195)

* don't use dynamic scale unless have entries

* fix report crash when no entries

* set forecastTime correctly when no entries present

* Language Matters: change "Normal" to "In Range" in glucose distribution reports

* Added/updated TOC's

* set auth dialog width to client width if smaller than default width

* More hebrew translations

* Added note regarding the use of the Alexa online simulator

* fix focus scale hour format

* trip open-top size to fit

* fix clearing alarming when clearning CurrentSGV

* do not set direction if not current

* Handled 0 for pump reservoir

* rollback npm-shrinkwrap.json

* Fix for distributionpage

bug that caused hour 23 to always be active even after uncheck

* Russian translation update edit

* Use default entries count instead of distributed number literals

* Handle mmol to mgdl conversions with a constant reference (nightscout#5274)

* Added sanity check for the bridge interval value (nightscout#4717)

* Added sanity check for the bridge interval value, setting minimum allowed value to 30 seconds and maximum to 5 minutes. This is to avoid input of very low values which might overload the dexcom servers.

* Added missin ';'

* Fixed typoe in comment

* Added test for default interval (not set in config)

* Set lower limit to 1 second

* Use auth tokens in api-secret (nightscout#5214)

* Allow auth tokens to be passed in the api-secret header and used in the client in place of the API secret

* Fix unit test

* Fix admin test

* Reload page when token is used as a secret

* Fix dependency vulnerabilities

* Added basal and bolus averages besides TDD and carbs (nightscout#4216)

* Remove the leading 0 from the version, so we can comply to how version numbering should really work

* Removed unsused var ic (nightscout#5288)

* Use constants instead of number literals for http status codes (nightscout#5276)

* Updated release name and number (nightscout#5280)

* Allow use cgm-remote-monitor as npm package. (nightscout#4847)

To use cgm-remote-monitor as npm package, the main attribute is required.

* Add 4 hour option to view (nightscout#5289)

* Revert "change default back to 3HR"

This reverts commit e60ff3a.

* shorten HR to H to avoid line-wrapping on mobile

* try larger label font: 35 instead of 25 (vs. 40)

* add comma

* deviceInfo.recent null check

* default back to 3, w/ 4 as an option

* re-add H to single-digit hours

* * Don't use cache manifest all all for development
* Add 4 hours option to view and change the labelling to remove language issues
* Have page scale the minor pill widths more gracefully

* [Clock] Fix incorrect delta calculation (nightscout#5286)

* Fix !delta check for delta == 0

* Fixed delta comparison

* Hide unit suffix for SMBs issued by AndroidAPS (nightscout#4771)

* Fix issues from `npm audit`

* Read BG targets in using mmol when server is in mmol mode (nightscout#5291)

* Read BG targets in using mmol when server is in mmol mode

* Change the Heroku template to match the new logic

* Deal with mmol targets being set using commas

* Unbreak JSON serialization failing on the /properties API due to circular data reference

* Bump version to 13.0.0

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Release 13.0.1 (nightscout#5329)

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Bump version to 13.0.2-dev

* fix some random test failures (nightscout#5341)

* fix some random test failures

* use typeof to test for existence

* Added support for asking delta

* Added time reference

* Made delta reading more informative

* Corrected time reference

* Try shortening the response

* Revert attempt

* Updated templates and documentation

* Minor improvement in response when delta is 0

* German translations improved and added (nightscout#5360)

* Fix Alexa Launch and SessionEnded Requests (nightscout#5377)

* Fix Alexa Launch Request

* Allow LaunchRequest to handle intent if set, change shouldEndSession from string to bool

* Fix SessionEndedRequest

* Fix nightscout#5149 - discord link on CONTRIBUTING.md doesn't do anything (nightscout#5380)

* Fix nightscout#5146 - display of treatment with only Fat and Protein set (nightscout#5381)

* Basic report page style fixes and updates (nightscout#5387)

* Add missing Polish translations and improve existing (nightscout#5382)

* Add missing Polish translations and improve existing

* Improve translations

* Addressed virtual assistant usage with Authentication Roles (nightscout#5388)

* Fix nightscout#5347 - Addressed auth roles

* Unification

* Fix timeago alarms (again). The changes to the rendered had an unintended consequence of triggering the timeago detection less frequently, causing the code to think the client has been hibernating, thus suppressing the alarms. The update changes the clock to be updated more frequently (this updating the hibernation detection), fixing the issue

* Remove the server side test

* Fix Graph Display Without Recent Devicestatus (nightscout#5409)

* Update Russian (nightscout#5415)

Corrected major and minor misprints and mistakes - particularly in variables, new translations added

* Add server teardown ability (nightscout#5410)

* adding teardown event to ctx.bus

* adding teardown support for mmconnect and bridge plugins

* Additional German Translations and corrections (nightscout#5405)

* Cleaned up changed translations

* Added Virtual Assistant Translations

* Fix nightscout#5188 - move predictions to bundle and don't render chart on predictions offset change (nightscout#5395)

* Fix nightscout#5188 - move predictions to bundle and don't render chart on predictions offset change

* Fix predictions show for day to day

* Move toolbar and authentication status to partial and include on each page (nightscout#5393)

* Move authentication status to partial and include on each page

* Move toolbar to partial

Co-authored-by: Sulka Haro <sulka@sulka.net>

* Virtual assistant code simplification (nightscout#5400)

* Moved duplicate plugin code to single location, and small improvements

* Defined _each()

* Pr/5379 (nightscout#5441)

* Release 13.0.1 (nightscout#5329)

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Added handlers and translations for CGM info

* Defined translate()

* Fixed sensor state reference

* Improved wording for tx age response

* Improved wording for session duration response

* Updated documentation and templates

* Updated README.md TOC and a reference to it

* Added CGM battery info

* Added unit reference to CGM battery levels

* Added handlers and translations for CGM info

* Defined translate()

* Fixed sensor state reference

* Improved wording for tx age response

* Improved wording for session duration response

* Updated documentation and templates

* Updated README.md TOC and a reference to it

* Added CGM battery info

* Added unit reference to CGM battery levels

* Updated API reference in Google Home template

Co-authored-by: Caleb <inventor96@users.noreply.github.com>

* Volunteer for Polish translations (nightscout#5396)

* Api3 output renderers (nightscout#5425)

* APIv3: adding framework for various output renderers

* APIv3: adding xml output renderer

* APIv3: adding csv output renderer

* APIv3: documenting supported output renderers

* APIv3: testing output renderers

* Restore glucose distribution test (nightscout#5434)

* Increase coverage of tests on units utility and clean up timeago test (nightscout#5435)

* Increase coverage of tests on units utility

* clean up timeago test

* Refactor to encapsulate duplicated settings logic (nightscout#5426)

* Encapsulate duplicate settings checks inside functions

* Simplify settings::isAlarmEventEnabled()

* Send coverage reports to Codacy (nightscout#5444)

* Send coverage reports to Codacy

* Action secrets may not be read from forks :(

* Let's see if this fixes the path & key passing

* Ok one more try for the Actions env

* Run tests and coverage separately

* Try increasing the admintools test runtime for Node 10

* Run tests only once

* Resolve unnecessary uses of eslint-ignore (nightscout#5436)

* Resolve unnecessary disabling of no-undef eslint rule

* Resolve unnecessary disabling of no-prototype-builtins eslint rule

* Resolve unnecessary disabling of no-unused-vars eslint rule

* Resolve unnecessary disabling of no-empty eslint rule

* Fix eslint errors and add npm script for eslint (nightscout#5427)

* re-enable auth check for device status routes

* Resolve eslint errors

* Add npm script for eslint

* Correct regex for express extension middleware and add tests for expected behaviour

* Resolve lint error in virtual assistant base

* Update index.js

* Update index.js

* Remove redundant checks on entry ID (nightscout#5440)

* Run CI Action for Pull Requests

* Update DayToDay report for Loop Overrides (nightscout#5452)

Add Loop override name/reason as text to the grey bar at the top of the graph.

* Fix earlier merge error with predictions having moved to the report bundle

* fix brushing loop (nightscout#5499)

* Update README.md (nightscout#5480)

Clarified that the "bridge" plugin is for Dexcom Share ("Dexcom" didn't appear at all in the read me), fixed a few typos, and added line 444 about the BRIDGE_SERVER variable.

* Added period of days into headline of glucose distribution and percen… (nightscout#5428)

* Added period of days into headline of glucose distribution and percentil chart report

I make screencopies of the glucose distribution and percential chart report for my diabtes consultant and had to manually add the period of days to the report everytime because it was not shown in the report itself.
I added the period of days this with a small number of lines of code and think this is helpful for other too.

* removed comments as requested

removed comments as requested

* Camelcase for new variables reportPlugins, firstDay, lastDay, countDays

* forget to save the change of reportPlugins in percentile.js

* Move app caching to a service worker (nightscout#5504)

* Move app caching to a webworker

* Code cleanup

* Code cleanup

* Make Codacy happy

* More parentheses

* Added indexes to 'entries' and 'treatments' along with other updates (nightscout#5463)

* Added compound indexes for treatments and entries collections. Updated ensureIndex to createIndex in mongo-strage.js as ensureIndex has been deprecated. Finally, updated testing/populate.js to be compatible with more recent versions of the node driver, as well as fixing a path issue.

* Fixed missing end quote in lib/server/treatments.js. Changed all newly added double quotes to single quote to match style guide.

* Removed indexes that referenced key600.

* Fix: Round interporlated mg/dL value to an integer

* Plugin to show database size (% of available space or in MiB) (nightscout#5496)

* Database size plugin - pill that displays current mongoDB database size

* Enabled dbsize by default

* Fixed bug with dbsize not shownig when size is (rounded) 0% but real bytes > 0

* Cleanup & update to iconfont generation manual

* Changed how warning/urgent levels are configured - from absolute MiB to percentage of DBSIZE_MAX

* Trying to fix random fail of APIv3 tests (nightscout#5519)

* APIv3: isolating documents from tests (not allowing clashes of calculated identifiers)

* removing unused async keyword

* client - mobile - Axis label font is scaled on small screens (nightscout#5512)

On phones or other small screens, the axis labels (especially x axis)
were previously an unreadable jumble of too-close letters

* Split view (nightscout#5518)

* Adds a 2, 3, 4 and 8 way split view option

* Updated description

* Generate the table on demand, so any number of sites from 1 to 8 generates a sensible layout

* Update readme & don't crash if a name is missing

* Allow flagging specific settings to be not exposed the /properties and /status APIs (nightscout#5525)

* Add more variables to the special list

* [DEV][FIX] Fix dbsize plugin to make it hideable again (nightscout#5529)

* [FIX] Making dbsize plugin default but hideable - removed its forced show state

* Removed unused lodash dependency

* Removed duplicate if statement (nightscout#5531)

Removed the additional if statement checking for the loop specific developer team id. This since the exact same if statement existed just above it.

* Update Dutch translations (nightscout#5532)

* Fix settings test

* Update version to 13.1.0

* Fix topbar collapse on small screens (nightscout#5562)

* Fix top bar collapsing on small screens

* Fix wide button array overflowing the button bar

* Option to switch off bolus amount outputs (nightscout#5522)

* Option to switch off bolus amount outputs (nightscout#5514)

* Fixing issue with carb value not be output when set to "none" (nightscout#5514)

* Adding additional output options (nightscout#5514)

* Adding environment variable option for 'x U and Over' option.

This option is BOLUS_RENDER_OVER with a default value of 1 and the value can be an integer or a float, e.g. 0.3, 1.5, 2, etc...

* Adding change to change the font size depending on the bolus value.

* Merge two "all" options to create an option that displays as SMB had.

* Fix d3 portrait to landscape brush failure (nightscout#5638)

* fix d3 portrait to landscape brush failure

* fix client.renderer.test for highlighBrushPoints function prototype change

* fix highlightBrush

* move brush reset inside check for valid brush

* Sanitize data from manual careportal entries so only fields with actual data are sent to the server (nightscout#5619)

* do not redirect to profile editor by default (nightscout#5671)

In a default configuration, there is no treatment data.  The code to redirect
the UI to the profile editor is buried deep within the chart rendering code for
basals.  This plugin is only supposed to go into action when enabled via
ENABLE=basal.  This commit fixes first-use experience for the default
configuration intended to draw real-time CGM traces and no basal information is
expected.  Since no basal information is expected unless plugin is enabled via
ENABLE=basal, this allows skipping instead of redirecting to the profile editor.

* Fix Issue nightscout#5486 - Device Status Days Feature (nightscout#5651)

* Device Status Days Feature

* Edits per review from @sulkaharo

* Configurable clock views (nightscout#5625)

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Update README.md

* Update README.md

* Configurable clock views

* Add remote bolus/carbs + otp entry for loop (nightscout#5598)

Add a remote bolus entry field for users on Loop, along with support for an OTP field

* Sometimes at the very start no profiles provided. (nightscout#5591)

At the first start the nightscout is crashed if profile not full.

* Fixes nightscout#4991 - Now selects basal profile based day by day (nightscout#5572)

* Test profile settings

* NPM Version change

* Use console log

* Use console log for client

* Use console log for client.sbx

* Use console log for client.ddata

* Use console log for client again

* revert

* Added multi-profile reporting capabilities

Co-authored-by: VIS TFS Admin <liveid@visualsolution.co.uk>

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* hotfix attempt 2 - carelink 2020 sso updates

* hotfix 3 - attempt 3 at carelink 2020 sso updates

* attempt 4 at hotfix for nightscout

Based on more reliable version of minimed-connect-to-nightscout....
This is testing the hotfix.  When it works, we will bump this one more
time with the newly released version.

* hotfix 5 - incorporates latest axios changes

* Fix for boluscalc issue (nightscout#5729)

Boluscalc fix & remove integer validation from BG input field

* npm install --save minimed-connect-to-nightscout@^1.4.0

* Change DISPLAY_UNITS to use readENV's default value and added several tests for DISPLAY_UNITS (nightscout#5708)

readENV() was hard coding the default value of DISPLAY_UNITS, and
ignoring the default value for no particular reason. Fixed that. Also, I
added a full test suite for DISPLAY_UNITS environment settings to make
sure that it works as intended. Finally, I've added the console log for
the DISPLAY_UNITS since there's no particular reason why we log that setting
and not others.

* Fix audit errors, button order (nightscout#5694)

* * Update packages giving npm audit errors
* Fix Mongo test that broke after update (now uses async/await on getting the connection)
* Restore original navigation bar button order

* Disable Node 10 tests

* Fix temporary target cancellation

* Added documentation on the use of Alpha Testing (nightscout#5784)

* Wip/bewest/mmconnect eu (nightscout#5731)

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* hotfix attempt 2 - carelink 2020 sso updates

* hotfix 3 - attempt 3 at carelink 2020 sso updates

* attempt 4 at hotfix for nightscout

Based on more reliable version of minimed-connect-to-nightscout....
This is testing the hotfix.  When it works, we will bump this one more
time with the newly released version.

Co-authored-by: Sulka Haro <sulka@sulka.net>

* * Updated several packages to remove issues from NPM audit
* Fix excess logging in settings.js
* Removed heapdump package, which was causing issues for some users

* * Limit the default number of profiles returned by the API to fix issues with users who are syncing a large amount of profiles from an APS.
* Fix profile reporting

* Upgrade Helmet to 4.0.0

* CSP and service worker improvements (nightscout#5856)

* Add connectSrc for Safari compatibiity
* Add new font URL for Google Fonts compatibility
* Reload on re-registering the worker
* Change Mongo version in github to fix builds

* Serve the CSP to everyone

* Split view CSP support (nightscout#5864)

* Parse split view frames into frameAncestors

* Re-enable CSP configuration (nightscout#5867)

* Re-enable CSP configuration

* Bump share2nightscout-bridge plugin

Use latest update from share2nightscout bridge to
make things easier.  It contains an updated
default for OUS users.

* feat Add robots.txt to disallow site crawling

* Fix dbsize for usage with Atlas (nightscout#5962)

* Openaps performance improvement (nightscout#5945)

* improve openaps plugin performance

* more performance improvements

(cherry picked from commit 076a2dd)

* correct setting notEnacted variable

* remove unnecessary debug logging

* Adapt to MongoDB Atlas (nightscout#5893)

* Fix Issue nightscout#5763 - Change $.ajax to /api/v1/profile (nightscout#5704)

* Bug fixes for Service Worker (nightscout#5970)

* Fix service worker refresh for Firefox

* Improve logging for service worker initialisation

* Skip browser cache for service worker precaching

* Prevent `Partial Content` responses in `fetch` by stripping `Range` header

* Prevent calling `filter` on an undefined property when service worker cache is empty

* Bug fixes for Service Worker

*    Fixes nightscout#5920
*    Fixes nightscout#5943

* Update service-worker.js

Removed the MP3 files from the preload to fix issues with webkit-based browsers

Co-authored-by: p5nbTgip0r <cb3f02c5@opayq.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>

* Optimize Nightscout database usage (nightscout#5947)

* On periodic polls, only load delta for CGM data, treatments and device statuses
* Serve basic CGM data API queries from in-memory cache. Increases the Nightscout memory footprint but should significantly reduce the Mongo load
* Serve device status, CGM and treatment records from memory cache
* Support count parameter in /profile

* Bumping version to 14.0.0 given this is a relatively large update and we want people on Atlas to all migrate to this version

* Remove logging statements

* fix brushing recursion

* Normalize treatments to support absolute doses from the amount field

* Add Loop Carbs foodType, absorptionTime to Reports for ISSUE nightscout#5701 (nightscout#5702)

* add carb foodType, absorptionTime to reports

* Update README to point to new docs

* Fix `Treatments` report for `mmol/L` users

Fixed a typo to a client function name

* Bump version to 14.0.1

* Bump dev to 14.0.2

* Serve Last-Modified header for the service worker to help with some browsers misdetecting caching

* Cleaned old appcache references

* * Remove unnecessary logging to help with Papertrail limits
* Load more treatments and entries to fix caching issues (need to add better cache invalidation to really fix this)

* When merging inserts and updates from the database, ensure we always use the new data over the old data

* Bump treatment delta loading to four hours

* One more increase to treatment load time to cover long overrides

* * Bump version to 14.0.3
* Fix a bug in the REST API query for profiles

* Bumped up the number of treatments loaded / day for reporting

* Fix reports unit test

* Bump treatments default limit default to 1000 objects for queries that include other query parameters

* * Require created_at for Treatments on insert
* Refactoring the cache: moved to another file and support flushing from bus events

* Add support for CGM data and device statuses. Refactor dataloader to use the new model and reduce queries back down

* Fix data order for REST API

* * Add cache update events to websocket API
* Remove the validation for created_at in REST API ;(

* Remove excess logging

* Bump version to .4

* Bump version to 14.0.5 and fix nightscout#6050

* Fix Pebble API detecting mmol units from settings

* Make settings parsing whitespace tolerant

* * Fix security test
* Change boot and caching to expose Mongo connection errors

* Don't report an error on every reconnect

* Less intimidating error page on start, which also checks for api_secret

* Add file missing from last commit

* Fix tests

* Remove require statement breaking deploys

* Update --feature-request--.md

* Update --bug-report.md

* Update --individual-troubleshooting-help.md

* Fix memory leak and cache update issues in 14.0.4 (nightscout#6133)

* Fix a memory leak in 14.0.4
* Fix linter error in ddata.js
* Move data retention periods to caching
* Update _id of inserted entries and device status so merging to cache works correctly
* Reset the data in ddata before updating
* Fix typo on entry cache retention period
* Have device status cache retention period follow configuration
* Fix _id injection in treatments

* Add error cat to error page

* Fix MONGODB_URI reference in error message

* Bump version to 14.0.6

* Support uploading device statuses in batches (nightscout#6147)

* Support uploading device statuses in batches
* Correctly report batch insertion results

* Make empty cache detection a bit more aggressive to account for cache flush and data insert happening concurrently

* Update README.md

Explicitly link to the application template in Github

* Create config.yml

* Delete --individual-troubleshooting-help.md

* Update config.yml

Co-authored-by: Sulka Haro <sulka@sulka.net>
Co-authored-by: inventor96 <inventor96@gmail.com>
Co-authored-by: Jeremy Cunningham <34543464+jpcunningh@users.noreply.github.com>
Co-authored-by: PetrOndrusek <petr-ondrusek@seznam.cz>
Co-authored-by: Caleb <inventor96@users.noreply.github.com>
Co-authored-by: Diabetlum <44998140+diabetlum@users.noreply.github.com>
Co-authored-by: Willem Fibbe <fibbers@gmail.com>
Co-authored-by: John Weston <unsoluble@me.com>
Co-authored-by: ireneusz-ptak <31506973+ireneusz-ptak@users.noreply.github.com>
Co-authored-by: Lukas Herzog <git@lukasherzog.de>
Co-authored-by: Jeremy Cunningham <jpcunningh@gmail.com>
Co-authored-by: Jake Bloom <jake@steady.health>
Co-authored-by: David Jansson <david.jansson81@gmail.com>
Co-authored-by: fedor apanasenko <apanasef@gmail.com>
Co-authored-by: Jakob Sandberg <jakobs@zillowgroup.com>
Co-authored-by: Jakob <jakobsandberg95@gmail.com>
Co-authored-by: Asbjørn Aarrestad <asbjorn@aarrestad.com>
Co-authored-by: lixgbg <henrik.sjostrand@gmail.com>
Co-authored-by: Harmjan Greving <harmjan@dynasign.nl>
Co-authored-by: Bluefox <dogafox@gmail.com>
Co-authored-by: Cas Eliëns <cas.eliens@gmail.com>
Co-authored-by: Tanja <7403966+tanja3981@users.noreply.github.com>
Co-authored-by: Bartłomiej Szubert <bartlomiejszubert@gmail.com>
Co-authored-by: Andrew Dixon <andrew@andrewdixon.co.uk>
Co-authored-by: Petr Ondrusek <34578008+PetrOndrusek@users.noreply.github.com>
Co-authored-by: Lukas Herzog <mail@lukasherzog.de>
Co-authored-by: jonfawcett <38429455+jonfawcett@users.noreply.github.com>
Co-authored-by: Jonas Hummelstrand <jonas@hummelstrand.com>
Co-authored-by: peterleimbach <peterleimbach@icloud.com>
Co-authored-by: Adam Harrison <adamaharrison@gmail.com>
Co-authored-by: Dominik Dzienia <dlvoy@users.noreply.github.com>
Co-authored-by: stephencmorton <17858976+stephencmorton@users.noreply.github.com>
Co-authored-by: Simon Persson <simon@akep.se>
Co-authored-by: Cas Eliëns <cas.eliens@isaac.nl>
Co-authored-by: Ben West <bewest@gmail.com>
Co-authored-by: Matthew <mtfoley.mae@gmail.com>
Co-authored-by: josep1972 <joseangelparedesd@gmail.com>
Co-authored-by: fromorbonia <3193811+fromorbonia@users.noreply.github.com>
Co-authored-by: VIS TFS Admin <liveid@visualsolution.co.uk>
Co-authored-by: joracine <joracine@users.noreply.github.com>
Co-authored-by: Alexandre Viau <alexandre@alexandreviau.net>
Co-authored-by: Lennart Goedhart <lennart@omnibase.com.au>
Co-authored-by: p5nbTgip0r <cb3f02c5@opayq.com>
Co-authored-by: kskandispersonal <kskandis@live.com>
aslzo added a commit to aslzo/cgm-remote-monitor that referenced this pull request Dec 13, 2020
* mgdl -> mg/dl

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Bump version to 13.0.2-dev

* fix some random test failures (nightscout#5341)

* fix some random test failures

* use typeof to test for existence

* Added support for asking delta

* Added time reference

* Made delta reading more informative

* Corrected time reference

* Try shortening the response

* Revert attempt

* Updated templates and documentation

* Minor improvement in response when delta is 0

* German translations improved and added (nightscout#5360)

* Fix Alexa Launch and SessionEnded Requests (nightscout#5377)

* Fix Alexa Launch Request

* Allow LaunchRequest to handle intent if set, change shouldEndSession from string to bool

* Fix SessionEndedRequest

* Fix nightscout#5149 - discord link on CONTRIBUTING.md doesn't do anything (nightscout#5380)

* Fix nightscout#5146 - display of treatment with only Fat and Protein set (nightscout#5381)

* Basic report page style fixes and updates (nightscout#5387)

* Add missing Polish translations and improve existing (nightscout#5382)

* Add missing Polish translations and improve existing

* Improve translations

* Addressed virtual assistant usage with Authentication Roles (nightscout#5388)

* Fix nightscout#5347 - Addressed auth roles

* Unification

* Fix timeago alarms (again). The changes to the rendered had an unintended consequence of triggering the timeago detection less frequently, causing the code to think the client has been hibernating, thus suppressing the alarms. The update changes the clock to be updated more frequently (this updating the hibernation detection), fixing the issue

* Remove the server side test

* Fix Graph Display Without Recent Devicestatus (nightscout#5409)

* Update Russian (nightscout#5415)

Corrected major and minor misprints and mistakes - particularly in variables, new translations added

* Add server teardown ability (nightscout#5410)

* adding teardown event to ctx.bus

* adding teardown support for mmconnect and bridge plugins

* Additional German Translations and corrections (nightscout#5405)

* Cleaned up changed translations

* Added Virtual Assistant Translations

* Fix nightscout#5188 - move predictions to bundle and don't render chart on predictions offset change (nightscout#5395)

* Fix nightscout#5188 - move predictions to bundle and don't render chart on predictions offset change

* Fix predictions show for day to day

* Move toolbar and authentication status to partial and include on each page (nightscout#5393)

* Move authentication status to partial and include on each page

* Move toolbar to partial

Co-authored-by: Sulka Haro <sulka@sulka.net>

* Virtual assistant code simplification (nightscout#5400)

* Moved duplicate plugin code to single location, and small improvements

* Defined _each()

* Pr/5379 (nightscout#5441)

* Release 13.0.1 (nightscout#5329)

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Added handlers and translations for CGM info

* Defined translate()

* Fixed sensor state reference

* Improved wording for tx age response

* Improved wording for session duration response

* Updated documentation and templates

* Updated README.md TOC and a reference to it

* Added CGM battery info

* Added unit reference to CGM battery levels

* Added handlers and translations for CGM info

* Defined translate()

* Fixed sensor state reference

* Improved wording for tx age response

* Improved wording for session duration response

* Updated documentation and templates

* Updated README.md TOC and a reference to it

* Added CGM battery info

* Added unit reference to CGM battery levels

* Updated API reference in Google Home template

Co-authored-by: Caleb <inventor96@users.noreply.github.com>

* Volunteer for Polish translations (nightscout#5396)

* Api3 output renderers (nightscout#5425)

* APIv3: adding framework for various output renderers

* APIv3: adding xml output renderer

* APIv3: adding csv output renderer

* APIv3: documenting supported output renderers

* APIv3: testing output renderers

* Restore glucose distribution test (nightscout#5434)

* Increase coverage of tests on units utility and clean up timeago test (nightscout#5435)

* Increase coverage of tests on units utility

* clean up timeago test

* Refactor to encapsulate duplicated settings logic (nightscout#5426)

* Encapsulate duplicate settings checks inside functions

* Simplify settings::isAlarmEventEnabled()

* Send coverage reports to Codacy (nightscout#5444)

* Send coverage reports to Codacy

* Action secrets may not be read from forks :(

* Let's see if this fixes the path & key passing

* Ok one more try for the Actions env

* Run tests and coverage separately

* Try increasing the admintools test runtime for Node 10

* Run tests only once

* Resolve unnecessary uses of eslint-ignore (nightscout#5436)

* Resolve unnecessary disabling of no-undef eslint rule

* Resolve unnecessary disabling of no-prototype-builtins eslint rule

* Resolve unnecessary disabling of no-unused-vars eslint rule

* Resolve unnecessary disabling of no-empty eslint rule

* Fix eslint errors and add npm script for eslint (nightscout#5427)

* re-enable auth check for device status routes

* Resolve eslint errors

* Add npm script for eslint

* Correct regex for express extension middleware and add tests for expected behaviour

* Resolve lint error in virtual assistant base

* Update index.js

* Update index.js

* Remove redundant checks on entry ID (nightscout#5440)

* Run CI Action for Pull Requests

* Update DayToDay report for Loop Overrides (nightscout#5452)

Add Loop override name/reason as text to the grey bar at the top of the graph.

* Fix earlier merge error with predictions having moved to the report bundle

* fix brushing loop (nightscout#5499)

* Update README.md (nightscout#5480)

Clarified that the "bridge" plugin is for Dexcom Share ("Dexcom" didn't appear at all in the read me), fixed a few typos, and added line 444 about the BRIDGE_SERVER variable.

* Added period of days into headline of glucose distribution and percen… (nightscout#5428)

* Added period of days into headline of glucose distribution and percentil chart report

I make screencopies of the glucose distribution and percential chart report for my diabtes consultant and had to manually add the period of days to the report everytime because it was not shown in the report itself.
I added the period of days this with a small number of lines of code and think this is helpful for other too.

* removed comments as requested

removed comments as requested

* Camelcase for new variables reportPlugins, firstDay, lastDay, countDays

* forget to save the change of reportPlugins in percentile.js

* Move app caching to a service worker (nightscout#5504)

* Move app caching to a webworker

* Code cleanup

* Code cleanup

* Make Codacy happy

* More parentheses

* Added indexes to 'entries' and 'treatments' along with other updates (nightscout#5463)

* Added compound indexes for treatments and entries collections. Updated ensureIndex to createIndex in mongo-strage.js as ensureIndex has been deprecated. Finally, updated testing/populate.js to be compatible with more recent versions of the node driver, as well as fixing a path issue.

* Fixed missing end quote in lib/server/treatments.js. Changed all newly added double quotes to single quote to match style guide.

* Removed indexes that referenced key600.

* Fix: Round interporlated mg/dL value to an integer

* Plugin to show database size (% of available space or in MiB) (nightscout#5496)

* Database size plugin - pill that displays current mongoDB database size

* Enabled dbsize by default

* Fixed bug with dbsize not shownig when size is (rounded) 0% but real bytes > 0

* Cleanup & update to iconfont generation manual

* Changed how warning/urgent levels are configured - from absolute MiB to percentage of DBSIZE_MAX

* Trying to fix random fail of APIv3 tests (nightscout#5519)

* APIv3: isolating documents from tests (not allowing clashes of calculated identifiers)

* removing unused async keyword

* client - mobile - Axis label font is scaled on small screens (nightscout#5512)

On phones or other small screens, the axis labels (especially x axis)
were previously an unreadable jumble of too-close letters

* Split view (nightscout#5518)

* Adds a 2, 3, 4 and 8 way split view option

* Updated description

* Generate the table on demand, so any number of sites from 1 to 8 generates a sensible layout

* Update readme & don't crash if a name is missing

* Allow flagging specific settings to be not exposed the /properties and /status APIs (nightscout#5525)

* Add more variables to the special list

* [DEV][FIX] Fix dbsize plugin to make it hideable again (nightscout#5529)

* [FIX] Making dbsize plugin default but hideable - removed its forced show state

* Removed unused lodash dependency

* Removed duplicate if statement (nightscout#5531)

Removed the additional if statement checking for the loop specific developer team id. This since the exact same if statement existed just above it.

* Update Dutch translations (nightscout#5532)

* Fix settings test

* Update version to 13.1.0

* Fix topbar collapse on small screens (nightscout#5562)

* Fix top bar collapsing on small screens

* Fix wide button array overflowing the button bar

* Option to switch off bolus amount outputs (nightscout#5522)

* Option to switch off bolus amount outputs (nightscout#5514)

* Fixing issue with carb value not be output when set to "none" (nightscout#5514)

* Adding additional output options (nightscout#5514)

* Adding environment variable option for 'x U and Over' option.

This option is BOLUS_RENDER_OVER with a default value of 1 and the value can be an integer or a float, e.g. 0.3, 1.5, 2, etc...

* Adding change to change the font size depending on the bolus value.

* Merge two "all" options to create an option that displays as SMB had.

* Fix d3 portrait to landscape brush failure (nightscout#5638)

* fix d3 portrait to landscape brush failure

* fix client.renderer.test for highlighBrushPoints function prototype change

* fix highlightBrush

* move brush reset inside check for valid brush

* Sanitize data from manual careportal entries so only fields with actual data are sent to the server (nightscout#5619)

* do not redirect to profile editor by default (nightscout#5671)

In a default configuration, there is no treatment data.  The code to redirect
the UI to the profile editor is buried deep within the chart rendering code for
basals.  This plugin is only supposed to go into action when enabled via
ENABLE=basal.  This commit fixes first-use experience for the default
configuration intended to draw real-time CGM traces and no basal information is
expected.  Since no basal information is expected unless plugin is enabled via
ENABLE=basal, this allows skipping instead of redirecting to the profile editor.

* Fix Issue nightscout#5486 - Device Status Days Feature (nightscout#5651)

* Device Status Days Feature

* Edits per review from @sulkaharo

* Configurable clock views (nightscout#5625)

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Update README.md

* Update README.md

* Configurable clock views

* Add remote bolus/carbs + otp entry for loop (nightscout#5598)

Add a remote bolus entry field for users on Loop, along with support for an OTP field

* Sometimes at the very start no profiles provided. (nightscout#5591)

At the first start the nightscout is crashed if profile not full.

* Fixes nightscout#4991 - Now selects basal profile based day by day (nightscout#5572)

* Test profile settings

* NPM Version change

* Use console log

* Use console log for client

* Use console log for client.sbx

* Use console log for client.ddata

* Use console log for client again

* revert

* Added multi-profile reporting capabilities

Co-authored-by: VIS TFS Admin <liveid@visualsolution.co.uk>

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* hotfix attempt 2 - carelink 2020 sso updates

* hotfix 3 - attempt 3 at carelink 2020 sso updates

* attempt 4 at hotfix for nightscout

Based on more reliable version of minimed-connect-to-nightscout....
This is testing the hotfix.  When it works, we will bump this one more
time with the newly released version.

* hotfix 5 - incorporates latest axios changes

* Fix for boluscalc issue (nightscout#5729)

Boluscalc fix & remove integer validation from BG input field

* npm install --save minimed-connect-to-nightscout@^1.4.0

* Change DISPLAY_UNITS to use readENV's default value and added several tests for DISPLAY_UNITS (nightscout#5708)

readENV() was hard coding the default value of DISPLAY_UNITS, and
ignoring the default value for no particular reason. Fixed that. Also, I
added a full test suite for DISPLAY_UNITS environment settings to make
sure that it works as intended. Finally, I've added the console log for
the DISPLAY_UNITS since there's no particular reason why we log that setting
and not others.

* Fix audit errors, button order (nightscout#5694)

* * Update packages giving npm audit errors
* Fix Mongo test that broke after update (now uses async/await on getting the connection)
* Restore original navigation bar button order

* Disable Node 10 tests

* Fix temporary target cancellation

* Added documentation on the use of Alpha Testing (nightscout#5784)

* Wip/bewest/mmconnect eu (nightscout#5731)

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* hotfix attempt 2 - carelink 2020 sso updates

* hotfix 3 - attempt 3 at carelink 2020 sso updates

* attempt 4 at hotfix for nightscout

Based on more reliable version of minimed-connect-to-nightscout....
This is testing the hotfix.  When it works, we will bump this one more
time with the newly released version.

Co-authored-by: Sulka Haro <sulka@sulka.net>

* * Updated several packages to remove issues from NPM audit
* Fix excess logging in settings.js
* Removed heapdump package, which was causing issues for some users

* * Limit the default number of profiles returned by the API to fix issues with users who are syncing a large amount of profiles from an APS.
* Fix profile reporting

* Upgrade Helmet to 4.0.0

* CSP and service worker improvements (nightscout#5856)

* Add connectSrc for Safari compatibiity
* Add new font URL for Google Fonts compatibility
* Reload on re-registering the worker
* Change Mongo version in github to fix builds

* Serve the CSP to everyone

* Split view CSP support (nightscout#5864)

* Parse split view frames into frameAncestors

* Re-enable CSP configuration (nightscout#5867)

* Re-enable CSP configuration

* Bump share2nightscout-bridge plugin

Use latest update from share2nightscout bridge to
make things easier.  It contains an updated
default for OUS users.

* feat Add robots.txt to disallow site crawling

* Fix dbsize for usage with Atlas (nightscout#5962)

* Openaps performance improvement (nightscout#5945)

* improve openaps plugin performance

* more performance improvements

(cherry picked from commit 076a2dd)

* correct setting notEnacted variable

* remove unnecessary debug logging

* Adapt to MongoDB Atlas (nightscout#5893)

* Fix Issue nightscout#5763 - Change $.ajax to /api/v1/profile (nightscout#5704)

* Bug fixes for Service Worker (nightscout#5970)

* Fix service worker refresh for Firefox

* Improve logging for service worker initialisation

* Skip browser cache for service worker precaching

* Prevent `Partial Content` responses in `fetch` by stripping `Range` header

* Prevent calling `filter` on an undefined property when service worker cache is empty

* Bug fixes for Service Worker

*    Fixes nightscout#5920
*    Fixes nightscout#5943

* Update service-worker.js

Removed the MP3 files from the preload to fix issues with webkit-based browsers

Co-authored-by: p5nbTgip0r <cb3f02c5@opayq.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>

* Optimize Nightscout database usage (nightscout#5947)

* On periodic polls, only load delta for CGM data, treatments and device statuses
* Serve basic CGM data API queries from in-memory cache. Increases the Nightscout memory footprint but should significantly reduce the Mongo load
* Serve device status, CGM and treatment records from memory cache
* Support count parameter in /profile

* Bumping version to 14.0.0 given this is a relatively large update and we want people on Atlas to all migrate to this version

* Remove logging statements

* fix brushing recursion

* Normalize treatments to support absolute doses from the amount field

* Add Loop Carbs foodType, absorptionTime to Reports for ISSUE nightscout#5701 (nightscout#5702)

* add carb foodType, absorptionTime to reports

* Update README to point to new docs

* Fix `Treatments` report for `mmol/L` users

Fixed a typo to a client function name

* Bump version to 14.0.1

* Bump dev to 14.0.2

* Serve Last-Modified header for the service worker to help with some browsers misdetecting caching

* Cleaned old appcache references

* * Remove unnecessary logging to help with Papertrail limits
* Load more treatments and entries to fix caching issues (need to add better cache invalidation to really fix this)

* When merging inserts and updates from the database, ensure we always use the new data over the old data

* Bump treatment delta loading to four hours

* One more increase to treatment load time to cover long overrides

* * Bump version to 14.0.3
* Fix a bug in the REST API query for profiles

* Bumped up the number of treatments loaded / day for reporting

* Fix reports unit test

* Bump treatments default limit default to 1000 objects for queries that include other query parameters

* * Require created_at for Treatments on insert
* Refactoring the cache: moved to another file and support flushing from bus events

* Add support for CGM data and device statuses. Refactor dataloader to use the new model and reduce queries back down

* Fix data order for REST API

* * Add cache update events to websocket API
* Remove the validation for created_at in REST API ;(

* Remove excess logging

* Bump version to .4

* Bump version to 14.0.5 and fix nightscout#6050

* Fix Pebble API detecting mmol units from settings

* Make settings parsing whitespace tolerant

* * Fix security test
* Change boot and caching to expose Mongo connection errors

* Don't report an error on every reconnect

* Less intimidating error page on start, which also checks for api_secret

* Add file missing from last commit

* Fix tests

* Remove require statement breaking deploys

* Update --feature-request--.md

* Update --bug-report.md

* Update --individual-troubleshooting-help.md

* Fix memory leak and cache update issues in 14.0.4 (nightscout#6133)

* Fix a memory leak in 14.0.4
* Fix linter error in ddata.js
* Move data retention periods to caching
* Update _id of inserted entries and device status so merging to cache works correctly
* Reset the data in ddata before updating
* Fix typo on entry cache retention period
* Have device status cache retention period follow configuration
* Fix _id injection in treatments

* Add error cat to error page

* Fix MONGODB_URI reference in error message

* Bump version to 14.0.6

* Support uploading device statuses in batches (nightscout#6147)

* Support uploading device statuses in batches
* Correctly report batch insertion results

* Make empty cache detection a bit more aggressive to account for cache flush and data insert happening concurrently

* * Bump version to 14.0.7
* Add onerror handler for pushover

* Update README.md

Explicitly link to the application template in Github

* Fixed nightscout#5852 - Updated Google Home setup steps (nightscout#6195)

* Fix broken swagger for APIv3 (nightscout#6201)

* APIv3: isolating documents from tests (not allowing clashes of calculated identifiers)

* removing unused async keyword

* fixing api v3 swagger and moving it to /api3-docs

Co-authored-by: Petr Ondrusek <petr.ondrusek@seznam.cz>
Co-authored-by: Petr Ondrůšek <petr.ondrusek@okin.eu>

* Use lodash.get() in virtual assistant API endpoints (v2) (nightscout#6199)

* Fixed nightscout#5632 - Improved value resolution

* More value resolution improvements

* Fixed a couple object paths

* Corrected setup of `dbsize` for virtual assistants (nightscout#6270)

* Corrected db size config for virtual assistants

* Language fix, improvements, added dbsize to virtAsst config

* Using env

* Added logging

* Debug logging

* Different logging

* More troubleshooting

* Another try

* Reverted stuff, added dbsize to server defaults

* Fixed test

* Fixed another test

* Create config.yml

* Delete --individual-troubleshooting-help.md

* Update config.yml

* Fix batch (nightscout#6248)

* Use the delta plugin data to show the delta in the clock views
* Update Node checks
* Fix disabling the BG alarms for simple alarms
* Load battery and other rare events up to two months back
* Possibly fixes compatibility with ios9 - needs testing
* Unified black and color clock layouts
* Update clock data every 20 seconds
* Update clock time every second
* Fix how CSP policy is set for Helmet, fixes nightscout#6260
* Authorization fix for misformatted URLs
* Added unit test for batch upload of CGM entries
* Improved / removed some logging
* Test if user is in read only mode when Nightscout starts and give an error if so

* Adding Hungarian translation to nightscout (nightscout#6037)


* Finished first round of translation for Hungarian language

* Added hungarian language to the readme file

* Fixes

* WIP

* Typo fixes and changes to translations

* Update language.js

Fixed some mistyped language keys

Co-authored-by: Andy Feher <andras.feher@smildonis.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>

* Update language.js (nightscout#6193)

Isfjell -> Istapp

Co-authored-by: Sulka Haro <sulka@sulka.net>

* nightscout#5991 Typo in translation (nightscout#6217)

Co-authored-by: Sulka Haro <sulka@sulka.net>

* add missing translations (nightscout#6346)

Co-authored-by: Sulka Haro <sulka@sulka.net>

* Updated Alexa's intents because Amazon required new ones yet again. (nightscout#6457)

* Add runtime state tracking to Nightscout, where client now checks if the server has loaded initial data from Mongo before the user is directed to the UI

* Add file missing from previous commit

* Update app.json

* Fix unit tests

* Fix the read detection to work correctly with MongoDB Atlas

* * Added basal and careportal to default plugins
* Changed report BG target to allow fractional numbers

* Increase load interval to 5 seconds

* Create codeql-analysis.yml

Co-authored-by: AdrianLxM <AdrianLxM@users.noreply.github.com>
Co-authored-by: Caleb <inventor96@users.noreply.github.com>
Co-authored-by: inventor96 <inventor96@gmail.com>
Co-authored-by: Jeremy Cunningham <34543464+jpcunningh@users.noreply.github.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>
Co-authored-by: Tanja <7403966+tanja3981@users.noreply.github.com>
Co-authored-by: Bartłomiej Szubert <bartlomiejszubert@gmail.com>
Co-authored-by: Andrew Dixon <andrew@andrewdixon.co.uk>
Co-authored-by: fedor apanasenko <apanasef@gmail.com>
Co-authored-by: Petr Ondrusek <34578008+PetrOndrusek@users.noreply.github.com>
Co-authored-by: Lukas Herzog <mail@lukasherzog.de>
Co-authored-by: Jakob <jakobsandberg95@gmail.com>
Co-authored-by: jonfawcett <38429455+jonfawcett@users.noreply.github.com>
Co-authored-by: Jonas Hummelstrand <jonas@hummelstrand.com>
Co-authored-by: peterleimbach <peterleimbach@icloud.com>
Co-authored-by: Adam Harrison <adamaharrison@gmail.com>
Co-authored-by: Dominik Dzienia <dlvoy@users.noreply.github.com>
Co-authored-by: stephencmorton <17858976+stephencmorton@users.noreply.github.com>
Co-authored-by: Simon Persson <simon@akep.se>
Co-authored-by: Cas Eliëns <cas.eliens@isaac.nl>
Co-authored-by: Ben West <bewest@gmail.com>
Co-authored-by: Matthew <mtfoley.mae@gmail.com>
Co-authored-by: ireneusz-ptak <31506973+ireneusz-ptak@users.noreply.github.com>
Co-authored-by: josep1972 <joseangelparedesd@gmail.com>
Co-authored-by: Bluefox <dogafox@gmail.com>
Co-authored-by: fromorbonia <3193811+fromorbonia@users.noreply.github.com>
Co-authored-by: VIS TFS Admin <liveid@visualsolution.co.uk>
Co-authored-by: joracine <joracine@users.noreply.github.com>
Co-authored-by: Alexandre Viau <alexandre@alexandreviau.net>
Co-authored-by: Lennart Goedhart <lennart@omnibase.com.au>
Co-authored-by: p5nbTgip0r <cb3f02c5@opayq.com>
Co-authored-by: Jeremy Cunningham <jpcunningh@gmail.com>
Co-authored-by: kskandispersonal <kskandis@live.com>
Co-authored-by: Petr Ondrusek <petr.ondrusek@seznam.cz>
Co-authored-by: Petr Ondrůšek <petr.ondrusek@okin.eu>
Co-authored-by: Andras Feher <56167205+andrasfeher-smilodonis@users.noreply.github.com>
Co-authored-by: Andy Feher <andras.feher@smildonis.com>
Co-authored-by: bjornoleh <63544115+bjornoleh@users.noreply.github.com>
Co-authored-by: Matt Gaide <mgaide@salesforce.com>
Co-authored-by: Lukas Herzog <git@lukasherzog.de>
skibickipawel added a commit to skibickipawel/cgm-remote-monitor that referenced this pull request Dec 25, 2020
* mgdl -> mg/dl

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Bump version to 13.0.2-dev

* fix some random test failures (nightscout#5341)

* fix some random test failures

* use typeof to test for existence

* Added support for asking delta

* Added time reference

* Made delta reading more informative

* Corrected time reference

* Try shortening the response

* Revert attempt

* Updated templates and documentation

* Minor improvement in response when delta is 0

* German translations improved and added (nightscout#5360)

* Fix Alexa Launch and SessionEnded Requests (nightscout#5377)

* Fix Alexa Launch Request

* Allow LaunchRequest to handle intent if set, change shouldEndSession from string to bool

* Fix SessionEndedRequest

* Fix nightscout#5149 - discord link on CONTRIBUTING.md doesn't do anything (nightscout#5380)

* Fix nightscout#5146 - display of treatment with only Fat and Protein set (nightscout#5381)

* Basic report page style fixes and updates (nightscout#5387)

* Add missing Polish translations and improve existing (nightscout#5382)

* Add missing Polish translations and improve existing

* Improve translations

* Addressed virtual assistant usage with Authentication Roles (nightscout#5388)

* Fix nightscout#5347 - Addressed auth roles

* Unification

* Fix timeago alarms (again). The changes to the rendered had an unintended consequence of triggering the timeago detection less frequently, causing the code to think the client has been hibernating, thus suppressing the alarms. The update changes the clock to be updated more frequently (this updating the hibernation detection), fixing the issue

* Remove the server side test

* Fix Graph Display Without Recent Devicestatus (nightscout#5409)

* Update Russian (nightscout#5415)

Corrected major and minor misprints and mistakes - particularly in variables, new translations added

* Add server teardown ability (nightscout#5410)

* adding teardown event to ctx.bus

* adding teardown support for mmconnect and bridge plugins

* Additional German Translations and corrections (nightscout#5405)

* Cleaned up changed translations

* Added Virtual Assistant Translations

* Fix nightscout#5188 - move predictions to bundle and don't render chart on predictions offset change (nightscout#5395)

* Fix nightscout#5188 - move predictions to bundle and don't render chart on predictions offset change

* Fix predictions show for day to day

* Move toolbar and authentication status to partial and include on each page (nightscout#5393)

* Move authentication status to partial and include on each page

* Move toolbar to partial

Co-authored-by: Sulka Haro <sulka@sulka.net>

* Virtual assistant code simplification (nightscout#5400)

* Moved duplicate plugin code to single location, and small improvements

* Defined _each()

* Pr/5379 (nightscout#5441)

* Release 13.0.1 (nightscout#5329)

* Release ref update v2 (nightscout#5301)

* Updated release name and number

* Added missing version number

* Added missing version number

* Fix auth dialog sizing error (nightscout#5315)

* Fix auth dialog sizing error (nightscout#5314)

* Fix auth dialog sizing error

* Fix Client Init After Auth

(cherry picked from commit 1bf416c)

* update NS minor version

* Added handlers and translations for CGM info

* Defined translate()

* Fixed sensor state reference

* Improved wording for tx age response

* Improved wording for session duration response

* Updated documentation and templates

* Updated README.md TOC and a reference to it

* Added CGM battery info

* Added unit reference to CGM battery levels

* Added handlers and translations for CGM info

* Defined translate()

* Fixed sensor state reference

* Improved wording for tx age response

* Improved wording for session duration response

* Updated documentation and templates

* Updated README.md TOC and a reference to it

* Added CGM battery info

* Added unit reference to CGM battery levels

* Updated API reference in Google Home template

Co-authored-by: Caleb <inventor96@users.noreply.github.com>

* Volunteer for Polish translations (nightscout#5396)

* Api3 output renderers (nightscout#5425)

* APIv3: adding framework for various output renderers

* APIv3: adding xml output renderer

* APIv3: adding csv output renderer

* APIv3: documenting supported output renderers

* APIv3: testing output renderers

* Restore glucose distribution test (nightscout#5434)

* Increase coverage of tests on units utility and clean up timeago test (nightscout#5435)

* Increase coverage of tests on units utility

* clean up timeago test

* Refactor to encapsulate duplicated settings logic (nightscout#5426)

* Encapsulate duplicate settings checks inside functions

* Simplify settings::isAlarmEventEnabled()

* Send coverage reports to Codacy (nightscout#5444)

* Send coverage reports to Codacy

* Action secrets may not be read from forks :(

* Let's see if this fixes the path & key passing

* Ok one more try for the Actions env

* Run tests and coverage separately

* Try increasing the admintools test runtime for Node 10

* Run tests only once

* Resolve unnecessary uses of eslint-ignore (nightscout#5436)

* Resolve unnecessary disabling of no-undef eslint rule

* Resolve unnecessary disabling of no-prototype-builtins eslint rule

* Resolve unnecessary disabling of no-unused-vars eslint rule

* Resolve unnecessary disabling of no-empty eslint rule

* Fix eslint errors and add npm script for eslint (nightscout#5427)

* re-enable auth check for device status routes

* Resolve eslint errors

* Add npm script for eslint

* Correct regex for express extension middleware and add tests for expected behaviour

* Resolve lint error in virtual assistant base

* Update index.js

* Update index.js

* Remove redundant checks on entry ID (nightscout#5440)

* Run CI Action for Pull Requests

* Update DayToDay report for Loop Overrides (nightscout#5452)

Add Loop override name/reason as text to the grey bar at the top of the graph.

* Fix earlier merge error with predictions having moved to the report bundle

* fix brushing loop (nightscout#5499)

* Update README.md (nightscout#5480)

Clarified that the "bridge" plugin is for Dexcom Share ("Dexcom" didn't appear at all in the read me), fixed a few typos, and added line 444 about the BRIDGE_SERVER variable.

* Added period of days into headline of glucose distribution and percen… (nightscout#5428)

* Added period of days into headline of glucose distribution and percentil chart report

I make screencopies of the glucose distribution and percential chart report for my diabtes consultant and had to manually add the period of days to the report everytime because it was not shown in the report itself.
I added the period of days this with a small number of lines of code and think this is helpful for other too.

* removed comments as requested

removed comments as requested

* Camelcase for new variables reportPlugins, firstDay, lastDay, countDays

* forget to save the change of reportPlugins in percentile.js

* Move app caching to a service worker (nightscout#5504)

* Move app caching to a webworker

* Code cleanup

* Code cleanup

* Make Codacy happy

* More parentheses

* Added indexes to 'entries' and 'treatments' along with other updates (nightscout#5463)

* Added compound indexes for treatments and entries collections. Updated ensureIndex to createIndex in mongo-strage.js as ensureIndex has been deprecated. Finally, updated testing/populate.js to be compatible with more recent versions of the node driver, as well as fixing a path issue.

* Fixed missing end quote in lib/server/treatments.js. Changed all newly added double quotes to single quote to match style guide.

* Removed indexes that referenced key600.

* Fix: Round interporlated mg/dL value to an integer

* Plugin to show database size (% of available space or in MiB) (nightscout#5496)

* Database size plugin - pill that displays current mongoDB database size

* Enabled dbsize by default

* Fixed bug with dbsize not shownig when size is (rounded) 0% but real bytes > 0

* Cleanup & update to iconfont generation manual

* Changed how warning/urgent levels are configured - from absolute MiB to percentage of DBSIZE_MAX

* Trying to fix random fail of APIv3 tests (nightscout#5519)

* APIv3: isolating documents from tests (not allowing clashes of calculated identifiers)

* removing unused async keyword

* client - mobile - Axis label font is scaled on small screens (nightscout#5512)

On phones or other small screens, the axis labels (especially x axis)
were previously an unreadable jumble of too-close letters

* Split view (nightscout#5518)

* Adds a 2, 3, 4 and 8 way split view option

* Updated description

* Generate the table on demand, so any number of sites from 1 to 8 generates a sensible layout

* Update readme & don't crash if a name is missing

* Allow flagging specific settings to be not exposed the /properties and /status APIs (nightscout#5525)

* Add more variables to the special list

* [DEV][FIX] Fix dbsize plugin to make it hideable again (nightscout#5529)

* [FIX] Making dbsize plugin default but hideable - removed its forced show state

* Removed unused lodash dependency

* Removed duplicate if statement (nightscout#5531)

Removed the additional if statement checking for the loop specific developer team id. This since the exact same if statement existed just above it.

* Update Dutch translations (nightscout#5532)

* Fix settings test

* Update version to 13.1.0

* Fix topbar collapse on small screens (nightscout#5562)

* Fix top bar collapsing on small screens

* Fix wide button array overflowing the button bar

* Option to switch off bolus amount outputs (nightscout#5522)

* Option to switch off bolus amount outputs (nightscout#5514)

* Fixing issue with carb value not be output when set to "none" (nightscout#5514)

* Adding additional output options (nightscout#5514)

* Adding environment variable option for 'x U and Over' option.

This option is BOLUS_RENDER_OVER with a default value of 1 and the value can be an integer or a float, e.g. 0.3, 1.5, 2, etc...

* Adding change to change the font size depending on the bolus value.

* Merge two "all" options to create an option that displays as SMB had.

* Fix d3 portrait to landscape brush failure (nightscout#5638)

* fix d3 portrait to landscape brush failure

* fix client.renderer.test for highlighBrushPoints function prototype change

* fix highlightBrush

* move brush reset inside check for valid brush

* Sanitize data from manual careportal entries so only fields with actual data are sent to the server (nightscout#5619)

* do not redirect to profile editor by default (nightscout#5671)

In a default configuration, there is no treatment data.  The code to redirect
the UI to the profile editor is buried deep within the chart rendering code for
basals.  This plugin is only supposed to go into action when enabled via
ENABLE=basal.  This commit fixes first-use experience for the default
configuration intended to draw real-time CGM traces and no basal information is
expected.  Since no basal information is expected unless plugin is enabled via
ENABLE=basal, this allows skipping instead of redirecting to the profile editor.

* Fix Issue nightscout#5486 - Device Status Days Feature (nightscout#5651)

* Device Status Days Feature

* Edits per review from @sulkaharo

* Configurable clock views (nightscout#5625)

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Configurable clock views

* Update README.md

* Update README.md

* Configurable clock views

* Add remote bolus/carbs + otp entry for loop (nightscout#5598)

Add a remote bolus entry field for users on Loop, along with support for an OTP field

* Sometimes at the very start no profiles provided. (nightscout#5591)

At the first start the nightscout is crashed if profile not full.

* Fixes nightscout#4991 - Now selects basal profile based day by day (nightscout#5572)

* Test profile settings

* NPM Version change

* Use console log

* Use console log for client

* Use console log for client.sbx

* Use console log for client.ddata

* Use console log for client again

* revert

* Added multi-profile reporting capabilities

Co-authored-by: VIS TFS Admin <liveid@visualsolution.co.uk>

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* hotfix attempt 2 - carelink 2020 sso updates

* hotfix 3 - attempt 3 at carelink 2020 sso updates

* attempt 4 at hotfix for nightscout

Based on more reliable version of minimed-connect-to-nightscout....
This is testing the hotfix.  When it works, we will bump this one more
time with the newly released version.

* hotfix 5 - incorporates latest axios changes

* Fix for boluscalc issue (nightscout#5729)

Boluscalc fix & remove integer validation from BG input field

* npm install --save minimed-connect-to-nightscout@^1.4.0

* Change DISPLAY_UNITS to use readENV's default value and added several tests for DISPLAY_UNITS (nightscout#5708)

readENV() was hard coding the default value of DISPLAY_UNITS, and
ignoring the default value for no particular reason. Fixed that. Also, I
added a full test suite for DISPLAY_UNITS environment settings to make
sure that it works as intended. Finally, I've added the console log for
the DISPLAY_UNITS since there's no particular reason why we log that setting
and not others.

* Fix audit errors, button order (nightscout#5694)

* * Update packages giving npm audit errors
* Fix Mongo test that broke after update (now uses async/await on getting the connection)
* Restore original navigation bar button order

* Disable Node 10 tests

* Fix temporary target cancellation

* Added documentation on the use of Alpha Testing (nightscout#5784)

* Wip/bewest/mmconnect eu (nightscout#5731)

* prepare hotfix for MMConnect/EU - 2020-06-28

Prepare to handle issue nightscout#5719.  This patch adjusts dependencies to
target a community edition fork of minimed-connect-to-nightscout.  The
new dependency targets information provided to begin addressing
changes to Medtronic Carelink services starting late June 2020.

* bump pointing at right tag

* hotfix attempt 2 - carelink 2020 sso updates

* hotfix 3 - attempt 3 at carelink 2020 sso updates

* attempt 4 at hotfix for nightscout

Based on more reliable version of minimed-connect-to-nightscout....
This is testing the hotfix.  When it works, we will bump this one more
time with the newly released version.

Co-authored-by: Sulka Haro <sulka@sulka.net>

* * Updated several packages to remove issues from NPM audit
* Fix excess logging in settings.js
* Removed heapdump package, which was causing issues for some users

* * Limit the default number of profiles returned by the API to fix issues with users who are syncing a large amount of profiles from an APS.
* Fix profile reporting

* Upgrade Helmet to 4.0.0

* CSP and service worker improvements (nightscout#5856)

* Add connectSrc for Safari compatibiity
* Add new font URL for Google Fonts compatibility
* Reload on re-registering the worker
* Change Mongo version in github to fix builds

* Serve the CSP to everyone

* Split view CSP support (nightscout#5864)

* Parse split view frames into frameAncestors

* Re-enable CSP configuration (nightscout#5867)

* Re-enable CSP configuration

* Bump share2nightscout-bridge plugin

Use latest update from share2nightscout bridge to
make things easier.  It contains an updated
default for OUS users.

* feat Add robots.txt to disallow site crawling

* Fix dbsize for usage with Atlas (nightscout#5962)

* Openaps performance improvement (nightscout#5945)

* improve openaps plugin performance

* more performance improvements

(cherry picked from commit 076a2dd)

* correct setting notEnacted variable

* remove unnecessary debug logging

* Adapt to MongoDB Atlas (nightscout#5893)

* Fix Issue nightscout#5763 - Change $.ajax to /api/v1/profile (nightscout#5704)

* Bug fixes for Service Worker (nightscout#5970)

* Fix service worker refresh for Firefox

* Improve logging for service worker initialisation

* Skip browser cache for service worker precaching

* Prevent `Partial Content` responses in `fetch` by stripping `Range` header

* Prevent calling `filter` on an undefined property when service worker cache is empty

* Bug fixes for Service Worker

*    Fixes nightscout#5920
*    Fixes nightscout#5943

* Update service-worker.js

Removed the MP3 files from the preload to fix issues with webkit-based browsers

Co-authored-by: p5nbTgip0r <cb3f02c5@opayq.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>

* Optimize Nightscout database usage (nightscout#5947)

* On periodic polls, only load delta for CGM data, treatments and device statuses
* Serve basic CGM data API queries from in-memory cache. Increases the Nightscout memory footprint but should significantly reduce the Mongo load
* Serve device status, CGM and treatment records from memory cache
* Support count parameter in /profile

* Bumping version to 14.0.0 given this is a relatively large update and we want people on Atlas to all migrate to this version

* Remove logging statements

* fix brushing recursion

* Normalize treatments to support absolute doses from the amount field

* Add Loop Carbs foodType, absorptionTime to Reports for ISSUE nightscout#5701 (nightscout#5702)

* add carb foodType, absorptionTime to reports

* Update README to point to new docs

* Fix `Treatments` report for `mmol/L` users

Fixed a typo to a client function name

* Bump version to 14.0.1

* Bump dev to 14.0.2

* Serve Last-Modified header for the service worker to help with some browsers misdetecting caching

* Cleaned old appcache references

* * Remove unnecessary logging to help with Papertrail limits
* Load more treatments and entries to fix caching issues (need to add better cache invalidation to really fix this)

* When merging inserts and updates from the database, ensure we always use the new data over the old data

* Bump treatment delta loading to four hours

* One more increase to treatment load time to cover long overrides

* * Bump version to 14.0.3
* Fix a bug in the REST API query for profiles

* Bumped up the number of treatments loaded / day for reporting

* Fix reports unit test

* Bump treatments default limit default to 1000 objects for queries that include other query parameters

* * Require created_at for Treatments on insert
* Refactoring the cache: moved to another file and support flushing from bus events

* Add support for CGM data and device statuses. Refactor dataloader to use the new model and reduce queries back down

* Fix data order for REST API

* * Add cache update events to websocket API
* Remove the validation for created_at in REST API ;(

* Remove excess logging

* Bump version to .4

* Bump version to 14.0.5 and fix nightscout#6050

* Fix Pebble API detecting mmol units from settings

* Make settings parsing whitespace tolerant

* * Fix security test
* Change boot and caching to expose Mongo connection errors

* Don't report an error on every reconnect

* Less intimidating error page on start, which also checks for api_secret

* Add file missing from last commit

* Fix tests

* Remove require statement breaking deploys

* Update --feature-request--.md

* Update --bug-report.md

* Update --individual-troubleshooting-help.md

* Fix memory leak and cache update issues in 14.0.4 (nightscout#6133)

* Fix a memory leak in 14.0.4
* Fix linter error in ddata.js
* Move data retention periods to caching
* Update _id of inserted entries and device status so merging to cache works correctly
* Reset the data in ddata before updating
* Fix typo on entry cache retention period
* Have device status cache retention period follow configuration
* Fix _id injection in treatments

* Add error cat to error page

* Fix MONGODB_URI reference in error message

* Bump version to 14.0.6

* Support uploading device statuses in batches (nightscout#6147)

* Support uploading device statuses in batches
* Correctly report batch insertion results

* Make empty cache detection a bit more aggressive to account for cache flush and data insert happening concurrently

* * Bump version to 14.0.7
* Add onerror handler for pushover

* Update README.md

Explicitly link to the application template in Github

* Fixed nightscout#5852 - Updated Google Home setup steps (nightscout#6195)

* Fix broken swagger for APIv3 (nightscout#6201)

* APIv3: isolating documents from tests (not allowing clashes of calculated identifiers)

* removing unused async keyword

* fixing api v3 swagger and moving it to /api3-docs

Co-authored-by: Petr Ondrusek <petr.ondrusek@seznam.cz>
Co-authored-by: Petr Ondrůšek <petr.ondrusek@okin.eu>

* Use lodash.get() in virtual assistant API endpoints (v2) (nightscout#6199)

* Fixed nightscout#5632 - Improved value resolution

* More value resolution improvements

* Fixed a couple object paths

* Corrected setup of `dbsize` for virtual assistants (nightscout#6270)

* Corrected db size config for virtual assistants

* Language fix, improvements, added dbsize to virtAsst config

* Using env

* Added logging

* Debug logging

* Different logging

* More troubleshooting

* Another try

* Reverted stuff, added dbsize to server defaults

* Fixed test

* Fixed another test

* Create config.yml

* Delete --individual-troubleshooting-help.md

* Update config.yml

* Fix batch (nightscout#6248)

* Use the delta plugin data to show the delta in the clock views
* Update Node checks
* Fix disabling the BG alarms for simple alarms
* Load battery and other rare events up to two months back
* Possibly fixes compatibility with ios9 - needs testing
* Unified black and color clock layouts
* Update clock data every 20 seconds
* Update clock time every second
* Fix how CSP policy is set for Helmet, fixes nightscout#6260
* Authorization fix for misformatted URLs
* Added unit test for batch upload of CGM entries
* Improved / removed some logging
* Test if user is in read only mode when Nightscout starts and give an error if so

* Adding Hungarian translation to nightscout (nightscout#6037)


* Finished first round of translation for Hungarian language

* Added hungarian language to the readme file

* Fixes

* WIP

* Typo fixes and changes to translations

* Update language.js

Fixed some mistyped language keys

Co-authored-by: Andy Feher <andras.feher@smildonis.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>

* Update language.js (nightscout#6193)

Isfjell -> Istapp

Co-authored-by: Sulka Haro <sulka@sulka.net>

* nightscout#5991 Typo in translation (nightscout#6217)

Co-authored-by: Sulka Haro <sulka@sulka.net>

* add missing translations (nightscout#6346)

Co-authored-by: Sulka Haro <sulka@sulka.net>

* Updated Alexa's intents because Amazon required new ones yet again. (nightscout#6457)

* Add runtime state tracking to Nightscout, where client now checks if the server has loaded initial data from Mongo before the user is directed to the UI

* Add file missing from previous commit

* Update app.json

* Fix unit tests

* Fix the read detection to work correctly with MongoDB Atlas

* * Added basal and careportal to default plugins
* Changed report BG target to allow fractional numbers

* Increase load interval to 5 seconds

* Create codeql-analysis.yml

Co-authored-by: AdrianLxM <AdrianLxM@users.noreply.github.com>
Co-authored-by: Caleb <inventor96@users.noreply.github.com>
Co-authored-by: inventor96 <inventor96@gmail.com>
Co-authored-by: Jeremy Cunningham <34543464+jpcunningh@users.noreply.github.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>
Co-authored-by: Tanja <7403966+tanja3981@users.noreply.github.com>
Co-authored-by: Bartłomiej Szubert <bartlomiejszubert@gmail.com>
Co-authored-by: Andrew Dixon <andrew@andrewdixon.co.uk>
Co-authored-by: fedor apanasenko <apanasef@gmail.com>
Co-authored-by: Petr Ondrusek <34578008+PetrOndrusek@users.noreply.github.com>
Co-authored-by: Lukas Herzog <mail@lukasherzog.de>
Co-authored-by: Jakob <jakobsandberg95@gmail.com>
Co-authored-by: jonfawcett <38429455+jonfawcett@users.noreply.github.com>
Co-authored-by: Jonas Hummelstrand <jonas@hummelstrand.com>
Co-authored-by: peterleimbach <peterleimbach@icloud.com>
Co-authored-by: Adam Harrison <adamaharrison@gmail.com>
Co-authored-by: Dominik Dzienia <dlvoy@users.noreply.github.com>
Co-authored-by: stephencmorton <17858976+stephencmorton@users.noreply.github.com>
Co-authored-by: Simon Persson <simon@akep.se>
Co-authored-by: Cas Eliëns <cas.eliens@isaac.nl>
Co-authored-by: Ben West <bewest@gmail.com>
Co-authored-by: Matthew <mtfoley.mae@gmail.com>
Co-authored-by: ireneusz-ptak <31506973+ireneusz-ptak@users.noreply.github.com>
Co-authored-by: josep1972 <joseangelparedesd@gmail.com>
Co-authored-by: Bluefox <dogafox@gmail.com>
Co-authored-by: fromorbonia <3193811+fromorbonia@users.noreply.github.com>
Co-authored-by: VIS TFS Admin <liveid@visualsolution.co.uk>
Co-authored-by: joracine <joracine@users.noreply.github.com>
Co-authored-by: Alexandre Viau <alexandre@alexandreviau.net>
Co-authored-by: Lennart Goedhart <lennart@omnibase.com.au>
Co-authored-by: p5nbTgip0r <cb3f02c5@opayq.com>
Co-authored-by: Jeremy Cunningham <jpcunningh@gmail.com>
Co-authored-by: kskandispersonal <kskandis@live.com>
Co-authored-by: Petr Ondrusek <petr.ondrusek@seznam.cz>
Co-authored-by: Petr Ondrůšek <petr.ondrusek@okin.eu>
Co-authored-by: Andras Feher <56167205+andrasfeher-smilodonis@users.noreply.github.com>
Co-authored-by: Andy Feher <andras.feher@smildonis.com>
Co-authored-by: bjornoleh <63544115+bjornoleh@users.noreply.github.com>
Co-authored-by: Matt Gaide <mgaide@salesforce.com>
Co-authored-by: Lukas Herzog <git@lukasherzog.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants