From a77323b1a0d23798c7bbffcbde5114e2f750f07d Mon Sep 17 00:00:00 2001 From: Cobra Date: Tue, 14 Apr 2026 23:17:13 -0400 Subject: [PATCH] Skip all personal devices from ARP seed, not just labeled ones Operator needs ARRIVED for any phone or wearable on site, including unknown devices. Silent seeding only applies to infrastructure and non-personal devices. --- net_alerter/net_alerter.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/net_alerter/net_alerter.py b/net_alerter/net_alerter.py index c3613e1..e2cc4c5 100644 --- a/net_alerter/net_alerter.py +++ b/net_alerter/net_alerter.py @@ -827,12 +827,10 @@ def seed_from_arp_cache(): if mac == "00:00:00:00:00:00" or flags == "0x0": continue - # Labeled personal devices must NOT be silently seeded — they need - # a real on_arrival call so ARRIVED fires when they rejoin. - # Just update last_seen as a baseline so the watchdog has a reference. - with personal_lock: - is_personal = mac in device_labels or mac in personal_devices - if is_personal: + # Personal devices (phones, wearables — any LAA MAC, known mobile OUI, + # or explicitly labeled MAC) must NOT be silently seeded. The operator + # needs ARRIVED for every device they don't already know about. + if is_personal_device(mac): with last_seen_lock: if mac not in last_seen: last_seen[mac] = time.time()