obsly_flutter 1.0.1 copy "obsly_flutter: ^1.0.1" to clipboard
obsly_flutter: ^1.0.1 copied to clipboard

Advanced Flutter SDK for comprehensive user behavior analytics, UI event tracking, automatic screenshot capture with debug tools, and GoRouter navigation support.

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.0.1 - 2025-01-08 #

Added #

  • Crash Event Capture: Added crash events on tap pay bills for better error tracking
  • Red Dot Position Indicator: Visual position indicator for zoom view in debug tools
  • Histogram Timings: Enhanced timing capture with proper bucket handling
  • User Agent Parser: Added comprehensive user agent parsing capabilities
  • Movable Debug Tools: Draggable and resizable Obsly tools button for mobile devices
  • Screenshot Zoom: Fullscreen zoom functionality for mobile screenshots
  • PII Filtering System: Flexible PII filtering for banking apps with rule editor
  • Configuration Assistant: Dart/Flutter-based configuration generator
  • Rate Limiting Controls: Optional rate limit disable functionality
  • Dio HTTP Integration: Elegant HTTP client integration with extension API
  • GoRouter Support: Complete navigation tracking support for GoRouter applications

Enhanced #

  • Logging Optimization: Massive reduction in excessive debug logging noise
  • Rules Engine: JavaScript rule engine optimizations with session persistence
  • UI Event Capture: Improved tap vs scroll detection and gesture handling
  • Debug Tools UI: Better visual controls and layout improvements
  • Performance: Optimized rule conversion and storage operations
  • Test Coverage: Comprehensive test improvements and optimization

Fixed #

  • Storage Logging: Reduced verbose storage operation logging
  • Event Lifecycle: Moved excessive event logs from debug to verbose level
  • Timestamp Handling: Fixed numeric timestamp parsing in JsonFactoryMixin
  • UI Integration: Resolved various UI event registration issues
  • Navigation Errors: Fixed timer not found errors in navigation lifecycle
  • Histogram Buckets: Replaced infinity values with safe serialization limits
  • Buffer Configuration: Fixed buffer limit validation in configuration
  • Test Failures: Resolved multiple test failures improving from 233 to 2 failing tests
  • Memory Management: Better cleanup and disposal of interceptor components
  • Type Safety: Enhanced null handling and defensive type checking

Breaking Changes #

  • None - this release maintains backward compatibility

Performance #

  • 68% Code Reduction: Massive optimization in ConfigEditorScreen
  • 75% Size Reduction: Ultra-compact code implementation
  • Logging Efficiency: Converted debug logs inside loops to verbose level
  • Storage Operations: Optimized storage access patterns

Technical Debt #

  • TODO/FIXME Policy: Enforced comment policy with updated analysis settings
  • Import Structure: Replaced relative imports with package imports
  • Linting Rules: Comprehensive linting improvements and fixes
  • Code Quality: Removed dead code and improved maintainability

0.3.4 - 2025-09-03 #

Documentation #

  • Professional Branding: Refined README with more professional terminology
  • Clear Positioning: Changed title to "Advanced User Behavior Analytics"
  • Clean Messaging: Removed third-party references for cleaner presentation
  • Improved Clarity: Enhanced initialization and integration documentation

0.3.3 - 2025-09-03 #

Enhanced #

  • UI Event Detection: Improved tap vs scroll detection mechanism in UI integration
  • Event Timing: Fixed UI event route screenshot timing mismatch issues
  • Gesture Recognition: Streamlined gesture detector by removing unused callbacks
  • Test Coverage: Enhanced test runner script and overall test framework stability

Fixed #

  • UI integration timing issues with navigation and screenshot capture
  • Tap text extraction failures in certain scenarios
  • Gesture detection optimization and performance improvements

0.3.2 - 2025-09-03 #

Added #

  • Dio HTTP Client Integration: Full support for Dio HTTP client monitoring alongside native HTTP client
  • Extension API: Added dio.addObsly() extension method for seamless Dio integration
  • Automatic Request Interception: Capture requests, responses, and errors from Dio instances
  • Duplicate Prevention: Intelligent detection to prevent adding multiple Obsly interceptors
  • Real Integration Tests: Comprehensive test suite without mocks to verify actual HTTP interception

Technical #

  • Added DioIntegration class for managing Dio HTTP monitoring
  • Added ObslyDioExtension providing addObsly() API
  • Integrated Dio initialization alongside existing HTTP integration
  • Maintained backward compatibility with existing HTTP client monitoring

0.3.1 - 2025-09-02 #

Fixed #

  • GoRouter UI Events: Fixed critical issue where UI events (clicks, taps, interactions) were not being registered in GoRouter-based applications (#171)
  • Added WidgetsBinding fallback context for UI event processing when NavigatorKey context is null (common in GoRouter apps)
  • Improved UI event capture reliability across different navigation architectures

Added #

  • Comprehensive test coverage for GoRouter UI events integration
  • Enhanced debugging capabilities for GoRouter UI event troubleshooting
  • Updated documentation with detailed GoRouter integration examples and troubleshooting guide

Documentation #

  • Added comprehensive "Routing and Navigation Support" section to README
  • Included GoRouter setup examples and best practices
  • Added troubleshooting guide for navigation issues
  • Enhanced feature highlighting for GoRouter integration

0.3.0 - 2025-09-02 #

Added #

  • GoRouter Navigation Support: Complete integration with GoRouter for automatic navigation tracking
  • New ObslySDK.goRouterObservers getter for seamless GoRouter integration
  • Automatic MaterialApp.router detection and GoRouter initialization
  • NavigatorObserver implementation for capturing all GoRouter navigation events (push, pop, replace, remove)
  • Real-time route information extraction using GoRouter's routeInformationProvider API
  • Support for route parameters and complex GoRouter configurations
  • Framework-agnostic navigation provider system supporting multiple routing libraries

Changed #

  • BREAKING CHANGE: Removed manual GoRouter integration methods (initializeGoRouter, notifyRouteChange, isGoRouterActive) in favor of automatic detection
  • Simplified GoRouter integration to single observer pattern: observers: ObslySDK.goRouterObservers
  • Removed go_router from main dependencies (now dev_dependency only for testing)
  • Enhanced AppWrapper to automatically detect and initialize GoRouter when MaterialApp.router is used
  • Updated package description to highlight GoRouter navigation support

Removed #

  • Legacy manual GoRouter integration helper class (137 lines of unused code)
  • Multiple redundant API methods replaced by automatic integration
  • Platform-specific files from obsly_demo_app (Android, iOS, macOS) - now web-only demo

Technical Details #

  • Uses dynamic typing and reflection for GoRouter integration without hard dependency
  • Automatic route information extraction from GoRouter.routeInformationProvider.value.uri.path
  • Single initialization prevents multiple GoRouter setup calls
  • Complete test coverage with real GoRouter API integration tests
  • Maintains backward compatibility for non-GoRouter applications

0.2.1 - 2025-01-03 #

Fixed #

  • Fixed .gitignore patterns for Android gradle build artifacts
  • Fixed setState warning in rules_helpers.dart debug component
  • Removed erroneously tracked gradle cache files from repository

Changed #

  • Improved repository cleanliness for pub.flutter-io.cn publishing
  • Enhanced code quality and linting compliance

0.2.0 - 2025-01-03 #

Added #

  • Advanced Flutter SDK for comprehensive user behavior analytics
  • Automatic UI, navigation, network, console and crash capture
  • Optional screenshot capture on UI and rage-click events
  • Performance transactions and steps tracking
  • Custom metrics (counter, gauge, histogram timer)
  • Tags, context, session and user identification
  • Rate limiting system with configurable limits per event type
  • Request body and headers whitelist configuration
  • Debug tools with overlay for development
  • Comprehensive rules engine with JavaScript compatibility
  • Multi-platform support (iOS, Android, Web, macOS)
  • Automatic interceptors for HTTP requests, crashes, and UI events
  • Screenshot capture with boundary management
  • Session management with automatic rotation
  • Storage system with Hive backend
  • Device and app information collection
  • Defensive wrapper ensuring stability

Features #

  • Initialization: Easy SDK setup with comprehensive configuration options
  • App Wrapping: Required wrapper for global UI and navigation interception
  • Configuration: Extensive config options matching JavaScript Browser SDK API
  • Developer Methods: Complete API for session, client, and application management
  • Rate Limiting: Configurable per-event-type rate limits with bucket system
  • Request Monitoring: Whitelist-based request/response body and headers capture
  • Debug Tools: Development overlay for event inspection and testing
  • Rules Engine: JavaScript-compatible rules processing with Dart implementation
  • Multi-platform: Cross-platform support with platform-specific optimizations

Technical #

  • Flutter >= 3.0.0 compatibility
  • Dart >= 3.4.0 support
  • Comprehensive test suite with >90% coverage
  • Performance optimizations and memory management
  • Defensive programming patterns preventing app crashes
  • Modular architecture with clear separation of concerns

[Unreleased] #

Planned #

  • Enhanced analytics dashboards
  • Additional metric types
  • Extended platform support
  • Performance optimizations
  • Documentation improvements

For more information about releases and migration guides, see our documentation.

0
likes
130
points
77
downloads

Publisher

verified publisherobsly.io

Weekly Downloads

Advanced Flutter SDK for comprehensive user behavior analytics, UI event tracking, automatic screenshot capture with debug tools, and GoRouter navigation support.

Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

battery_plus, connectivity_plus, device_info_plus, dio, flutter, flutter_svg, hive, hive_flutter, http, jmespath, meta, package_info_plus, path_provider, shared_preferences, uuid

More

Packages that depend on obsly_flutter