user_interaction_recorder 0.3.2
user_interaction_recorder: ^0.3.2 copied to clipboard
Record and replay user interactions in Flutter apps. Automatically captures taps, text input, scrolls, navigation, and gestures. Perfect for automated testing, user flow analysis, and interaction repl [...]
0.2.0 #
Features:
- Core refactor with feature modules:
core/,recording/,replay/and index exports - Storage abstraction
StorageService+SharedPrefsStorageService - Extracted
RecorderNavigatorObserverand addedNavigationTracker - Replayer improvements:
- Optional navigation delegate (go_router support)
- Await route/tree readiness after navigation
- Await short commit after text input
- Max inter-event delay to avoid long pauses
- Text input recording: debounced and final-value capture on blur
- Example app:
- Migrated to go_router with named routes and extras
- Modularized:
app.dart,app_router.dart,recorder_config.dart - Easy toggle to enable/disable recorder
Docs:
- Updated README with simplified wrapping patterns and go_router notes
0.2.1 #
Enhancements:
- RecorderLayer now auto-displays RecorderFAB overlay by default (
showControls: true) - Optional
showControlsflag to disable the overlay when needed
Notes:
- This makes recording/replay controls visible immediately on integration without extra UI code
0.2.2 #
Docs and metadata:
- Updated README (showControls docs, go_router integration section, minimal wrapping)
- Updated homepage/repository links
- Updated PUBLISH.md steps and package name references
0.3.2 #
Minor Updates:
- Further cleanup of example app code
- Improved code formatting
0.3.1 #
Minor Updates:
- Updated example app documentation
- Cleaned up imports in example files
0.3.0 #
Package Rename:
- Package renamed: Changed from
flutter_user_recordertouser_interaction_recorderfor better clarity and expressiveness - Updated all imports, documentation, and examples to use the new package name
- The new name better reflects the package's purpose: recording user interactions
Breaking Changes:
- ⚠️ Package name changed: Import path changed from
package:flutter_user_recorder/flutter_user_recorder.darttopackage:user_interaction_recorder/user_interaction_recorder.dart - Users need to update their
pubspec.yamland imports to use the new package name
0.2.10 #
Example App:
- Enhanced main.dart with comprehensive documentation and examples
- Added detailed comments explaining setup steps and usage
- Added key features documentation visible on pub.dev
- Better visibility of example code structure
0.2.9 #
Example App:
- Enhanced main.dart with comprehensive documentation
- Added detailed comments explaining the app structure
- Added usage instructions and key features documentation
- Better visibility of example code on pub.dev
0.2.8 #
Example App:
- Cleaned up example app structure
- Simplified main.dart - removed duplicate code
- Better organization of example files
0.2.7 #
Features & Improvements:
- Fixed go_router Auto-Detection: Fixed issue where
RecorderLayercouldn't detectMaterialApp.routerwhen wrapping it. Now uses Builder context for reliable detection. - Improved Navigation: Enhanced navigation during replay to work correctly with go_router, including proper route detection and navigation execution.
0.2.6 #
Features & Improvements:
- Automatic go_router Integration: go_router integration is now fully automatic! Just wrap
MaterialApp.routerwithRecorderLayerand everything works. No manualnavigationDelegatesetup needed. - Improved Navigation Detection:
RecorderLayernow automatically detectsMaterialApp.routerand configures go_router integration seamlessly. - Better Navigation Support: Enhanced support for go_router navigation during replay, including named routes and paths.
Documentation & Metadata:
- Improved package description: More accurate and comprehensive description
- Enhanced installation guide: Step-by-step instructions with clear examples
- Updated README: Better organization and clearer explanations, updated go_router examples
0.2.5 #
Bug Fixes & Improvements:
- Fixed automatic persistence: Sessions now properly save and load on app restart
- Improved UI responsiveness: Dialog and bottom sheet layouts adapt to screen sizes
- Enhanced session management: All operations (save, delete, clear) are automatically persisted
- Updated documentation: Clear examples and better explanations in README
0.2.4 #
Architecture & Features:
- Major refactoring to Clean Architecture with BLoC pattern
- Domain layer: Entities, Repositories, and Use Cases
- Data layer: Repository implementations with storage abstraction
- Presentation layer: BLoC for state management
- Backward compatibility: Compatibility wrappers for RecorderController and Replayer
- Session naming: Users can now name recorded sessions
- Enhanced replay: Sessions now replay from their initial screen
- Modern UI: Glassmorphism effect applied to all UI components
- Improved visibility: Better contrast and readability for bottom sheets and session cards
- Internationalization: All UI text converted from Arabic to English
Technical:
- Added flutter_bloc and equatable dependencies
- Fixed Directionality widget issue in RecorderLayer
- Fixed TextEditingController lifecycle in session name dialog
- Improved session card styling with theme-aware colors
0.2.3 #
Widgets:
- Added RecorderTabBar: records tab selections as discrete events, replays via TabController.animateTo
- Added RecorderPageView: records page changes, replays via PageController.animateToPage
Docs:
- README updated with usage examples for RecorderTabBar and RecorderPageView
0.1.1 #
- Updated README.md with complete examples matching the actual implementation
- Fixed package name references throughout documentation
- Improved Quick Start guide with proper setup including Builder, navigatorObserver, and route parameters
0.1.0 #
- Initial release of user_interaction_recorder
- 🎯 Easy integration with RecorderLayer widget
- 📝 Comprehensive recording of taps, text input, scrolls, navigation, and drag/swipe gestures
- 🔄 Accurate replay with timing preservation
- 💾 Session management with save/load functionality
- 📦 Export/Import recordings as JSON
- 🎨 Built-in widgets: RecorderTap, RecorderTextField, RecorderScroll
- 🚀 Speed control for replay (0.5x, 1x, 2x, 5x)
- 🔂 Script looping functionality
- 🎛️ Floating control panel (RecorderFAB)
- 🏗️ Clean architecture with MVVM support
- 🔒 Full null-safety support
- 📱 Complete example app with MVVM architecture
- 🌐 Automatic route tracking with data transfer
- 📍 Automatic route storage with each event
- 🎯 Single event replay with automatic navigation