mirror of
https://github.com/torlando-tech/columba
synced 2026-08-12 18:07:15 -04:00
Enable importing contacts using only a 32-character destination hash from Sideband's "Copy Address" feature, in addition to full lxma:// URLs. Key changes: - Add ContactStatus enum (ACTIVE, PENDING_IDENTITY, UNRESOLVED) - Make publicKey nullable in ContactEntity for pending contacts - Add parseIdentityInput() to InputValidator for flexible input parsing - Add IdentityResolutionManager for background identity resolution - Check existing announces when adding hash-only contacts - Update UI with pending/unresolved status indicators - Add PendingContactBottomSheet for managing unresolved contacts - Hook announce callbacks for instant resolution when peer announces - Add recallIdentity() AIDL method to check Reticulum's identity cache - Database migration 17->18 for new schema The flow: 1. User pastes 32-char hash -> check announces table for existing identity 2. If found -> add as ACTIVE contact immediately 3. If not found -> add as PENDING_IDENTITY, background resolution kicks in 4. When announce received -> instantly resolve pending contact 5. After 48h timeout -> mark as UNRESOLVED with retry option 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ble_modules | ||
| drivers | ||
| patches | ||
| android_ble_interface.py | ||
| logging_utils.py | ||
| requirements.txt | ||
| reticulum_wrapper.py | ||
| test_android_ble_driver.py | ||
| test_announce_handler.py | ||