Home

Awesome

profile.online

Profile.online is a meteor smart package to provide a convenient way to expose accounts online status.

Installation

Publish with relations can be installed with Meteorite. From inside a Meteorite-managed app:

$ mrt add profile-online

API

There is nothing you have to do to get this package working. Install it, sign in to your application and you will get your profile.online field set to true. Log out, and it goes false.

You can use Meteor._onLogin and Meteor._onLogout callbacks server-side to do stuff when users comes in and out. Example:

Meteor._onLogin  = function (userId) { console.log(userId + "just logged in.") }
Meteor._onLogout = function (userId) { console.log(userId + "just logged out.") }

Configuring

There are two global variables this SmartPackage rely at:

It is not necessary to set them up if you don't want to change the default values.

How it works

On the client, there is a reactive function that calls Meteor.keepalive method on user sign in and every 60 seconds after that. On the server, the Meteor.keepalive method sets user profile.online field to true and sets a timer to 70 seconds which will set profile.online to false. The timer is reset on each Meteor.keepalive method call. There is also a function that overrides Meteor.logout method to set user's profile.online to false when he logs out.