• v0.3.56 7abdf7b4d6

    v0.3.56 Stable

    calum released this 2026-07-20 19:57:15 +01:00 | 92 commits to main since this release

    0.3.56 — LAG editing (add/remove members, edit name, edit designation) + collision dialog + peer-symmetry guard + trunk-inheritance. Edit row in the Network / VLANs LAGs table calls api.upsertLag with the EXISTING lag.id → hits the ADR-N064 UPDATE path (join/leave propagation was already correct in Rust; the FE just wasn't calling it). Edit payload PRESERVES the LAG's trunk state (portMode/nativeVlan/vlanMemberships) so a trunked LAG's config survives edits. lag_number becomes editable (Rust upsert_lag UPDATE clause now overwrites from payload); UNIQUE(device_id, lag_number) enforces per-switch uniqueness. FE collision dialog (LagCollisionDialog) with 3 actions: Cancel / Add-to-existing (folds source members into target LAG, drops source) / Create LAG (next available) (MAX+1). buildPeerDeviceGroups gains an originKind param: LAG origin → offer LAG peers + non-switch trunk device ports; PORT origin → offer PORT peers only. LAG↔port never offered. Addendum: a member joining an already-trunked LAG inherits the LAG's config via ADR-N064 §3 (LAG is truth); the edit preserves the LAG's trunk state so the operator does not re-author. Rust real-store 5/5 (phase4_n064b_lag_editing.rs) + Cargo 180/180 + Walker 21/21 (E1-E6 editing + collision, A1 addendum trunked-LAG-add-members, S1/S2 peer-symmetry). No schema change; no Rust command surface change. TS + Vite clean.

    Downloads