From b537a513b3d5cde66875c9ef9b0af22a7074a6be Mon Sep 17 00:00:00 2001 From: Lemon Date: Mon, 29 Jul 2024 20:32:31 +0800 Subject: [PATCH 1/2] fix: bigint overflow --- htdocs/luci-static/resources/view/tailscale/setting.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/htdocs/luci-static/resources/view/tailscale/setting.js b/htdocs/luci-static/resources/view/tailscale/setting.js index 969dfa4..2bcb028 100644 --- a/htdocs/luci-static/resources/view/tailscale/setting.js +++ b/htdocs/luci-static/resources/view/tailscale/setting.js @@ -17,7 +17,9 @@ var callServiceList = rpc.declare({ params: ['name'], expect: { '': {} } }); - +function enquoteBigNumber(str) { + return str.replace(/("\w+"):\s*(\d+)/g, '$1:"$2"'); +} function getStatus() { var status = {}; return Promise.resolve(callServiceList('tailscale')).then(function (res) { @@ -28,7 +30,7 @@ function getStatus() { } return fs.exec("/usr/sbin/tailscale", ["status", "--json"]); }).then(function(res) { - var tailscaleStatus = JSON.parse(res.stdout); + var tailscaleStatus = JSON.parse(enquoteBigNumber(res.stdout)); if (!tailscaleStatus.AuthURL && tailscaleStatus.BackendState == "NeedsLogin") { fs.exec("/usr/sbin/tailscale", ["login"]); } @@ -91,7 +93,7 @@ return view.extend({ return Promise.resolve(getStatus()).then(function(res) { var service_view = document.getElementById("service_status"); var login_view = document.getElementById("login_status_div"); - service_view.innerHTML = renderStatus(res.isRunning); + service_view.innerHTML = renderStatus(res.isRunning); login_view.innerHTML = renderLogin(res.backendState, res.authURL, res.displayName); var logoutButton = document.getElementById('logout_button'); if (logoutButton) { @@ -103,7 +105,7 @@ return view.extend({ } }); }); - + return E('div', { class: 'cbi-section', id: 'status_bar' }, [ E('p', { id: 'service_status' }, _('Collecting data ...')) ]); From a3fc0c24f447e9553d0ba30ea63d86e90dda582c Mon Sep 17 00:00:00 2001 From: asvow <88471740+asvow@users.noreply.github.com> Date: Tue, 30 Jul 2024 20:06:46 +0800 Subject: [PATCH 2/2] modify the indentation symbol --- htdocs/luci-static/resources/view/tailscale/setting.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/htdocs/luci-static/resources/view/tailscale/setting.js b/htdocs/luci-static/resources/view/tailscale/setting.js index 2bcb028..5fb1987 100644 --- a/htdocs/luci-static/resources/view/tailscale/setting.js +++ b/htdocs/luci-static/resources/view/tailscale/setting.js @@ -17,9 +17,11 @@ var callServiceList = rpc.declare({ params: ['name'], expect: { '': {} } }); + function enquoteBigNumber(str) { - return str.replace(/("\w+"):\s*(\d+)/g, '$1:"$2"'); + return str.replace(/("\w+"):\s*(\d+)/g, '$1:"$2"'); } + function getStatus() { var status = {}; return Promise.resolve(callServiceList('tailscale')).then(function (res) {