Age | Commit message (Collapse) | Author |
|
Fixes: #6111
Fixes: 08ae8d40a9 ("luci-base, luci-lua-runtime: fix "dispatched" and "requested" properties")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Fixes: #6111
Fixes: a5d21dadbd ("luci-base: fix rendering ucode templates from `template` target")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
A previous commit inadvertently broke support for rendering ucode templates
from the `template` dispatcher target.
Fixes: #6111
Fixes: fa17c1573f ("luci-base, luci-lua-runtime: adjust Lua template environment")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
To maintain full compatibility with the old Lua runtime, templates
rendered from a menu `template()` action must implicitly inherit the
`luci.dispatcher` namespace as scope while other indirectly included
templates must not.
Fixes: #6105
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
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>
|
|
In case a theme shipped sysauth.htm failed to render/execute, expose the
exception error details in the ui theme fallback indicator.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
The ubus gateway fallback code incorrectly formatted ubus replies
containing no payload data when forwarding them via HTTP, leading
to `TypeError: Unexpected reply data format` errors in at least
the `luci.fs` class when receiving replies without payload.
Fix this issue by ensuring that the result array never contains
a `null` value for the payload, send an one-element array containing
just the status code in this case instead.
Fixes: #6074
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Ensure to first completely render the action function before flushing HTTP
headers since the invoked action logic might modify the HTTP headers itself.
Fixes: e7afd0d327 ("luci-base: fix luci.http.close()")
Ref: https://github.com/openwrt/luci/commit/e7afd0d327bb35c502ca41a3c5e3ea098898fbd7#commitcomment-88736854
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Ensure that `http.write()` or template rendering operations after a call
to `http.close()` do not produce additional output. This is required for
certain legacy Lua apps which invoke write and close operations in the
middle of a server side cbi rendering process.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Make sure to request loading the Lua bridge as optional when initializing
the Lua VM context from trycompile() in order to not raise a fatal exception
in case the Lua runtime support is not present.
Ref: https://forum.openwrt.org/t/x/141426
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Add menu tree annotations for node readonly and dependency satisfied state
in order to ensure that unreachable menu nodes are hidden from view.
Fixes: ded8ccf93e ("luci-base-ucode: add initial ucode based LuCI runtime")
Ref: https://forum.openwrt.org/t/x/141426/10
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
In case a callback is installed from Lua code, the received callback
argument is not a callable function but a resource object with a call
method. Attempts to call it will leading to a `Type error: left-hand
side is not a function` error.
To solve this issue, invoke the internally set filehandler instead
which wraps the resource if needed.
Fixes: #6067
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Update timezone data to 2022f.
* http://mm.icann.org/pipermail/tz-announce/2022-October/000075.html
- Mexico will no longer observe DST after 2022, except for areas
near the US border that continue to observe US DST rules.
On 2022-10-30 at 02:00 the Mexican state of Chihuahua moves
from -07 (-06 with DST) to year-round -06.
- Fiji will not observe DST in 2022/3.
For now, assume DST is suspended indefinitely.
- Simplify four Ontario zones.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
Add a ui indicator displaying error details when the configured theme
failed to load and the next available one is being used instead.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Make sure that the uci session ID of the `luci.model.uci` module within
the Lua context is updated once we acquire the login session information.
In case legacy themes are used, the probing of the theme header template
might indirectly load the Lua runtime and the Lua side `luci.dispatcher`
module which in turn will load the `luci.model.uci` and set the session
ID there which is not yet initialized at this point in time.
This results in broken uci change handling within legacy Lua applications
when a legacy theme is loaded.
Fixes: #6060
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
The LuCI uci configuration requires language tags with underscores due
limitations of uci option names but the language catalogs themselves
are designated with dash separated language tags.
Make sure to substitute underscores with dashes when determining the
desired request language in order to fix loading of languages such as
`pt-br` or `zh-cn`.
Ref: https://github.com/openwrt/luci/pull/5976#issuecomment-1290352951
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
The ability to require certain paths to be absent for a menu entry to show
up was lost during the ucode conversion.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
The TIME_WAIT indicator might not appear at the beginning of the tuple
string in some cases, so match it anywhere.
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
[add commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Ensure that the extracted tuple string starts with a space to fully match
all contained key-value pairs.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Some init scripts, such as the sysfsutils one, declare their START or
STOP variables very late in the file. Duplicate the search buffer to
2048 byte in order to catch these cases.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Some existing LuCI apps ship menu.d JSON files with `cbi` and `form` typed
dispatch targets, support those as well.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Move classes required for Lua runtime support into a new `luci-lua-runtime`
package. Also replace the `luci.http` and `luci.util` classes in
`luci-lib-base` with stubbed versions interacting with the ucode based
runtime environment.
Finally merge `luci-base-ucode` into the remainders of `luci-base`.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|