The new luci-rpc/getNetworkDevices procedure offers netdev enumeration
with included IPv4 and IPv6 address information as well as 64bit traffic
counters, so we can remove the calls to network.device/status and
luci/getIfaddrs now as we're able to obtain all info from a single source.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Use L.resolveDefault() catch unexpected RPC replies and rename declared
rpc functions in a consistent manner.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Overwrite the traffic statistics reported by getifaddrs() with the ones
reported by the network.device/status procedure if available as the
getifaddr() stats are limited to 32bit counters.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
When no section title is defined, the table renderer is supposed to use
the uci section id as fallback when the table section is not declared
to be anonymous.
Fixes: #3147
Fixes: a90bf384b ("luci-base: form.js: harmonize title property handling")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Store the cached system feature flags keyed by the current session id,
this ensures that the features are refreshed on login.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Support a new option "nobatch: true" in rpc.declare() which prevents the
underlying RPC call from being batched with other calls.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Many uci options have different implicit defaults, depending on the
values of other related options. A prominent example is the wireless
ieee80211w option which defaults to 2, 1 or 0 depending on whether
the encryption is set to wpa3-sae, wpa2/wpa2 mixed or any other mode
respectively.
Add the ability to specify a dictionary of default values and their
corresponding dependencies in order to be able to express such
configurations.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Set a `data-changed=true` attribute on the widget element when the user
did any change to the default value.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Only consider valid ethernet mac addresses when building the device state
from raw getifaddrs() information.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Implement a new map type JSONMap which uses a JSON data structure instead
of uci as configuration data backend.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This allows for some naive cache busting when the LuCI version changes,
to avoid loading outdated classes from cache.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
- Capture stack trace in L.raise() if passed type is not an Error instance
- Use L.ui.addNotification in L.error() to render the error message
- Prevent duplicate error reporting in the ui
Signed-off-by: Jo-Philipp Wich <jo@mein.io>