fix: address all issues from koda's code review #22
Closed
schwifty
wants to merge 1 commit from
schwifty/koda-review-fixes into schwifty/fresh-rebuild
pull from: schwifty/koda-review-fixes
merge into: payfrit:schwifty/fresh-rebuild
payfrit:main
payfrit:schwifty/fix-beacon-still-flashing
payfrit:schwifty/fix-hardware-id
payfrit:schwifty/faster-provisioning
payfrit:schwifty/fix-ble-scan-filter
payfrit:schwifty/cp28-only
payfrit:schwifty/fix-provisioning-bugs
payfrit:schwifty/fix-write-ack-handling
payfrit:schwifty/fix-mainactor-ble-callbacks
payfrit:schwifty/fix-dxsmart-disconnect-race
payfrit:schwifty/kbeacon-status-updates
payfrit:schwifty/fix-provisioning-status
payfrit:schwifty/provision-diagnostics
payfrit:schwifty/sort-beacons-by-rssi
payfrit:schwifty/fix-beacon-discovery
payfrit:schwifty/fix-back-button-bounce
payfrit:schwifty/fix-qr-crash
payfrit:schwifty/fix-api-response-decoding
payfrit:schwifty/fix-otp-auth
payfrit:schwifty/fix-duplicate-colors
payfrit:schwifty/fix-xcodeproj-structure
payfrit:koda/add-missing-build-files
1 commit
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 38b4c987c9 |
fix: address all issues from koda's code review
🔴 Critical: - DXSmartProvisioner: complete rewrite to match Android's new SDK protocol - Writes to FFE2 (not FFE1) using 4E4F protocol packets - Correct command IDs: 0x74 UUID, 0x75 Major, 0x76 Minor, 0x77 RSSI, 0x78 AdvInt, 0x79 TxPower, 0x60 Save - Frame selection (0x11/0x12) + frame type (0x62 iBeacon) - Old SDK fallback (0x36-0x43 via FFE1 with 555555 re-auth per command) - Auth timing: 100ms delays (was 500ms, matches Android SDK) - BeaconShardPool: replaced 71 pattern UUIDs with exact 64 from Android 🟡 Warnings: - BlueCharmProvisioner: 3 fallback write methods matching Android (FEA3 direct → FEA1 raw → FEA1 indexed), legacy FFF0 support, added "minew123" and "bc04p" passwords (5 total, was 3) - BeaconBanList: added 4 missing prefixes (8492E75F, A0B13730, EBEFD083, B5B182C7), full UUID ban list, getBanReason() helper - BLEManager: documented MAC OUI limitation (48:87:2D not available on iOS via CoreBluetooth) 🔵 Info: - APIClient: added get_beacon_config endpoint for server-configured values - ScanView: unknown beacon type now tries KBeacon→DXSmart→BlueCharm fallback chain via new FallbackProvisioner - DXSmartProvisioner: added readFrame2() for post-write verification Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |