From: Paul Donald Date: Fri, 22 May 2026 12:46:41 +0000 (+0300) Subject: luci-app-dockerman: correctness fixes X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=4a63b98525ea624ca022be29f7f9ab9feb64f4ec;p=openwrt-luci.git luci-app-dockerman: correctness fixes follow-up to baa0f16bb36e830279a21bd015aa7734f3e6df21 Signed-off-by: Paul Donald --- diff --git a/applications/luci-app-dockerman/htdocs/luci-static/resources/dockerman/common.js b/applications/luci-app-dockerman/htdocs/luci-static/resources/dockerman/common.js index 4425ecd93d..53147cf68c 100644 --- a/applications/luci-app-dockerman/htdocs/luci-static/resources/dockerman/common.js +++ b/applications/luci-app-dockerman/htdocs/luci-static/resources/dockerman/common.js @@ -488,7 +488,7 @@ const dv = view.extend({ parseMemory(value) { if (!value) return 0; - const rex = /^([0-9.]+) *([bkmgt])?i? *[Bb]?/i; + const rex = /^([0-9.]+) *([bkmgtp])?i? *[Bb]?/i; let [, amount, unit] = rex.exec(value.toLowerCase()); amount = amount ? Number.parseFloat(amount) : 0; switch (unit) { diff --git a/applications/luci-app-dockerman/htdocs/luci-static/resources/view/dockerman/container.js b/applications/luci-app-dockerman/htdocs/luci-static/resources/view/dockerman/container.js index 66f412a68f..9f8430ec0b 100644 --- a/applications/luci-app-dockerman/htdocs/luci-static/resources/view/dockerman/container.js +++ b/applications/luci-app-dockerman/htdocs/luci-static/resources/view/dockerman/container.js @@ -1086,7 +1086,7 @@ return dm2.dv.extend({ o = s.taboption('wsconsole', form.DummyValue, 'wsconsole_controls', _('WebSocket Console')); o.render = L.bind(function() { - const status = this.getContainerStatus(); + const status = this.getContainerStatus(this_container); const isRunning = status === 'running'; if (!isRunning) { @@ -1327,6 +1327,7 @@ return dm2.dv.extend({ .then(() => { const this_container = map.data.get('json', 'cont'); const id = this_container?.Id; + const nc = gethc('NanoCpus'); /* In the container edit context, there are not many items we can change - duplicate the container */ const createBody = { @@ -1335,11 +1336,11 @@ return dm2.dv.extend({ Memory: toInt(gethc('Memory')), MemorySwap: toInt(gethc('MemorySwap')), MemoryReservation: toInt(gethc('MemoryReservation')), - BlkioWeight: toInt(gethc('blkio_weight')), + BlkioWeight: toInt(gethc('BlkioWeight')), CpuPeriod: toInt(gethc('CpuPeriod')), CpuQuota: toInt(gethc('CpuQuota')), - NanoCPUs: toInt(gethc('NanoCpus') * (10 ** 9)), // unit: 10^-9, input: float + NanoCPUs: nc ? Math.round(nc * 1e9) : undefined, // unit: 10^-9, input: float OomKillDisable: toBool(gethc('OomKillDisable')), RestartPolicy: { Name: get('restart_policy') || this_container.HostConfig?.RestartPolicy?.Name }, diff --git a/applications/luci-app-dockerman/htdocs/luci-static/resources/view/dockerman/volumes.js b/applications/luci-app-dockerman/htdocs/luci-static/resources/view/dockerman/volumes.js index 7734a431bc..d7fcc205e6 100644 --- a/applications/luci-app-dockerman/htdocs/luci-static/resources/view/dockerman/volumes.js +++ b/applications/luci-app-dockerman/htdocs/luci-static/resources/view/dockerman/volumes.js @@ -22,7 +22,7 @@ return dm2.dv.extend({ render([volumes, containers]) { if (volumes?.code !== 200) { - return E('div', {}, [ volumes.body.message ]); + return E('div', {}, [ volumes?.body?.message ?? _('Failed to load volumes') ]); } // this.volumes = volumes || {}; diff --git a/applications/luci-app-dockerman/root/usr/share/rpcd/ucode/docker_rpc.uc b/applications/luci-app-dockerman/root/usr/share/rpcd/ucode/docker_rpc.uc index 5fb85394d7..9bd56740e0 100755 --- a/applications/luci-app-dockerman/root/usr/share/rpcd/ucode/docker_rpc.uc +++ b/applications/luci-app-dockerman/root/usr/share/rpcd/ucode/docker_rpc.uc @@ -290,7 +290,7 @@ function run_ttyd(request) { const id = request.args.id || ''; const cmd = request.args.cmd || '/bin/sh'; - const port = request.args.port || 7682; + const port = int(request.args.port) || 7682; const uid = request.args.uid || ''; if (!id) {