Commit Graph
13 Commits
Author SHA1 Message Date
jack 20ebaa109c Convert JSON protocol to efficient binary format
- Implemented compact binary encoding for packets and messages
- Reduced packet size significantly (13-byte fixed header + variable payload)
- Optimized for BLE's limited MTU with smaller message sizes
- Added BinaryProtocol.swift with encode/decode functions
- Updated all message types to use binary serialization
- Maintains all existing functionality with better performance
2025-07-02 22:09:02 +02:00
jack f43d31b960 Fix iOS peer dropdown positioning
- Remove frame constraint on peer status view
- Add fixedSize() to menu label for compact layout
- Reduce internal spacing in menu label from 4 to 2 points
2025-07-02 21:46:04 +02:00
jack 16dded48b4 Reduce spacing between bitchat and peer dropdown
- Changed spacing from 12 to 8 points for tighter layout on iOS
2025-07-02 21:44:14 +02:00
jack 1eaba703e9 Fix peer dropdown layout and announcement timing
- Move peer dropdown next to bitchat title
- Add immediate peer announcement on connection
- Fix iOS menu chevron visibility with platform-specific styling
- Force UI updates for join/leave messages
- Add peers to active list immediately on connection
- Remove all announcement delays for instant name resolution
2025-07-02 21:39:31 +02:00
jack e50f14eeed Fix notification dot size and improve peer announcements
- Make notification dot smaller (5x5) for better appearance
- Remove all delays from announcement sending
- Send announcements immediately on connection
- Add debug logging for join/leave messages
- Ensure join/leave messages are properly displayed
2025-07-02 21:32:51 +02:00
jack d67e11cdab Update terminology to be more human-friendly
- Change 'nick:' to 'name:' in the UI
- Replace 'peer/peers' with 'person/people' throughout
- Update 'No peers connected' to 'No people connected'
- Fix menu layout with fixedSize()
- Update debug messages to use 'people' instead of 'peers'
2025-07-02 21:25:35 +02:00
jack b517cb7cc3 Clarify peer dropdown UI elements order
- Added comments to clarify the order: dot, text, chevron
- Notification dot works on both macOS and iOS
- Elements are properly ordered left to right
2025-07-02 21:21:04 +02:00
jack 13686b3ce9 Fix private message notifications and chat updates
- Remove self-notification when sending private messages
- Clear unread indicator when viewing active chat
- Properly update UI when private messages are sent/received
- Prevent duplicate messages in chat history
- Use objectWillChange to force SwiftUI updates
2025-07-02 21:19:32 +02:00
jack fc5eba4a58 Fix header bouncing and add private message notifications
- Fix header bar height to prevent bouncing when switching views
- Add in-app notification banner for incoming private messages
- Show orange notification that slides down from top
- Tap notification to jump directly to private chat
- Use medium haptic feedback for private messages (iOS)
- Auto-dismiss notifications after 3 seconds
2025-07-02 21:14:42 +02:00
jack 5c9d2122dc Add private chat feature and fix peer discovery issues
- Implement 1:1 private messaging with IRC-style interface
- Add private message type to protocol with routing through mesh
- Show orange notification dot for unread private messages
- Fix peer list not showing connected peers
- Update peer nicknames immediately on first message
- Auto-exit private chat when peer disconnects
- Improve join/leave channel messages visibility
- Make send button larger for better UX
- Center and color private chat header in orange
2025-07-02 21:11:12 +02:00
jack 304c121467 Fix peer discovery: include connected peripherals in peer list even before announce 2025-07-02 19:26:36 +02:00
jack 3c38bdc791 Add debug logging to troubleshoot peer discovery issues 2025-07-02 19:20:57 +02:00
jack 7e90bf6369 Initial commit: Bluetooth mesh chat app with end-to-end encryption 2025-07-02 19:18:35 +02:00