callebtc and GitHub
c5a3368b9f
Sign announcements ( #267 )
...
* wip
* announcements WIP
* works
* restore mainnet
2025-08-20 13:24:52 +02:00
callebtc and GitHub
9795e2ce8a
Changes bitchat protocol ( #265 )
...
* create payload
* compiles and can send messages
* identityannouncement
* DMs work, read receipt not sent yet
* works
* delete old code
* simplify
* working
* fragment wip
* compression wip
* use zlib compression
* clean
* nice
* mesh
* remove comments
2025-08-18 21:16:27 +02:00
lollerfirst and GitHub
72af724588
add sendPeriodicBroadcastAnnounce to startServices ( #243 )
2025-08-11 19:45:15 +02:00
callebtc and GitHub
67c91b0559
remove system messages for connect / disconnect ( #241 )
...
* remove system messages for connect / disconnect
* fix tests
2025-08-07 11:58:06 +03:00
callebtc and GitHub
4d0419c536
Touches ( #205 )
...
* touch
* increase TTL of announcements
* ui touches
2025-07-31 06:28:31 +02:00
callebtc and GitHub
4cb5932fd0
improve identity announcements ( #198 )
...
* improve identity announcements
* touches
* signing noise id
* panic mode delete signing key
2025-07-31 06:26:41 +02:00
callebtc and GitHub
c9aba00478
Dm header icons reactive ( #190 )
...
* header reactive to noise session
* favorite button reactive
* icon change
* nice
2025-07-25 19:50:40 +02:00
callebtc and GitHub
34b3d8dd82
Init handshake on dm ( #187 )
...
* kinda working
* establish handshake if not done yet
* add handshakerequest packet
* read receipt
2025-07-25 19:11:45 +02:00
callebtc and GitHub
565e4ab33c
Fix delivery acks and read receipts ( #186 )
...
* delivery ack and read receipt
* handle deliveryack
* fix uppercase id
* fix read receipts too
2025-07-25 17:54:12 +02:00
callebtc and GitHub
534be7e613
Refactor fingerprint manager ( #185 )
...
* centralized fingerprint manager
* centralized fingerprintmanager
* update fingerprint only if no collision
2025-07-25 15:43:19 +02:00
callebtc and GitHub
9b7009137c
Handle only packets addressed to me ( #184 )
...
* skip private packets not to us
* logs
2025-07-25 02:32:36 +02:00
callebtc and GitHub
167237f7c0
Centralized relay manager ( #182 )
...
* noise: send nonce
* broadcast manager
* add missing file
2025-07-25 01:46:27 +02:00
callebtc and GitHub
bc14b9f179
Periodidc broadcast announce ( #183 )
...
* noise: send nonce
* periodidc broadcast announce
2025-07-25 01:38:53 +02:00
callebtc and GitHub
c3c395832c
Implement Noise XX Handshake Protocol for Direct Messages ( #180 )
...
* noise
* works?
* noise
* temporary
* better
* wip: use subnet
* better
* barely working
* werk
* subnet
* fix peer ID
* 8 byte peer ID
* wip noise
* wip fixes for noise
* std lib for noise
* noise handshake one step further
* buffers
* use fork
* fix imports
* simplify counter
* remove trash
* hashing
* no prologue
* nice
* wip, use noise encryption
* peer ID hex
* simplify session manager
* heavy logging
* use singleton
* Fix Noise session race condition with elegant per-peer actor serialization
- Use Kotlin coroutine actors for per-peer packet processing
- Each peer gets dedicated actor that processes packets sequentially
- Eliminates race conditions in session management without complex locking
- Single surgical change in PacketProcessor - minimal, maintainable
- Leverages Kotlin's native concurrency primitives
* decrypt correctly
* iniator works now
* clean code and fix signature to null
* better
* no signature in private message
* small fixes
* refactor ack
* refactor but untested
* messages working
* wip ack
* wip fix ack
* more logging
* pending tracker
* keep pending connections on errors
* less logging
* refactor model
* refactor frombinarydata
* idendityannouncement refactor and update to new binary protocol
* fix keys
* refix keys
* dms work
* revert to mainnet
* do not change bluetooth adapter name
* keep code but uncomment
* clean up comments
* cleanup comments
2025-07-24 12:01:46 +02:00
callebtc
193918d81a
track rssi correctly
2025-07-14 00:13:45 +02:00
callebtc
f9a639af2d
Merge branch 'main' into fix/android-ios-fragmentation-compatibility
2025-07-13 23:18:00 +02:00
callebtc
0e2614d3eb
fix build
2025-07-13 22:52:50 +02:00
callebtc
362f9b0ff2
log
2025-07-13 22:39:41 +02:00
callebtc
cac3b9ec6c
better logging of device id
2025-07-13 22:18:31 +02:00
callebtc and GitHub
d25d3bf991
Merge branch 'main' into fix/android-ios-fragmentation-compatibility
2025-07-13 21:25:11 +02:00
callebtc
887ca0119e
Merge branch 'main' into adjust-scan-intervals
2025-07-13 19:43:58 +02:00
callebtc
2cf6bf19b1
Merge branch 'main' into routingOpt
2025-07-13 17:20:49 +02:00
callebtc
2a0f84b53b
adjust scan intervals and reduce logging
2025-07-13 17:16:31 +02:00
callebtc
035273011f
fix startup
2025-07-12 15:42:37 +02:00
GUVWAF
d1085fde0b
Cheap routing optimizations
...
- Don't relay back to sender or relayer
- Only send to connected device if recipientID matches one
- Don't relay our own ACK/read receipt
2025-07-12 13:18:09 +02:00
callebtc
e58cf4fd0d
fix null pointer
2025-07-12 12:53:01 +02:00
ShilohEye
33d273f268
Fix Android fragmentation for iOS/Rust compatibility
...
- Changed MAX_FRAGMENT_SIZE from 500 to 150 bytes to match iOS/Rust
- Fixed fragment ID generation to use 8 random bytes instead of string
- Implemented automatic fragmentation in BluetoothConnectionManager
- Added 20ms delay between fragments to match iOS/Rust implementation
- Updated fragment calculation to account for full packet overhead (34 bytes)
This ensures Android-generated fragments fit within iOS's default 185-byte BLE MTU,
fixing issues with commands like ?ls -la and ?ifconfig failing on iOS devices.
2025-07-10 19:25:52 -04:00
callebtc
b6f281275a
fixed
2025-07-09 21:51:04 +02:00
callebtc
dd8aa083b9
power saving
2025-07-09 15:47:54 +02:00
callebtc
d962ed8ccb
logging
2025-07-09 15:04:43 +02:00
callebtc
849b0845c4
MAJOR REFACTOR: Replace monolithic BluetoothMeshService with component-based architecture
...
✅ SUCCESSFULLY REFACTORED BluetoothMeshService.kt:
- Original: ~1000+ lines monolithic service
- New: 522 lines coordinator + 7 focused components
🏗️ ARCHITECTURE:
- **BluetoothMeshService**: Main coordinator (522 lines)
- **PeerManager**: Lifecycle & RSSI tracking (161 lines)
- **FragmentManager**: Message fragmentation (194 lines)
- **SecurityManager**: Security & encryption (236 lines)
- **StoreForwardManager**: Offline caching (295 lines)
- **MessageHandler**: Message processing (284 lines)
- **BluetoothConnectionManager**: BLE operations (611 lines)
- **PacketProcessor**: Packet routing (108 lines)
✅ MAINTAINED COMPATIBILITY:
- Exact same public API (ChatViewModel unchanged)
- 100% iOS protocol compatibility
- Same UUIDs, packet format, timing
- All existing functionality preserved
🎯 BENEFITS ACHIEVED:
- Better separation of concerns
- Easier unit testing (each component isolated)
- Improved maintainability and debugging
- Cleaner code structure
- Future extensibility
✅ BUILD STATUS: Compiles successfully with zero errors!
2025-07-08 23:46:59 +02:00
callebtc
d6a4e122b4
init
2025-07-08 20:37:46 +02:00