What's new
Fixed
- RBAC role matching:
resolve_role()now uses JID suffix matching, fixing role assignment failures when phone numbers are stored without country prefix. - Alert source matching: Replaced unsafe substring check with a clean JID suffix match to prevent false security positives.
- Away auto-reply: Suffix matching now used when comparing incoming messages against
ADMIN_PHONE. - Webhook URL detection: Replaced single-tier detection with a robust multi-tier fallback (tunnel headers, external IPs) with a stability flag output.
Added
- Fuzzy keyword alerts: Dynamic alert rules now support
fuzzy_keyword_match— catches plurals and ignores accents. - Webhook stability banner: A warning is shown in the panel if the webhook URL is missing, uses a local hostname, or is deemed unstable.
- JID normalization helpers: Centralized
_jid_matchand_norm_jidfunctions across the codebase.
See the full CHANGELOG for details on previous versions.