Files
luci/applications
Stan Grishin 5d2db5baad luci-app-pbr: update to 1.2.2-r6
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>
2026-02-26 17:01:17 -08:00
..
2026-02-24 03:52:31 +01:00
2026-02-24 03:52:36 +01:00