- Add newer Meteor versions to
versionsFrom
- Bumped dependency versions
- Updated tests
Meteor.settings?.packages?.['mizzao:user-status']?.startupQuerySelector
option added to allow for custom startup selector
- Bumped dependency versions
- Decaffeinated!
- BREAKING: User status now needs to be properly imported:
import { UserStatus } from 'meteor/mizzao:user-status'
- Added ESLint and jsbeautify
- Added husky for pre-commit lint checking
- Don't try to stop monitor in testing if it's not started
- Upgrade demo to Meteor 1.8.1
- Upgraded timesync to 0.5.1
- Formatted all JS, CSS, and HTML files to jsbeautify specs
- Updated all references of github.com/mizzao to github.com/Meteor-Community-Packages
- Changed TravisCI to use Node 8.15.1 and added lint checks
- Added Visual Studio Code settings.json
- Changed all tabs to 2 spaces
- Minimum meteor requirement now 1.7.0.5
- Updated Coffeescript dependency to allow both v1 and v2.
- Remove jQuery dependency
- Declare dependent packages explicitly for Meteor 1.2.
- Detect pause/resume events in Cordova. (#47, #64)
- Improve consistency of the
status.online
andstatus.idle
fields. (#31)
- Update usage of the Mongo Collection API for Meteor 0.9.1+.
- Add compatibility for the
audit-argument-checks
package.
- Fix constraint syntax for the released Meteor 0.9.0.
- Updated for Meteor 0.9.
- Connections now record user agents - useful for diagnostic purposes. See the demo at http://user-status.meteor.com/.
- The
lastLogin
field of documents inMeteor.users
is no longer a date; it is an object with fieldsdate
,ipAddr
, anduserAgent
. UselastLogin.date
instead of simplylastlogin
if you were depending on this behavior. This provides a quick way to display connected users' IPs and UAs for administration or diagnostic purposes. - Better handling of idle/active events if TimeSync loses its computed offset temporarily due to a clock change.
- All connections are tracked, including anonymous (not authenticated) ones. Idle monitoring is supported on anonymous connections, and idle state will persist across a login/logout. (#22)
- The
Meteor.onConnection
,connection.onClose
, andAccounts.onLogin
functions are used to handle most changes in user state, except for logging out which is not directly supported in Meteor. This takes advantage of Meteor's new DDP heartbeats, and should improve issues with dangling connections caused by unclosed SockJS sockets. (#26) - Ensure that the last activity timestamp is reset when restarting the idle monitor after stopping it. (#27)
- Add several unit tests for client-side idle monitoring logic.
- Ensure that the latest activity timestamp updates when focusing into the app's window.
- Store all dates as native
Date
objects in the database (#20). Most usage will be unaffected due to many libraries supporting the interchangeable use ofDate
objects or integer timestamps, but some behavior may change when using operations with automatic type coercion, such as addition.
- Add some shim code for better compatibility with fast-render. (#24)
- Fix an issue with properly recording the user's latest idle time across a reconnection.
- Ignore actions generated while the window is blurred with
idleOnBlur
enabled.
- Refactored server-side code so that it was more testable, and added multiplexing tests.
- Fixed an issue where idle state would not be maintained if a connection was interrupted.
- Fixed an issue where stopping the idle monitor could leave the client in an idle state.
- Added multiplexing of idle status to
Meteor.users
as requested by @timhaines.
- Added opt-in automatic idle monitoring on the client, which is reported to the server. See the demo app.
- Export a single
UserStatus
variable on the server and the client, that contains all operations. Breaks compatibility with previous usage: the previousUserStatus
variable is nowUserStatus.events
. - The
sessionLogin
andsessionLogout
events have been renamedconnectionLogin
andconnectionLogout
along with the newconnectionIdle
andconnectionActive
events. Breaks compatibility with previous usage. - In callbacks,
sessionId
has also been renamedconnectionId
as per the Meteor change.
- Exported
UserStatus
andUserSessions
using the new API. - Moved the user status information into the
status
field instead of theprofile
field, which is user editable by default. NOTE: this introduces a breaking change. (#8) - Introduced a last login time for each session, and a combined time for the status field. (#8)
- Added some basic tests.
- Fixed a nuanced bug with the use of
upsert
.
- Changed
find
/insert
/update
to a single upsert instead (#3, #6).