From cab4bdbf33e0311a0a673698a116101d207652e7 Mon Sep 17 00:00:00 2001 From: chengyongru Date: Fri, 15 May 2026 14:42:31 +0800 Subject: [PATCH] simplify(pairing): unify allow_list lookup in BaseChannel.is_allowed() Merge the three-branch dict lookup (allow_from key check, allowFrom fallback, getattr) into a single `or` chain. Same semantics, less branching. --- nanobot/channels/base.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/nanobot/channels/base.py b/nanobot/channels/base.py index ee523da5a..aac3147e8 100644 --- a/nanobot/channels/base.py +++ b/nanobot/channels/base.py @@ -184,12 +184,9 @@ class BaseChannel(ABC): def is_allowed(self, sender_id: str) -> bool: """Check sender permission: star > allowlist > pairing store > deny.""" if isinstance(self.config, dict): - if "allow_from" in self.config: - allow_list = self.config.get("allow_from") or [] - else: - allow_list = self.config.get("allowFrom", []) or [] + allow_list = self.config.get("allow_from") or self.config.get("allowFrom") or [] else: - allow_list = getattr(self.config, "allow_from", []) or [] + allow_list = getattr(self.config, "allow_from", None) or [] if "*" in allow_list: return True # allowFrom entries are opaque tokens — must match exactly.