ondes_sdk 1.5.0
ondes_sdk: ^1.5.0 copied to clipboard
Flutter SDK for building mini-apps that run inside the Ondes Core Bridge. Provides access to native features like UI, Storage, Device, Social, Chat (E2EE), and more.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.5.0 - 2026-01-21 #
Added #
-
Chat Module (
Ondes.chat): End-to-end encrypted messaginginit()/disconnect()- Connect to real-time WebSocketstartChat(user)- Start private conversation with automatic E2EEcreateGroup(name, members)- Create group conversationssend(conversationId, message)- Send encrypted messagesgetMessages(conversationId)- Get decrypted message historygetConversations()- List all conversationssetTyping(conversationId, isTyping)- Typing indicatorsmarkAsRead(messageIds)- Read receiptseditMessage()/deleteMessage()- Message managementonMessage()- Real-time message listeneronTyping()- Typing indicator listeneronReceipt()- Read receipt listeneronConnectionChange()- Connection status listener
-
Chat Models:
ChatConversation- Conversation with members and last messageChatMessage- Message with decrypted contentChatMember- Conversation member infoChatTypingEvent- Typing indicator eventChatReceiptEvent- Read receipt eventChatConnectionStatus- Connection status enum
Security #
- E2EE Automatic: Keys generated at login, no configuration needed
- X25519: Curve25519 key exchange for shared secrets
- AES-256-GCM: Military-grade encryption with authentication
1.4.0 - 2026-01-20 #
Added #
- Cross-platform compilation support: Package now compiles on all platforms (iOS, Android, macOS, Windows, Linux)
- Added conditional exports for web vs non-web platforms using
dart.library.js_interop - Created stub implementations for non-web platforms that throw
UnsupportedErrorwith clear messages
Changed #
- Removed
platforms: web:restriction from pubspec.yaml - Refactored
js_bridge.dartto use conditional exports (js_bridge_stub.dart/js_bridge_web.dart) - Refactored
udp.dartto use conditional exports (udp_stub.dart/udp_web.dart)
Note #
- The SDK still only functions on web platform inside the Ondes Core host
- Non-web platforms will compile but throw
UnsupportedErrorat runtime when Ondes features are used
1.3.3 - 2026-01-20 #
Added #
- Documentation: Added WebSocket and UDP module documentation to README
- Documentation: Added Communication section to mkdocs.yml
Fixed #
- WebSocket Module: Implemented polling-based message delivery for macOS compatibility
- Fixed
MissingPluginExceptionwhen usingevaluateJavascripton macOS - Bridge now queues messages and SDK polls every 50ms for responsive delivery
1.3.2 - 2026-01-20 #
Fixed #
- UDP Module: Fixed all
as intcasts to use(num).toInt()for JavaScript compatibility - Numbers from JS are always doubles, so direct int casts fail
- Fixed
UdpSocket.fromJson,UdpMessage.fromJson,UdpSendResult.fromJson,UdpBroadcastResult.fromJson
1.3.1 - 2026-01-20 #
Fixed #
- UDP Module: Fixed message callback registration -
onMessage()now properly receives messages from the native bridge by registering JS callbacks - Added proper JS interop for UDP message events
1.3.0 - 2026-01-20 #
Added #
- UDP Module (
Ondes.udp)bind()- Bind to a UDP port and start listeningsend()- Send a UDP message to a specific addressbroadcast()- Broadcast a message to multiple addressesclose()- Close a UDP socketonMessage()- Stream of incoming UDP messagesonClose()- Stream of socket close eventsgetInfo()- Get socket informationlist()- List all active socketscloseAll()- Close all sockets
- New models:
UdpSocket,UdpMessage,UdpSendResult,UdpBroadcastResult,UdpBindOptions
1.2.0 - 2026-01-20 #
Added #
- Websocket Module (
Ondes.websocket)connect()- Connect to a WebSocket server with auto-reconnect supportdisconnect()- Close a WebSocket connectionsend()- Send messages (text or JSON)onMessage()- Stream of incoming messagesonStatusChange()- Stream of connection status changesgetStatus()- Get current connection statuslist()- List all active connectionsdisconnectAll()- Close all connections
- New models:
WebsocketConnection,WebsocketStatus,WebsocketConnectOptions
1.0.0 - 2026-01-20 #
Added #
- Initial release of
ondes_sdk - UI Module (
Ondes.ui)showToast()- Display native toast notificationsshowAlert()- Display alert dialogsshowConfirm()- Display confirmation dialogsshowBottomSheet()- Display bottom sheet menusconfigureAppBar()- Configure the native app bar
- User Module (
Ondes.user)getProfile()- Get current user profileisAuthenticated()- Check authentication statusgetAuthToken()- Get authentication token for API calls
- Device Module (
Ondes.device)hapticFeedback()- Trigger haptic feedbackvibrate()- Vibrate the devicescanQRCode()- Scan QR codes using cameragetGPSPosition()- Get current GPS locationgetInfo()- Get device information
- Storage Module (
Ondes.storage)get()/set()- Read/write persistent dataremove()/clear()- Delete stored datagetKeys()- List all stored keys
- App Module (
Ondes.app)getInfo()- Get mini-app informationgetManifest()- Get manifest.json contentsclose()- Close the mini-app
- Friends Module (
Ondes.friends)list()- Get friends listrequest()/accept()/reject()- Manage friend requestsblock()/unblock()- Block managementsearch()- Search users
- Social Module (
Ondes.social)getFeed()- Get social feedpublish()- Create new postslikePost()/unlikePost()- Like managementaddComment()/getComments()- CommentsgetStories()/createStory()- StoriespickMedia()- Native media pickerfollow()/unfollow()- Follow management
- JS Bridge for Web communication
- Strongly-typed models for all data structures
- OndesException for error handling
- Example Flutter Web application