From 0607ed562879a88cc5b316fe1408798c2a3f5ad4 Mon Sep 17 00:00:00 2001 From: CyberMind-FR Date: Fri, 23 Jan 2026 22:15:31 +0100 Subject: [PATCH] fix(cyberfeed): Wrap RPCD array responses in objects for LuCI RPC - get_feeds now returns {"feeds": [...]} instead of raw array - get_items now returns {"items": [...]} instead of raw array - Updated api.js to extract arrays from wrapped responses - Fixes feed list not displaying in LuCI dashboard Co-Authored-By: Claude Opus 4.5 --- package/secubox/luci-app-cyberfeed/Makefile | 2 +- .../htdocs/luci-static/resources/cyberfeed/api.js | 12 ++++++++---- .../root/usr/libexec/rpcd/luci.cyberfeed | 12 ++++++------ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/package/secubox/luci-app-cyberfeed/Makefile b/package/secubox/luci-app-cyberfeed/Makefile index ee1ebc07..a5ede33a 100644 --- a/package/secubox/luci-app-cyberfeed/Makefile +++ b/package/secubox/luci-app-cyberfeed/Makefile @@ -11,7 +11,7 @@ LUCI_PKGARCH:=all PKG_NAME:=luci-app-cyberfeed PKG_VERSION:=0.1.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=CyberMind PKG_LICENSE:=MIT diff --git a/package/secubox/luci-app-cyberfeed/htdocs/luci-static/resources/cyberfeed/api.js b/package/secubox/luci-app-cyberfeed/htdocs/luci-static/resources/cyberfeed/api.js index cbd79890..1062724e 100644 --- a/package/secubox/luci-app-cyberfeed/htdocs/luci-static/resources/cyberfeed/api.js +++ b/package/secubox/luci-app-cyberfeed/htdocs/luci-static/resources/cyberfeed/api.js @@ -16,13 +16,13 @@ var callGetStatus = rpc.declare({ var callGetFeeds = rpc.declare({ object: 'luci.cyberfeed', method: 'get_feeds', - expect: { } + expect: { feeds: [] } }); var callGetItems = rpc.declare({ object: 'luci.cyberfeed', method: 'get_items', - expect: { } + expect: { items: [] } }); var callAddFeed = rpc.declare({ @@ -83,11 +83,15 @@ return baseclass.extend({ }, getFeeds: function() { - return callGetFeeds(); + return callGetFeeds().then(function(res) { + return res.feeds || []; + }); }, getItems: function() { - return callGetItems(); + return callGetItems().then(function(res) { + return res.items || []; + }); }, addFeed: function(name, url, type, category) { diff --git a/package/secubox/luci-app-cyberfeed/root/usr/libexec/rpcd/luci.cyberfeed b/package/secubox/luci-app-cyberfeed/root/usr/libexec/rpcd/luci.cyberfeed index 611b9114..8818c882 100644 --- a/package/secubox/luci-app-cyberfeed/root/usr/libexec/rpcd/luci.cyberfeed +++ b/package/secubox/luci-app-cyberfeed/root/usr/libexec/rpcd/luci.cyberfeed @@ -77,20 +77,20 @@ EOF # Get feeds list get_feeds() { + local feeds="[]" if [ -x "$CYBERFEED_BIN" ]; then - $CYBERFEED_BIN list - else - echo "[]" + feeds=$($CYBERFEED_BIN list) fi + echo "{\"feeds\":$feeds}" } # Get feed items get_items() { + local items="[]" if [ -f "${OUTPUT_DIR}/feeds.json" ]; then - cat "${OUTPUT_DIR}/feeds.json" - else - echo "[]" + items=$(cat "${OUTPUT_DIR}/feeds.json") fi + echo "{\"items\":$items}" } # Add a feed