Repository navigation
v1.6.47 - Device Apps Browser and DM Notifications
Release v1.6.47 - Device Apps Browser and DM Notifications
🎯 Major New Features
Device Apps Browser
New way to explore remote device content
When you click on a device in the Devices page, you now see available apps with public data instead of file collections.
Features:
- 📱 Automatic app discovery via API queries
- 📊 Shows item counts (Blog: 3 posts, Chat: 2 rooms, etc.)
- 🔍 Supports Blog, Chat, Events, and Reports apps
- 🌐 Multi-transport support (WiFi + Bluetooth simultaneously)
User Flow:
- Tap device → See available apps with counts
- Tap Blog app → Browse all published posts
- Tap post → Opens in browser via station proxy
- Tap Chat app → Browse public chat rooms
- Tap room → View messages with author/timestamp
Technical:
- Uses ConnectionManager for automatic transport selection
- Priority routing: LAN > WebRTC > Station > BLE+ > BLE
- Automatic failover between WiFi and Bluetooth
- Transport-agnostic communication
DM Push Notifications (Mobile)
Local push notifications for direct messages
Android and iOS devices now show push notifications when direct messages arrive, just like popular messaging apps.
Features:
- 📬 Local notifications for incoming DMs
- ✓ Verification badge for cryptographically signed messages
- 🔇 Respects notification settings (sound, vibration, enable/disable)
- 👆 Tap notification to open DM conversation
- 📝 Smart message truncation (100 chars)
Smart Filtering:
- Skips notifications for own messages
- Skips notifications for synced messages
- Only notifies for fresh incoming messages
🐛 Bug Fixes
Blog Footer Link Removed
- Removed broken link to non-existent geogram.app
- Footer now shows: "Posted via geogram | p2p.radio"
Blog HTML Proxy Fixed
- Blog posts via p2p.radio station now work correctly
- Fixed path format:
/{callsign}/blog/{filename}.html - Applied to both CLI and GUI station modes
- Verified working on p2p.radio production server
ProfileService Method Name
- Fixed macOS/iOS build error
- Changed
getActiveProfile()→getProfile()
Android Core Library Desugaring
- Enabled desugaring for flutter_local_notifications
- Android builds now compile successfully
ConnectionManager Service
- Fixed compilation error in device apps service
- Uses DevicesService.makeDeviceApiRequest() correctly
- Maintains multi-transport support
📦 New Dependencies
flutter_local_notifications: ^18.0.1- Push notificationsdesugar_jdk_libs: 2.0.4- Android core library support
🏗️ Architecture
Multi-Transport Communication:
- Device apps browser uses ConnectionManager
- Automatic selection: LAN > WebRTC > Station > BLE+ > BLE
- WiFi and Bluetooth work simultaneously
- Automatic failover on transport failure
EventBus Integration:
- DM notifications via
DirectMessageReceivedEvent - New
DMNotificationTappedEventfor navigation - Clean service/UI separation
🎯 Breaking Changes
Device Interaction:
- Clicking devices now shows apps instead of file collections
- Previous file collection view removed
- New app-based navigation required
📝 Files Created
Device Apps Browser:
lib/services/device_apps_service.dartlib/pages/device_detail_page.dartlib/pages/remote_blog_browser_page.dartlib/pages/remote_chat_browser_page.dartlib/pages/remote_chat_room_page.dart
DM Notifications:
lib/services/dm_notification_service.dart
📝 Files Modified
Major Changes:
lib/pages/devices_browser_page.dart- Device apps navigationlib/util/event_bus.dart- DMNotificationTappedEventlib/main.dart- Initialize DMNotificationServicelib/services/log_api_service.dart- Blog footer fixlib/cli/pure_station.dart- Blog proxy fix (CLI)lib/services/station_server_service.dart- Blog proxy fix (GUI)android/app/build.gradle.kts- Core library desugaringandroid/app/src/main/AndroidManifest.xml- POST_NOTIFICATIONS permission
🚀 Deployment
Server: p2p.radio running v1.6.47
- Blog HTML proxy verified working
- Station relay operational
- WebSocket connections stable
✅ What's Working
- ✅ Device apps discovery and browsing
- ✅ Remote blog post viewing
- ✅ Remote chat room message viewing
- ✅ Blog HTML via station proxy
- ✅ DM push notifications (pending mobile testing)
- ✅ Multi-transport communication
- ✅ All platform builds compiling
🧪 Testing Needed
- DM push notifications on real Android/iOS devices
- Device apps browser end-to-end flow
- Blog post opening on mobile browsers
- Chat message viewing from remote devices
Full Changelog: v1.6.43...v1.6.47
Release Date: 2025-12-22