From 134736a0e90076ff1f35d82c9b02302b88dfa814 Mon Sep 17 00:00:00 2001 From: CyberMind-FR Date: Sun, 25 Jan 2026 09:13:21 +0100 Subject: [PATCH] fix(tor-shield): Handle RPC expect unwrapping in circuits API The RPC expect clause unwraps the response, so circuits data may be an array directly rather than an object with circuits property. Co-Authored-By: Claude Opus 4.5 --- .../htdocs/luci-static/resources/tor-shield/api.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package/secubox/luci-app-tor-shield/htdocs/luci-static/resources/tor-shield/api.js b/package/secubox/luci-app-tor-shield/htdocs/luci-static/resources/tor-shield/api.js index be2fe776..db0c26e5 100644 --- a/package/secubox/luci-app-tor-shield/htdocs/luci-static/resources/tor-shield/api.js +++ b/package/secubox/luci-app-tor-shield/htdocs/luci-static/resources/tor-shield/api.js @@ -203,9 +203,13 @@ return baseclass.extend({ callCircuits(), callBandwidth() ]).then(function(results) { + // Handle RPC expect unwrapping - results[1] may be array or object + var circuitsData = results[1] || []; + var circuits = Array.isArray(circuitsData) ? circuitsData : (circuitsData.circuits || []); + return { status: results[0] || {}, - circuits: (results[1] || {}).circuits || [], + circuits: circuits, bandwidth: results[2] || {} }; });