{"action":"created","comment":{"url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/comments/159161124","pull_request_review_id":86067163,"id":159161124,"diff_hunk":"@@ -0,0 +1,341 @@\n+'use strict';\n+\n+var _ = require('lodash');\n+var moment = window.moment;\n+var times = require('../times');\n+var d3 = (global && global.d3) || require('d3');\n+var tz = require('moment-timezone');\n+var lastResult = null;\n+var autotune_prep = require('./autotune/autotune-prep');\n+var autotune = {\n+  name: 'autotune'\n+  , label: 'Autotune'\n+  , pluginType: 'report'\n+};\n+\n+var libAutotune = require('./autotune/index');\n+//autotune.tune = libAutotune.tuneAllTheThings;\n+autotune.tune = require('./autotune/index');\n+autotune.percentile = libAutotune.percentile;\n+autotune.percentRank = libAutotune.percentRank;\n+\n+function init() {\n+  return autotune;\n+}\n+\n+module.exports = init;\n+autotune.html = function html(client) {\n+  var translate = client.translate;\n+  var ret =\n+    '<h2>' + translate('Autotune') + '</h2>'\n+    + '<p><b>WARNING</b>: Autotune is a DIY tool for recommending potential changes to (a single) ISF, basal rate, and (a single) carb ratio. If you have questions or concerns about your personal settings, you should talk with your healthcare provider about them.</p>'\n+    + '<p><b>NOTE</b>: The “current” basal rate, ISF, and carb ratio is based on what you manually input into the Nightscout profile. If you have updated your pump or use other tools (i.e. one of the DIY closed loops), this may not be up to date with your settings there.</p>'\n+    + '<p><i>More details about autotune and documentation around interpreting autotune can be found <a href=\"http://openaps.readthedocs.io/en/latest/docs/Customize-Iterate/autotune.html\">here</a>.</i></p>'\n+    + '<p><input type=\"checkbox\" id=\"compute_autotune\">Compute autotune</p>'\n+    + '<div id=\"autotune-report\"></div>'\n+    ;\n+    return ret;\n+};\n+\n+autotune.css =\n+    '#autotune-report .autotune-report {'\n+  + '  border-spacing: 0;'\n+  + '}'\n+  + '#autotune-report .autotune-report th {'\n+  + '  width: 160px;'\n+  + '  border-bottom: 1px solid black;'\n+  + '  background: #b7b7b7'\n+  + '}'\n+  + '#autotune-report .autotune-report tr:nth-child(even) {'\n+  + '  background: #efefef;'\n+  + '}'\n+  + '#autotune-report .autotune-report td {'\n+  + '  width: 160px;'\n+  + '  padding: 4px 0;'\n+  + '}'\n+\n+autotune.prepareHtml = function autotunePrepareHtml(sorteddaystoshow) {\n+};\n+\n+function appendMainRecords(table, header, current, recommended, translate) {\n+  var tr = $('<tr/>');\n+  if (current || recommended) {\n+    $('<td>' + translate(header) + '</td>').appendTo(tr);\n+    $('<td>' + current + '</td>').appendTo(tr);\n+    $('<td>' + recommended + '</td>').appendTo(tr);\n+  }\n+  var td = $('<td/>')\n+  appendArrowIcon(td, current, recommended);\n+  td.appendTo(tr);\n+  tr.appendTo(table);\n+}\n+\n+function getCurrentISF(store) {\n+  return store.sens[0].value;\n+}\n+\n+function getCurrentCSF(store) {\n+  return getCurrentISF(store) / getCurrentCarbRatio(store);\n+}\n+\n+function getCurrentCarbRatio(store) {\n+  return store.carbratio[0].value;\n+}\n+\n+function roundNum(num) {\n+  return Number(num).toFixed(3);\n+}\n+\n+function appendArrowIcon(td, current, recommended) {\n+  var icon = $('<img/>');\n+  if (recommended > current) {\n+    $('<img src=\"/images/up_arrow.png\" />').appendTo(td);\n+  } else if (recommended < current) {\n+    $('<img src=\"/images/down_arrow.png\" />').appendTo(td);\n+  }\n+}\n+\n+function findActiveProfiles(profiles, sorteddaystoshow) {\n+  var result = {};\n+  result.activeIndex = -1;\n+  result.manyActive = false;\n+\n+  var dateFrom = new Date(sorteddaystoshow[0]);\n+  var dateTo = new Date(sorteddaystoshow[sorteddaystoshow.length-1]);\n+  var sortedProfiles = [];\n+  for (var i = 0; i < profiles.length; i++) {\n+    var record = {};\n+    record.profileIndex = i;\n+    if (! profiles[i].startDate) { continue; }\n+    var splittedString = profiles[i].startDate.split(\"T\");\n+    record.startDate = new Date(splittedString[0]);\n+    sortedProfiles.push(record);\n+  }\n+  sortedProfiles.sort(function (r1, r2) {\n+    return (r1.startDate < r2.startDate) ? -1 : ((r1.startDate > r2.startDate) ? 1 : 0);\n+  });\n+  for (i = 0; i < sortedProfiles.length; i++) {\n+    var profile = sortedProfiles[i];\n+    if (profile.startDate <= dateFrom) {\n+      result.activeIndex = profile.profileIndex;\n+      continue;\n+    }\n+    if (profile.startDate >= dateFrom && profile.startDate <= dateTo)\n+      result.manyActive = true;\n+    if (profile.startDate > dateFrom)\n+      break;\n+  }\n+\n+  return result;\n+}\n+\n+function getHourMinuteText(hour, minute)\n+{\n+  var text = \"\";\n+  if (hour < 10)\n+    text += \"0\";\n+  text += hour.toString();\n+  text += \":\";\n+  if (minute < 10)\n+    text += \"0\";\n+  text += minute.toString();\n+  return text;\n+}\n+\n+function findBasalRecord(data, time)\n+{\n+  for(var i = 0; i < data.length; i++)\n+  {\n+    if (data[i].time == time)\n+      return data[i];\n+  }\n+  return null;\n+}\n+\n+function findRecommendedRecord(data, minutes) {\n+  for(var i = 0; i < data.length; i++)\n+  {\n+    if (data[i].minutes == minutes)\n+      return data[i];\n+  }\n+  return null;\n+}\n+\n+autotune.report = function report_autotune(datastorage, sorteddaystoshow, options) {\n+  var Nightscout = window.Nightscout;\n+  var client = Nightscout.client;\n+  var translate = client.translate;\n+  var report_plugins = Nightscout.report_plugins;","path":"lib/report_plugins/autotune.js","position":168,"original_position":168,"commit_id":"c9fdeb5a3822e7fe6a85d6ee7e9b88ba437dc518","original_commit_id":"c9fdeb5a3822e7fe6a85d6ee7e9b88ba437dc518","user":{"login":"codacy-bot","id":19940114,"avatar_url":"https://avatars1.githubusercontent.com/u/19940114?v=4","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://www.codacy.com/assets/images/favicon.png) Issue found: ['report_plugins' is assigned a value but never used. (no-unused-vars)](https://www.codacy.com/app/Nightscout/cgm-remote-monitor/pullRequest?prid=1188176)","created_at":"2018-01-01T18:33:57Z","updated_at":"2018-01-01T18:33:57Z","html_url":"https://github.com/nightscout/cgm-remote-monitor/pull/3191#discussion_r159161124","pull_request_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/3191","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/comments/159161124"},"html":{"href":"https://github.com/nightscout/cgm-remote-monitor/pull/3191#discussion_r159161124"},"pull_request":{"href":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/3191"}}},"pull_request":{"url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/3191","id":160020500,"html_url":"https://github.com/nightscout/cgm-remote-monitor/pull/3191","diff_url":"https://github.com/nightscout/cgm-remote-monitor/pull/3191.diff","patch_url":"https://github.com/nightscout/cgm-remote-monitor/pull/3191.patch","issue_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues/3191","number":3191,"state":"open","locked":false,"title":"Add autotune report to Nightscout","user":{"login":"scottleibrand","id":6982790,"avatar_url":"https://avatars1.githubusercontent.com/u/6982790?v=4","gravatar_id":"","url":"https://api.github.com/users/scottleibrand","html_url":"https://github.com/scottleibrand","followers_url":"https://api.github.com/users/scottleibrand/followers","following_url":"https://api.github.com/users/scottleibrand/following{/other_user}","gists_url":"https://api.github.com/users/scottleibrand/gists{/gist_id}","starred_url":"https://api.github.com/users/scottleibrand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scottleibrand/subscriptions","organizations_url":"https://api.github.com/users/scottleibrand/orgs","repos_url":"https://api.github.com/users/scottleibrand/repos","events_url":"https://api.github.com/users/scottleibrand/events{/privacy}","received_events_url":"https://api.github.com/users/scottleibrand/received_events","type":"User","site_admin":false},"body":"This adds autotune as an option to NS reports.\r\n\r\nHuge thanks to @lukas-ondriga, @martinpetlus, @vstrisovsky, @Mdr, @marek0o, who did most of the heavy lifting on this months ago.  And a big thanks to @jessiepusateri for making me re-aware of their work.\r\n\r\nTo complete the integration, I refactored the autotune libraries, so that they are identical between OpenAPS and NS, and we can simply `cp` over each file from oref0 to cgm-remote-monitor and commit it in both places whenever we make updates.\r\n\r\nWith the speed optimizations I just made to autotune, the autotune NS report now runs on up to 2 weeks of data in under a minute, and can analyze 30 days' worth in about 3 minutes.  I would recommend starting with 3 days' or 1 week of data.  If you run it on 2 weeks or more, Chrome will give you a warning dialog after 30 seconds indicating that the tab is non-responsive: just Wait and allow it to finish.\r\n\r\n@danamlewis also added some introductory language and caveats.  If anyone has any other ideas for making things clearer, suggestions (or better yet, PRs to the autotune branch) are welcome. Once this nears merging, @danamlewis also plans to update the autotune docs to reflect the ease of use.\r\n\r\n(Note: this version of autotune still works solely for single values ISF and carb ratio. It’ll tune the first or last value in the profile, even if there are multiples. Some language or warnings for multiple-profile runs may be needed to be added, and volunteers welcome for working with us to figure out a multiple-schedule version of autotune in the future.)\r\n\r\n<img width=\"839\" alt=\"screenshot 2017-12-24 21 26 04\" src=\"https://user-images.githubusercontent.com/6982790/34331961-249c2b8c-e8f1-11e7-8c3b-480d846a355e.png\">\r\n<img width=\"675\" alt=\"screenshot 2017-12-24 21 26 19\" src=\"https://user-images.githubusercontent.com/6982790/34331960-23f329ec-e8f1-11e7-8a35-8e79e30b7ab4.png\">\r\n\r\n","created_at":"2017-12-25T03:30:57Z","updated_at":"2018-01-01T18:33:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4f0d49e8a71fb292be4c1a752e86827aef909bd3","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/3191/commits","review_comments_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/3191/comments","review_comment_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues/3191/comments","statuses_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/statuses/c9fdeb5a3822e7fe6a85d6ee7e9b88ba437dc518","head":{"label":"nightscout:autotune","ref":"autotune","sha":"c9fdeb5a3822e7fe6a85d6ee7e9b88ba437dc518","user":{"login":"nightscout","id":7661012,"avatar_url":"https://avatars2.githubusercontent.com/u/7661012?v=4","gravatar_id":"","url":"https://api.github.com/users/nightscout","html_url":"https://github.com/nightscout","followers_url":"https://api.github.com/users/nightscout/followers","following_url":"https://api.github.com/users/nightscout/following{/other_user}","gists_url":"https://api.github.com/users/nightscout/gists{/gist_id}","starred_url":"https://api.github.com/users/nightscout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nightscout/subscriptions","organizations_url":"https://api.github.com/users/nightscout/orgs","repos_url":"https://api.github.com/users/nightscout/repos","events_url":"https://api.github.com/users/nightscout/events{/privacy}","received_events_url":"https://api.github.com/users/nightscout/received_events","type":"Organization","site_admin":false},"repo":{"id":20042152,"name":"cgm-remote-monitor","full_name":"nightscout/cgm-remote-monitor","owner":{"login":"nightscout","id":7661012,"avatar_url":"https://avatars2.githubusercontent.com/u/7661012?v=4","gravatar_id":"","url":"https://api.github.com/users/nightscout","html_url":"https://github.com/nightscout","followers_url":"https://api.github.com/users/nightscout/followers","following_url":"https://api.github.com/users/nightscout/following{/other_user}","gists_url":"https://api.github.com/users/nightscout/gists{/gist_id}","starred_url":"https://api.github.com/users/nightscout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nightscout/subscriptions","organizations_url":"https://api.github.com/users/nightscout/orgs","repos_url":"https://api.github.com/users/nightscout/repos","events_url":"https://api.github.com/users/nightscout/events{/privacy}","received_events_url":"https://api.github.com/users/nightscout/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nightscout/cgm-remote-monitor","description":"nightscout web monitor","fork":false,"url":"https://api.github.com/repos/nightscout/cgm-remote-monitor","forks_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/forks","keys_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/teams","hooks_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/hooks","issue_events_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues/events{/number}","events_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/events","assignees_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/assignees{/user}","branches_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/branches{/branch}","tags_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/tags","blobs_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/refs{/sha}","trees_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/statuses/{sha}","languages_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/languages","stargazers_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/stargazers","contributors_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/contributors","subscribers_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/subscribers","subscription_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/subscription","commits_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/commits{/sha}","git_commits_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/commits{/sha}","comments_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/comments{/number}","issue_comment_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues/comments{/number}","contents_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/contents/{+path}","compare_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/merges","archive_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/downloads","issues_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues{/number}","pulls_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls{/number}","milestones_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/milestones{/number}","notifications_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/labels{/name}","releases_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/releases{/id}","deployments_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/deployments","created_at":"2014-05-22T00:32:28Z","updated_at":"2018-01-01T03:46:48Z","pushed_at":"2018-01-01T18:29:20Z","git_url":"git://github.com/nightscout/cgm-remote-monitor.git","ssh_url":"git@github.com:nightscout/cgm-remote-monitor.git","clone_url":"https://github.com/nightscout/cgm-remote-monitor.git","svn_url":"https://github.com/nightscout/cgm-remote-monitor","homepage":"","size":13519,"stargazers_count":384,"watchers_count":384,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":12922,"mirror_url":null,"archived":false,"open_issues_count":148,"license":null,"forks":12922,"open_issues":148,"watchers":384,"default_branch":"master"}},"base":{"label":"nightscout:dev","ref":"dev","sha":"4cc7195d53716f9d53689e993c3bc48b4ec70f77","user":{"login":"nightscout","id":7661012,"avatar_url":"https://avatars2.githubusercontent.com/u/7661012?v=4","gravatar_id":"","url":"https://api.github.com/users/nightscout","html_url":"https://github.com/nightscout","followers_url":"https://api.github.com/users/nightscout/followers","following_url":"https://api.github.com/users/nightscout/following{/other_user}","gists_url":"https://api.github.com/users/nightscout/gists{/gist_id}","starred_url":"https://api.github.com/users/nightscout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nightscout/subscriptions","organizations_url":"https://api.github.com/users/nightscout/orgs","repos_url":"https://api.github.com/users/nightscout/repos","events_url":"https://api.github.com/users/nightscout/events{/privacy}","received_events_url":"https://api.github.com/users/nightscout/received_events","type":"Organization","site_admin":false},"repo":{"id":20042152,"name":"cgm-remote-monitor","full_name":"nightscout/cgm-remote-monitor","owner":{"login":"nightscout","id":7661012,"avatar_url":"https://avatars2.githubusercontent.com/u/7661012?v=4","gravatar_id":"","url":"https://api.github.com/users/nightscout","html_url":"https://github.com/nightscout","followers_url":"https://api.github.com/users/nightscout/followers","following_url":"https://api.github.com/users/nightscout/following{/other_user}","gists_url":"https://api.github.com/users/nightscout/gists{/gist_id}","starred_url":"https://api.github.com/users/nightscout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nightscout/subscriptions","organizations_url":"https://api.github.com/users/nightscout/orgs","repos_url":"https://api.github.com/users/nightscout/repos","events_url":"https://api.github.com/users/nightscout/events{/privacy}","received_events_url":"https://api.github.com/users/nightscout/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nightscout/cgm-remote-monitor","description":"nightscout web monitor","fork":false,"url":"https://api.github.com/repos/nightscout/cgm-remote-monitor","forks_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/forks","keys_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/teams","hooks_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/hooks","issue_events_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues/events{/number}","events_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/events","assignees_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/assignees{/user}","branches_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/branches{/branch}","tags_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/tags","blobs_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/refs{/sha}","trees_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/statuses/{sha}","languages_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/languages","stargazers_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/stargazers","contributors_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/contributors","subscribers_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/subscribers","subscription_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/subscription","commits_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/commits{/sha}","git_commits_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/git/commits{/sha}","comments_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/comments{/number}","issue_comment_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues/comments{/number}","contents_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/contents/{+path}","compare_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/merges","archive_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/downloads","issues_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues{/number}","pulls_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls{/number}","milestones_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/milestones{/number}","notifications_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/labels{/name}","releases_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/releases{/id}","deployments_url":"https://api.github.com/repos/nightscout/cgm-remote-monitor/deployments","created_at":"2014-05-22T00:32:28Z","updated_at":"2018-01-01T03:46:48Z","pushed_at":"2018-01-01T18:29:20Z","git_url":"git://github.com/nightscout/cgm-remote-monitor.git","ssh_url":"git@github.com:nightscout/cgm-remote-monitor.git","clone_url":"https://github.com/nightscout/cgm-remote-monitor.git","svn_url":"https://github.com/nightscout/cgm-remote-monitor","homepage":"","size":13519,"stargazers_count":384,"watchers_count":384,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":12922,"mirror_url":null,"archived":false,"open_issues_count":148,"license":null,"forks":12922,"open_issues":148,"watchers":384,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/3191"},"html":{"href":"https://github.com/nightscout/cgm-remote-monitor/pull/3191"},"issue":{"href":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues/3191"},"comments":{"href":"https://api.github.com/repos/nightscout/cgm-remote-monitor/issues/3191/comments"},"review_comments":{"href":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/3191/comments"},"review_comment":{"href":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nightscout/cgm-remote-monitor/pulls/3191/commits"},"statuses":{"href":"https://api.github.com/repos/nightscout/cgm-remote-monitor/statuses/c9fdeb5a3822e7fe6a85d6ee7e9b88ba437dc518"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"codacy-bot"}}