diff --git a/DEPLOY_UPDATES.md b/DEPLOY_UPDATES.md index 1b18455b..a6eb7740 100644 --- a/DEPLOY_UPDATES.md +++ b/DEPLOY_UPDATES.md @@ -69,11 +69,17 @@ ubus -S call luci.secubox check_updates ### Package Versions - `secubox-core`: 0.8.0-6 -- `luci-app-secubox-admin`: 1.0.0-6 +- `luci-app-secubox-admin`: 1.0.0-7 ### Recent Fixes -**v1.0.0-6** (Latest): +**v1.0.0-7** (Latest): +- Added graceful RPC fallback to ALL views +- Wrapped all RPC calls in L.resolveDefault() with appropriate fallback values +- Fixed "No related RPC reply" errors in health.js, logs.js, settings.js, apps.js, dashboard.js +- All pages now load gracefully even when backend not deployed + +**v1.0.0-6**: - Fixed WidgetRenderer constructor error - Changed from `new WidgetRenderer({...})` to `WidgetRenderer({...})` - Added comprehensive error handling with try-catch and fallback error display diff --git a/package/secubox/luci-app-secubox-admin/Makefile b/package/secubox/luci-app-secubox-admin/Makefile index f199a7c3..7e3a47ca 100644 --- a/package/secubox/luci-app-secubox-admin/Makefile +++ b/package/secubox/luci-app-secubox-admin/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-secubox-admin PKG_VERSION:=1.0.0 -PKG_RELEASE:=6 +PKG_RELEASE:=7 PKG_LICENSE:=MIT PKG_MAINTAINER:=CyberMind diff --git a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/apps.js b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/apps.js index 0f65f914..7f9f582e 100644 --- a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/apps.js +++ b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/apps.js @@ -8,8 +8,8 @@ return view.extend({ load: function() { return Promise.all([ - API.getApps(), - API.getModules(), + L.resolveDefault(API.getApps(), { apps: [] }), + L.resolveDefault(API.getModules(), { modules: {} }), L.resolveDefault(API.checkUpdates(), {}) ]); }, diff --git a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/dashboard.js b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/dashboard.js index 13c7534d..aaf2dec5 100644 --- a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/dashboard.js +++ b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/dashboard.js @@ -11,10 +11,10 @@ return view.extend({ load: function() { return Promise.all([ - API.getApps(), - API.getModules(), - API.getHealth(), - API.getAlerts() + L.resolveDefault(API.getApps(), { apps: [] }), + L.resolveDefault(API.getModules(), { modules: {} }), + L.resolveDefault(API.getHealth(), {}), + L.resolveDefault(API.getAlerts(), { alerts: [] }) ]); }, diff --git a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/health.js b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/health.js index 432acc20..9bdf21cc 100644 --- a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/health.js +++ b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/health.js @@ -5,7 +5,7 @@ return view.extend({ load: function() { - return API.getHealth(); + return L.resolveDefault(API.getHealth(), {}); }, render: function(health) { diff --git a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/logs.js b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/logs.js index 7418947e..809025a8 100644 --- a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/logs.js +++ b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/logs.js @@ -7,7 +7,7 @@ return view.extend({ selectedService: 'system', load: function() { - return API.getLogs(this.selectedService, 100); + return L.resolveDefault(API.getLogs(this.selectedService, 100), { logs: '' }); }, render: function(logsData) { diff --git a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/settings.js b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/settings.js index 3c2318fa..78e18116 100644 --- a/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/settings.js +++ b/package/secubox/luci-app-secubox-admin/htdocs/luci-static/resources/view/secubox-admin/settings.js @@ -7,8 +7,8 @@ return view.extend({ load: function() { return Promise.all([ - API.getApps(), - API.getModules() + L.resolveDefault(API.getApps(), { apps: [] }), + L.resolveDefault(API.getModules(), { modules: {} }) ]); },