mirror of
https://github.com/openwrt/luci.git
synced 2026-04-15 10:51:51 +00:00
Update luci-app-pbr from 1.2.1-r87 to 1.2.2-r6. This release bumps compat to 25, fixes split-uplink WAN6 interface filtering in the rpcd backend, adds error handling to the status overview widget, normalizes all README anchor links to kebab-case, and updates the translation template. Signed-off-by: Stan Grishin <stangri@melmac.ca> --- - **6 files changed**, +90 / -83 lines (net +7) - **1 commit**: `cc43913` — `luci-app-pbr: update to 1.2.2-r6` --- - Version bumped from `1.2.1-r87` to `1.2.2-r6` - URL updated from `github.com/stangri/...` to `github.com/mossdef-org/...` - No dependency changes --- `rpcdCompat` bumped from `24` to `25`. `get_supported_interfaces()` now filters out the WAN6 interface in split-uplink configurations so it does not appear as a policy target in the UI. Two filter points added: 1. **`_build_ifaces_supported()` callback** — When iterating netifd interfaces, skips any interface where `is_split_uplink()` is true and `is_uplink6()` matches. Prevents WAN6 from being added to the supported list. 2. **Firewall zone enumeration loop** — Same check applied when iterating interfaces from the firewall WAN zone. Skips WAN6 via `continue` before the `is_supported_interface` check. **Impact:** In split-uplink setups (separate interfaces for IPv4 and IPv6 uplinks), the WAN6 interface no longer appears in the policy target dropdown. Policies should target the WAN4 interface; IPv6 routing follows automatically. --- **Compat bumps:** - `LuciCompat`: `24` → `25` - `ReadmeCompat`: `1.2.1` → `1.2.2` **README anchor link fixes (2 locations):** - `#WarningMessagesDetails` → `#warning-messages-details` - `#ErrorMessagesDetails` → `#error-messages-details` **README anchor link fixes (10 locations):** | Old Anchor | New Anchor | |-------------------------------|-------------------------------| | `#ServiceConfigurationSettings` | `#service-configuration-settings` | | `#StrictEnforcement` | `#strict-enforcement` | | `#UseResolversSetSupport` | `#use-resolvers-set-support` | | `#WireGuardServerUseCases` (×2) | `#wireguard-server-use-cases` | | `#IgnoreTarget` | `#ignore-target` | | `#PolicyOptions` | `#policy-options` | | `#DNSPolicyOptions` | `#dns-policy-options` | | `#DSCPTag-BasedPolicies` | `#dscp-tag-based-policies` | | `#CustomUserFiles` | `#custom-user-files` | All anchors converted from PascalCase to kebab-case to match the current README heading format. **Error handling added:** - Entire `render()` function body wrapped in `try/catch` block - On exception, renders a yellow warning banner: `"Unable to retrieve PBR status"` instead of crashing the status page - Prevents unhandled errors from breaking the LuCI overview when PBR data is malformed or unavailable **Data access simplified:** - Old: Verbose fallback object with explicit null fields (`enabled: null`, `running: null`, `version: null`, `gateways: null`, etc.) - New: `var reply = (data[0] && data[0][pkg.Name])` `|| {};` — single-line fallback to empty object - All downstream property access already handles undefined values, making the verbose defaults unnecessary **No behavioral changes** to the status table rendering logic itself (Active/Inactive/Disabled states, iptables/nft/fw4 mode detection). --- **1 new string added:** - `"Unable to retrieve %s status"` — Error fallback message for the status overview widget **0 strings removed, 0 strings reworded.** All other changes are source line number updates from the `72_pbr.js` refactoring. Existing translations remain valid; translators only need to handle the 1 new entry. --- - `rpcdCompat` bumped from `24` to `25` - `LuciCompat` bumped from `24` to `25` - Requires companion `pbr` package >= 1.2.2 (for `is_split_uplink()` and `is_uplink6()` functions used by the rpcd backend) - All existing RPC methods preserved; no new methods added - All existing UI functionality preserved Signed-off-by: Stan Grishin <stangri@melmac.ca>