flutter_realtime_client 0.1.2 copy "flutter_realtime_client: ^0.1.2" to clipboard
flutter_realtime_client: ^0.1.2 copied to clipboard

A production-ready Flutter/Dart realtime client library with robust connection management, persistence, ordered delivery, typing indicators, presence, and read receipts.

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.

0.1.2 - 2025-11-24 #

Fixed #

  • Fixed static analysis issues by generating missing protocol.g.dart
  • Fixed example app compilation errors (sendrt typo, deprecated withOpacity)
  • Improved code quality to achieve 160/160 pana score

0.1.1 - 2025-11-21 #

Changed #

  • Upgraded dependencies to latest versions:
    • connectivity_plus: ^5.0.2 → ^7.0.0
    • rxdart: ^0.27.7 → ^0.28.0
    • socket_io_client: ^2.0.3 → ^3.1.2
    • web_socket_channel: ^2.4.0 → ^3.0.3
  • Fixed connectivity API changes for v7.0.0 compatibility
  • Added comprehensive API documentation (achieved 160/160 pana score)
    • Library-level documentation
    • Complete dartdoc comments for all public APIs
    • Detailed examples in documentation

Improved #

  • Documentation coverage increased from 11.7% to 20%+
  • All dependencies now support latest stable versions
  • Better developer experience with detailed API docs

0.1.0 - 2025-11-21 #

Added #

Core Features

  • Dual transport support: WebSocket and Socket.IO
  • Robust connection management: Automatic reconnect with exponential backoff and jitter
  • Persistent message queue: SQLite-based queue for offline message storage
  • Ordered delivery: Monotonic sequence numbers for message ordering
  • Acknowledgement protocol: Server ACK with sequence numbers
  • Resume protocol: Client can resume from last ACK after reconnect
  • Idempotency keys: UUID-based deduplication
  • Network awareness: Connectivity detection and auto-reconnect

Delivery Strategies

  • At-most-once delivery
  • At-least-once delivery (default)
  • Best-effort ordered delivery

Authentication

  • Token-based authentication (Bearer)
  • Pluggable token refresh handler
  • Secure storage integration (flutter_secure_storage)

Advanced Features

  • Presence management: Track user online/offline/away/busy status
  • Typing indicators: Auto-expiring typing status with configurable timeout
  • Read receipts: Message read tracking
  • Metrics & observability: Comprehensive metrics for monitoring
    • Connection lifecycle tracking
    • Message counts (sent, received, acked)
    • Queue size monitoring
    • Error tracking
    • Average reconnect time

Configuration

  • Configurable retry delays and max retries
  • Configurable heartbeat interval and timeout
  • TLS enforcement option
  • Message batching support
  • Logging level configuration

Developer Experience

  • Strongly-typed event streams
  • RxDart integration for reactive programming
  • Comprehensive error handling
  • Detailed logging

Documentation #

  • Complete README with use cases and examples
  • Design notes and architecture documentation
  • API documentation
  • Server implementation examples (Node.js)
  • Example Flutter app demonstrating all features

Testing #

  • Unit tests for core functionality
  • Integration test support
  • Mock-friendly architecture

Server Examples #

  • Socket.IO server implementation
  • WebSocket server implementation
  • ACK and resume protocol implementation

[Unreleased] #

Planned Features #

  • Message chunking for large payloads
  • Compression support (gzip/brotli)
  • Binary protocol option (Protobuf/MessagePack)
  • Multi-transport fallback
  • Message priority queue
  • Selective ACK (SACK)
  • Flow control
  • Server-side SDKs (Python, Go, Java)
  • End-to-end encryption helpers
  • Performance optimizations
  • More comprehensive integration tests

0
likes
150
points
34
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

A production-ready Flutter/Dart realtime client library with robust connection management, persistence, ordered delivery, typing indicators, presence, and read receipts.

Repository (GitHub)
View/report issues

Topics

#websocket #socket-io #realtime #chat #messaging

License

MIT (license)

Dependencies

connectivity_plus, equatable, flutter, flutter_secure_storage, http, json_annotation, logger, path, rxdart, socket_io_client, sqflite, uuid, web_socket_channel

More

Packages that depend on flutter_realtime_client