summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/ucode/dispatcher.uc
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2022-11-21 12:24:31 +0100
committerJo-Philipp Wich <jo@mein.io>2022-11-21 12:24:31 +0100
commit08ae8d40a939654d2e4a1774853c5c5683b12268 (patch)
tree3a0dc2b7a423b5535fdd38da0f99851d7b0b767f /modules/luci-base/ucode/dispatcher.uc
parentc4d86c9f670a31e4541ccdf1876be3ab8b98ee5c (diff)
luci-base, luci-lua-runtime: fix "dispatched" and "requested" properties
Ensure to properly emulate the "dispatched" and "requested" properties which refer to the executed and initially resolved menu node respectivey. Also stop exposing a `node` property in Lua context to maintain full compatibility with the old Lua runtime. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-base/ucode/dispatcher.uc')
-rw-r--r--modules/luci-base/ucode/dispatcher.uc5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/luci-base/ucode/dispatcher.uc b/modules/luci-base/ucode/dispatcher.uc
index b08a2f8b7a..c996c76af1 100644
--- a/modules/luci-base/ucode/dispatcher.uc
+++ b/modules/luci-base/ucode/dispatcher.uc
@@ -856,7 +856,7 @@ dispatch = function(_http, path) {
let version = determine_version();
let lang = determine_request_language();
- runtime = LuCIRuntime({
+ runtime = runtime || LuCIRuntime({
http,
ubus,
uci,
@@ -892,7 +892,8 @@ dispatch = function(_http, path) {
let resolved = resolve_page(menu, path);
runtime.env.ctx = resolved.ctx;
- runtime.env.node = resolved.node;
+ runtime.env.dispatched = resolved.node;
+ runtime.env.requested ??= resolved.node;
if (length(resolved.ctx.auth)) {
let session = is_authenticated(resolved.ctx.auth);