Commit Graph
415 Commits
Author SHA1 Message Date
callebtc 1d7defcbae rate limiting 2025-07-09 18:29:49 +02:00
callebtc dd8aa083b9 power saving 2025-07-09 15:47:54 +02:00
callebtc d3e258b442 precvent duplicate connections 2025-07-09 15:34:20 +02:00
callebtc d962ed8ccb logging 2025-07-09 15:04:43 +02:00
callebtc fffed8f31e style 0.2 2025-07-09 13:05:46 +02:00
callebtcandGitHub c3a08ef94d Merge pull request #3 from callebtc/big-refactor
Big refactor
2025-07-09 00:46:30 +02:00
callebtc 1d7bb8beab REFACTOR STEP 2: Extract mesh delegate handling to separate class
- Created MeshDelegateHandler.kt to handle all BluetoothMeshDelegate callbacks
- Created ChatViewModelUtils.kt for utility functions like haptic feedback
- ChatViewModel now delegates all mesh events to MeshDelegateHandler
- Final ChatViewModel size: 337 lines (down from 1000+ original)

This completes the refactoring while maintaining 100% functionality.
2025-07-09 00:44:53 +02:00
callebtc 56824b6594 REFACTOR: Break ChatViewModel into smaller specialized files
- Created ChatState.kt for centralized state management
- Created DataManager.kt for persistence operations
- Created MessageManager.kt for message handling and deduplication
- Created ChannelManager.kt for channel operations and encryption
- Created PrivateChatManager.kt for private chat functionality
- Created CommandProcessor.kt for IRC-style command processing

ChatViewModel.kt reduced from 1000+ lines to ~300 lines while maintaining 100% functionality.
All existing functionality preserved, just better organized.
2025-07-09 00:42:43 +02:00
callebtc 6d22aa7315 nice 2025-07-09 00:34:47 +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 3919373025 Add extracted components for BluetoothMeshService refactoring
- PeerManager.kt: Manages peer lifecycle, nicknames, and RSSI tracking (161 lines)
- FragmentManager.kt: Handles message fragmentation and reassembly (194 lines)
- SecurityManager.kt: Manages duplicate detection, replay protection, encryption (236 lines)
- StoreForwardManager.kt: Handles message caching for offline peers (295 lines)
- MessageHandler.kt: Processes different message types and relay logic (284 lines)
- BluetoothConnectionManager.kt: Manages BLE connections and GATT operations (611 lines)
- PacketProcessor.kt: Routes incoming packets to appropriate handlers (108 lines)

All components compile successfully and maintain same functionality as original monolithic service.
Total extracted: ~1789 lines into 7 focused components.
2025-07-08 23:44:24 +02:00
callebtc 9ba8dca82a seems to work 2025-07-08 23:38:35 +02:00
callebtc d40e2cbda8 deduplicate messages 2025-07-08 23:02:03 +02:00
callebtc febcc8e2b2 update readme 2025-07-08 22:26:19 +02:00
callebtc d6a4e122b4 init 0.1 2025-07-08 20:37:46 +02:00