An Ember addon providing services to detect user activity, idling, and scrolling across the entire application.
Ember User Activity is an Ember.js addon that provides services for monitoring user interactions and idling within web applications. It enables developers to build responsive features that react to user presence and engagement, such as auto-logout, activity dashboards, or performance optimizations.
Ember.js developers building web applications that need to track user activity, detect idleness, or synchronize interactions across browser tabs.
Developers choose this addon because it offers a lightweight, performant, and seamlessly integrable solution following Ember's conventions, with features like throttled event handling, configurable idle detection, and cross-tab synchronization.
Ember Addon for tracking user activity & idling
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Events are throttled by default (100ms) to avoid performance issues, with configurable EVENT_THROTTLE allowing adjustment or disabling for specific needs.
Follows Ember conventions with easy service injection and event handling similar to Ember.Evented, making adoption straightforward for Ember developers.
Includes storage event listeners to synchronize activity across multiple browser tabs, ensuring consistent idle detection in multi-tab scenarios.
Allows enabling/disabling events, customizing idle timeouts, and adjusting active events via service extension, offering flexibility for diverse use cases.
The README explicitly states that custom events are not currently supported, limiting tracking to predefined DOM events only.
This addon is designed exclusively for Ember.js, making it unsuitable for projects using other frameworks or vanilla JavaScript.
While it mirrors Ember.Evented, it lacks the 'one' method for one-time event listeners, which may require workarounds for certain patterns.
Developers must manually unsubscribe and clean up subscriptions to prevent memory leaks, as emphasized in the cleanup section, adding overhead.