fix: restore BLE scan filter for FFF0 + payfrit name #42

Closed
schwifty wants to merge 0 commits from schwifty/fix-ble-scan-filter into main
Collaborator

What broke

My CP-28-only refactor (#41) over-filtered the BLE scan. Two issues:

  1. FFF0 fallback removed: The old code unconditionally mapped any FFF0 device to DX-Smart. I accidentally gated it on name patterns, so CP-28s advertising FFF0 with non-matching names got filtered out.

  2. "Payfrit" name not detected: We write "Payfrit" as the beacon name during old SDK provisioning (cmd 0x43), but that name wasn't in the detection list. Already-provisioned beacons broadcasting without iBeacon data in their advertisement packet were invisible.

Fix

  • Restore unconditional FFF0 → .dxsmart mapping
  • Add "payfrit" to the device name pattern check

Result

All CP-28 beacons should show up in scans again — factory default, mid-provision, and already-provisioned.

## What broke My CP-28-only refactor (#41) over-filtered the BLE scan. Two issues: 1. **FFF0 fallback removed**: The old code unconditionally mapped any FFF0 device to DX-Smart. I accidentally gated it on name patterns, so CP-28s advertising FFF0 with non-matching names got filtered out. 2. **"Payfrit" name not detected**: We write "Payfrit" as the beacon name during old SDK provisioning (cmd 0x43), but that name wasn't in the detection list. Already-provisioned beacons broadcasting without iBeacon data in their advertisement packet were invisible. ## Fix - Restore unconditional `FFF0 → .dxsmart` mapping - Add `"payfrit"` to the device name pattern check ## Result All CP-28 beacons should show up in scans again — factory default, mid-provision, and already-provisioned.
schwifty added 1 commit 2026-03-23 03:12:01 +00:00
The CP-28-only refactor accidentally over-filtered the BLE scan:

1. FFF0 service detection was gated on name patterns — CP-28 beacons
   advertising FFF0 with non-matching names (e.g. already provisioned
   as "Payfrit") were silently filtered out. Restored unconditional
   FFF0 → dxsmart mapping (matching old behavior).

2. Already-provisioned beacons broadcast with name "Payfrit" (set by
   old SDK cmd 0x43), but that name wasn't in the detection patterns.
   Added "payfrit" to the name check.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
schwifty closed this pull request 2026-03-24 00:43:11 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: payfrit/payfrit-beacon-ios#42
No description provided.