Skip to content

Commit

Permalink
update (#4)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
Show file tree
Hide file tree
Showing 235 changed files with 21,987 additions and 8,105 deletions.
9 changes: 9 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ module.exports = {
"commonjs": true,
"es6": true,
"node": true,
"mocha": true,
"jquery": true
},
"rules": {
"no-unused-vars": [
"error",
{
"varsIgnorePattern": "should|expect"
}
]
}
};
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/--bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ label: bug

---

**If you need support for Nightscout, PLEASE DO NOT FILE A TICKET HERE**
For support, please post a question to the "CGM in The Cloud" group in Facebook
(https://www.facebook.com/groups/cgminthecloud) or visit the WeAreNotWaiting Discord at https://discord.gg/zg7CvCQ

**Describe the bug**
A clear and concise description of what the bug is.

Expand Down
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/--feature-request--.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ about: Suggest an idea for this project

---

**If you need support for Nightscout, PLEASE DO NOT FILE A TICKET HERE**
For support, please post a question to the "CGM in The Cloud" group in Facebook
(https://www.facebook.com/groups/cgminthecloud) or visit the WeAreNotWaiting Discord at https://discord.gg/zg7CvCQ

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Expand Down
4 changes: 3 additions & 1 deletion .github/ISSUE_TEMPLATE/--individual-troubleshooting-help.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ about: Getting help with your own individual setup of Nightscout

Having issues getting Nightscout up and running? Instead of creating an issue here, please use one of the existing support channels for Nightscout.

The documentation for Nightscout lives at (https://nightscout.github.io)

The main support channel is on Facebook: please join the CGM In The Cloud Facebook group (https://www.facebook.com/groups/cgminthecloud) and start a post there.

**Suggestions to include in your post when you are asking for help:**
1. Include what you are trying to do: ("*I am trying to set up Nightscout for the first time.*")
2. Include which step you are on and what the problem is: ("*I deployed on Heroku, but I'm not seeing any BG data.*")
3. If possible, include a link to the version of documentation you are following ("*I'm following the OpenAPS Nightscout setup docs (https://openaps.readthedocs.io/en/latest/docs/While%20You%20Wait%20For%20Gear/nightscout-setup.html#nightscout-setup-with-heroku)*")

Other places you can find support and assistance for Nightscout include Gitter's [nightscout/public](https://gitter.im/nightscout/public) channel.
Other places you can find support and assistance for Nightscout include our Discord channel at (https://discord.gg/zg7CvCQ)
34 changes: 34 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CI test

on: [push, pull_request]

jobs:
build:

runs-on: ubuntu-16.04

strategy:
matrix:
node-version: [12.x]

steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm install
- name: Install MongoDB
run: |
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo apt-get install -y --allow-downgrades mongodb-org=4.4.0 mongodb-org-server=4.4.0 mongodb-org-shell=4.4.0 mongodb-org-mongos=4.4.0 mongodb-org-tools=4.4.0
- name: Start MongoDB
run: sudo systemctl start mongod
- name: Run Tests
run: npm run-script test-ci
- name: Send Coverage
run: npm run-script coverage
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ bundle/bundle.out.js
.idea/
*.iml
my.env
my.*.env

*.env
static/bower_components/
.*.sw?
.DS_Store
Expand All @@ -24,3 +24,9 @@ npm-debug.log
*.heapsnapshot

/tmp
/.vs
/cgm-remote-monitor.njsproj
/cgm-remote-monitor.sln
/obj/Debug
/bin
/*.bat
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@ matrix:
include:
- node_js: "10"
<<: *node_js-steps
- node_js: "node" # Latest Node is not supported, and recommend, but we'll test it to know incompatibility issues
- node_js: "12" # Latest Node is not supported, and recommend, but we'll test it to know incompatibility issues
<<: *node_js-steps
65 changes: 27 additions & 38 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,62 +25,52 @@
[![Build Status][build-img]][build-url]
[![Dependency Status][dependency-img]][dependency-url]
[![Coverage Status][coverage-img]][coverage-url]
[![Gitter chat][gitter-img]][gitter-url]
[![Stories in Ready][ready-img]][waffle]
[![Stories in Progress][progress-img]][waffle]
[![Discord chat][discord-img]][discord-url]

[build-img]: https://img.shields.io/travis/nightscout/cgm-remote-monitor.svg
[build-url]: https://travis-ci.org/nightscout/cgm-remote-monitor
[dependency-img]: https://img.shields.io/david/nightscout/cgm-remote-monitor.svg
[dependency-url]: https://david-dm.org/nightscout/cgm-remote-monitor
[coverage-img]: https://img.shields.io/coveralls/nightscout/cgm-remote-monitor/master.svg
[coverage-url]: https://coveralls.io/r/nightscout/cgm-remote-monitor?branch=master
[gitter-img]: https://img.shields.io/badge/Gitter-Join%20Chat%20%E2%86%92-1dce73.svg
[gitter-url]: https://gitter.im/nightscout/public
[ready-img]: https://badge.waffle.io/nightscout/cgm-remote-monitor.svg?label=ready&title=Ready
[waffle]: https://waffle.io/nightscout/cgm-remote-monitor
[progress-img]: https://badge.waffle.io/nightscout/cgm-remote-monitor.svg?label=in+progress&title=In+Progress
[discord-img]: https://img.shields.io/discord/629952586895851530?label=discord%20chat
[discord-url]: https://discord.gg/rTKhrqz

## Installation for development

Nightscout is a Node.js application. The basic installation of the software for local purposes is:

1. Clone the software to your local machine using git
2. Install Node from https://nodejs.org/en/download/
2. Use `npm` to install Nightscout dependencies by invokin `npm install` in the project directory. Note the
dependency installation has to be done usign a non-root user - _do not use root_ for development and hosting
2. Use `npm` to install Nightscout dependencies by invoking `npm install` in the project directory. Note the
dependency installation has to be done using a non-root user - _do not use root_ for development and hosting
the software!
3. Get a Mongo database by either installing Mongo locally, or get a free cloud account from mLab or Mongodb Atlas.
4. Configure nightscout by copying `my.env.template` to `my.env` and run it - see the next chapter in the instructions
3. Get a Mongo database by either installing Mongo locally, or get a free cloud account from mLab or MongoDB Atlas.
4. Configure Nightscout by copying `my.env.template` to `my.env` and run it - see the next chapter in the instructions

## Develop on `dev`

We develop on the `dev` branch. All new pull requests should be targeted to `dev`. The `master` branch is only used for distributing the latest version of the tested sources.

You can get the `dev` branch checked out using `git checkout dev`.

Once checked out, install the dependencies using `npm install`, then copy the included `my.env.template`file to `my.env` and edit the file to include your settings (like the Mongo URL). Leave the `NODE_ENV=development` line intact. Once set, run the site using `npm run dev`. This will start Nigthscout in the development mode, with different code packaging rules and automatic restarting of the server using nodemon, when you save changed files on disk. The client also hot-reloads new code in, but it's recommended to reload the the website after changes due to the way the plugin sandbox works.
Once checked out, install the dependencies using `npm install`, then copy the included `my.env.template`file to `my.env` and edit the file to include your settings (like the Mongo URL). Leave the `NODE_ENV=development` line intact. Once set, run the site using `npm run dev`. This will start Nightscout in the development mode, with different code packaging rules and automatic restarting of the server using nodemon, when you save changed files on disk. The client also hot-reloads new code in, but it's recommended to reload the website after changes due to the way the plugin sandbox works.

Note the template sets `INSECURE_USE_HTTP` to `true` to enable the site to work over HTTP in local development.

If you want to additionaly test the site in production mode, create a file called `my.prod.env` that's a copy of the dev file but with `NODE_ENV=production` and start the site using `npm run prod`.

## REST API

Nightscout implements a REST API for data syncronization. The API is documented using Swagger. To access the documentation
for the API, run Nightscout locally and load the documentation from /api-docs (or read the associated swagger.json and swagger.yaml
files locally).
Nightscout implements a REST API for data syncronization. The API is documented using Swagger. To access the documentation for the API, run Nightscout locally and load the documentation from /api-docs (or read the associated swagger.json and swagger.yaml files locally).

Note all dates used to access the API and dates stored in the objects are expected to comply with the ISO-8601 format and
be deserializable by the Javascript Date class. Of note here is the dates can contain a plus sign which has a special meaning in
URL encoding, so when issuing requests that place dates to the URL, take special care to ensure the data is properly URL
encoded.
Note all dates used to access the API and dates stored in the objects are expected to comply with the ISO-8601 format and be deserializable by the Javascript Date class. Of note here is the dates can contain a plus sign which has a special meaning in URL encoding, so when issuing requests that place dates to the URL, take special care to ensure the data is properly URL encoded.

## Design & new features

If you intend to add a new feature, please allow the community to participate in the design process by creating an issue to discuss your design. For new features, the issue should describe what use cases the new feature intends to solve, or which existing use cases are being improved.

Note Nighscout has a plugin architecture for adding new features. We expect most code for new features live inside a Plugin, so the code retains a clear separation of concerns. If the Plugin API doesn't implement all features you need to implement your feature, please discuss with us on adding those features to the API. Note new features should under almost no circumstances require changes to the existing plugins.
Note Nightscout has a plugin architecture for adding new features. We expect most code for new features live inside a Plugin, so the code retains a clear separation of concerns. If the Plugin API doesn't implement all features you need to implement your feature, please discuss with us on adding those features to the API. Note new features should under almost no circumstances require changes to the existing plugins.

## Style Guide

Expand All @@ -105,7 +95,7 @@ If in doubt, format your code with `js-beautify --indent-size 2 --comma-first -

## Create a prototype

Fork cgm-remote-monitor and create a branch. You can create a branch using `git checkout -b wip/add-my-widget`. This creates a new branch called `wip/add-my-widget`. The `wip` stands for work in progress and is a common prefix so that when know what to expect when reviewing many branches.
Fork cgm-remote-monitor and create a branch. You can create a branch using `git checkout -b wip/add-my-widget`. This creates a new branch called `wip/add-my-widget`. The "`wip`" stands for work-in-progress and is a common prefix so that we know what to expect when reviewing many branches.

## Submit a pull request

Expand All @@ -115,11 +105,9 @@ This can be done by checking your code `git commit -avm 'my improvements are her

Now that the commits are available on github, you can click on the compare buttons on your fork to create a pull request. Make sure to select [Nightscout's `dev` branch](https://github.com/nightscout/cgm-remote-monitor/tree/dev).

We assume all new Pull Requests are at least smoke tested by the author and all code in the PR actually works.
Please include a description of what the features do and rationalize why the changes are needed.
We assume all new Pull Requests are at least smoke tested by the author and all code in the PR actually works. Please include a description of what the features do and rationalize why the changes are needed.

If you add any new NPM module dependencies, you have to rationalize why there are needed - we prefer pull requests that reduce dependencies, not add them.
Before releasing a a new version, we check with `npm audit` if our dependencies don't have known security issues.
If you add any new NPM module dependencies, you have to rationalize why they are needed - we prefer pull requests that reduce dependencies, not add them. Before releasing a a new version, we check with `npm audit` if our dependencies don't have known security issues.

When adding new features that add configuration options, please ensure the `README` document is amended with information on the new configuration.

Expand All @@ -142,7 +130,7 @@ We encourage liberal use of the comments, including images where appropriate.

## Co-ordination

Most cgm-remote-monitor hackers use github's ticketing system, along with Facebook cgm-in-the-cloud, and gitter.
We primarily use GitHub's ticketing system for discussing PRs and bugs, and [Discord][discord-url] for general development chatter.

We use git-flow, with `master` as our production, stable branch, and `dev` is used to queue up for upcoming releases. Everything else is done on branches, hopefully with names that indicate what to expect.

Expand All @@ -152,7 +140,7 @@ Every commit is tested by travis. We encourage adding tests to validate your de

## Other Dev Tips

* Join the [Gitter chat][gitter-url]
* Join the [Discord chat][discord-url].
* Get a local dev environment setup if you haven't already.
* Try breaking up big features/improvements into small parts. It's much easier to accept small PR's.
* Create tests for your new code as well as the old code. We are aiming for a full test coverage.
Expand Down Expand Up @@ -193,6 +181,7 @@ Also if you can't code, it's possible to contribute by improving the documentati
[@unsoluble]: https://github.com/unsoluble
[@viderehh]: https://github.com/viderehh
[@OpossumGit]: https://github.com/OpossumGit
[@Bartlomiejsz]: https://github.com/Bartlomiejsz

| Contribution area | List of contributors |
| ------------------------------------- | ---------------------------------- |
Expand All @@ -203,13 +192,13 @@ Also if you can't code, it's possible to contribute by improving the documentati
| Release coordination 0.11.x: | [@PieterGit] |
| Issue/Pull request coordination: | Please volunteer |
| Cleaning up git fork spam: | Please volunteer |
| Documentation writers: | [@andrew-warrington][@unsoluble] [@tynbendad] [@danamlewis] [@rarneson] |
| Documentation writers: | [@andrew-warrington] [@unsoluble] [@tynbendad] [@danamlewis] [@rarneson] |

### Plugin contributors

| Contribution area | List of developers | List of testers
| ------------------------------------- | -------------------- | -------------------- |
| [`alexa` (Amazon Alexa)](README.md#alexa-amazon-alexa)| Please volunteer | Please volunteer |
| [`alexa` (Amazon Alexa)](README.md#alexa-amazon-alexa)| [@inventor96] | Please volunteer |
| [`ar2` (AR2 Forecasting)](README.md#ar2-ar2-forecasting)| Please volunteer | Please volunteer |
| [`basal` (Basal Profile)](README.md#basal-basal-profile)| Please volunteer | Please volunteer |
| [`boluscalc` (Bolus Wizard)](README.md#boluscalc-bolus-wizard)| Please volunteer | Please volunteer |
Expand All @@ -224,7 +213,7 @@ Also if you can't code, it's possible to contribute by improving the documentati
| [`direction` (BG Direction)](README.md#direction-bg-direction)| Please volunteer | Please volunteer |
| [`errorcodes` (CGM Error Codes)](README.md#errorcodes-cgm-error-codes)| Please volunteer | Please volunteer |
| [`food` (Custom Foods)](README.md#food-custom-foods)| Please volunteer | Please volunteer |
| [`googlehome` (Google Home)](README.md#google-home) |[@mdomox] [@rickfriele] | [@mcdafydd] [@oteroos] [@jamieowendexcom] |
| [`googlehome` (Google Home/DialogFlow)](README.md#googlehome-google-homedialogflow)| [@mdomox] [@rickfriele] [@inventor96] | [@mcdafydd] [@oteroos] [@jamieowendexcom] |
| [`iage` (Insulin Age)](README.md#iage-insulin-age)| Please volunteer | Please volunteer |
| [`iob` (Insulin-on-Board)](README.md#iob-insulin-on-board)| Please volunteer | Please volunteer |
| [`loop` (Loop)](README.md#loop-loop)| Please volunteer | Please volunteer |
Expand All @@ -233,9 +222,9 @@ Also if you can't code, it's possible to contribute by improving the documentati
| [`profile` (Treatment Profile)](README.md#profile-treatment-profile)| Please volunteer | Please volunteer |
| [`pump` (Pump Monitoring)](README.md#pump-pump-monitoring)| Please volunteer | Please volunteer |
| [`rawbg` (Raw BG)](README.md#rawbg-raw-bg)| [@jpcunningh] | Please volunteer |
| [`sage` (Sensor Age)](README.md#sage-sensor-age)| @jpcunningh | Please volunteer |
| [`sage` (Sensor Age)](README.md#sage-sensor-age)| [@jpcunningh] | Please volunteer |
| [`simplealarms` (Simple BG Alarms)](README.md#simplealarms-simple-bg-alarms)| Please volunteer | Please volunteer |
| [`speech` (Speech)](README.md#speech-speech) | [@sulkaharo] | Please volunteer |
| [`speech` (Speech)](README.md#speech-speech)| [@sulkaharo] | Please volunteer |
| [`timeago` (Time Ago)](README.md#timeago-time-ago)| Please volunteer | Please volunteer |
| [`treatmentnotify` (Treatment Notifications)](README.md#treatmentnotify-treatment-notifications)| Please volunteer | Please volunteer |
| [`upbat` (Uploader Battery)](README.md#upbat-uploader-battery)| [@jpcunningh] | Please volunteer |
Expand All @@ -252,19 +241,19 @@ Languages with less than 90% coverage will be removed in a future Nightscout ver
| Čeština (`cs`) |Please volunteer|OK |
| Deutsch (`de`) |[@viderehh] [@herzogmedia] |OK |
| Dansk (`dk`) | [@janrpn] |OK |
| Ελληνικά `(el`)|Please volunteer|Needs attention: 68.5%|
| Ελληνικά (`el`)|Please volunteer|Needs attention: 68.5%|
| English (`en`)|Please volunteer|OK|
| Español (`es`) |Please volunteer|OK|
| Suomi (`fi`)|[@sulkaharo] |OK|
| Français (`fr`)|Please volunteer|OK|
| עברית (`he`)|Please volunteer|OK|
| Hrvatski (`hr`)|[@OpossumGit]|Needs attention: 47.8% - committed 100% to dev|
| עברית (`he`)| [@jakebloom] |OK|
| Hrvatski (`hr`)|[@OpossumGit]|OK|
| Italiano (`it`)|Please volunteer|OK|
| 日本語 (`ja`)|[@LuminaryXion]|Working on this|
| 한국어 (`ko`)|Please volunteer|Needs attention: 80.6%|
| Norsk (Bokmål) (`nb`)|Please volunteer|OK|
| Nederlands (`nl`)|[@PieterGit]|OK|
| Polski (`pl`)|Please volunteer|OK|
| Polski (`pl`)|[@Bartlomiejsz]|OK|
| Português (Brasil) (`pt`)|Please volunteer|OK|
| Română (`ro`)|Please volunteer|OK|
| Русский (`ru`)|[@apanasef]|OK|
Expand All @@ -279,7 +268,7 @@ Languages with less than 90% coverage will be removed in a future Nightscout ver
### List of all contributors
| Contribution area | List of contributors |
| ------------------------------------- | -------------------- |
| All active developers: | [@jasoncalabrese] [@jpcunningh] [@jweismann] [@komarserjio] [@mdomox] [@MilosKozak] [@PieterGit] [@rickfriele] [@sulkaharo]
| All active developers: | [@jasoncalabrese] [@jpcunningh] [@jweismann] [@komarserjio] [@mdomox] [@MilosKozak] [@PieterGit] [@rickfriele] [@sulkaharo] [@unsoluble]
| All active testers/documentors: | [@danamlewis] [@jamieowendexcom] [@mcdafydd] [@oteroos] [@rarneson] [@tynbendad] [@unsoluble]
| All active translators: | [@apanasef] [@jizhongwen] [@viderehh] [@herzogmedia] [@LuminaryXion] [@OpossumGit]

Loading

0 comments on commit 103cfd4

Please sign in to comment.