Registry / analytics / online

online

JSON →
library0.0.1jsnpmunverified

A minimal Redis-backed library to track online user activity with minute-level granularity. Version 0.0.1, no recent releases. Provides simple add, last, and clear methods. Lightweight and straightforward, but lacks maintenance. Differentiator: minimal API for activity tracking using Redis sets, with no additional features like TTL.

npm install online
INSTALL
IMPORT
SIG · ONLINE
O
online
analyticsjavascriptv0.0.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
const online = require('online'); const db = require('redis').createClient(); const track = online(db);
import online from 'online';
CJS module; ESM import not supported. The module expects a Redis client passed as argument.
track
const track = require('online')(redisClient);
const online = require('online');
Main export is a function that must be called with a Redis client to create the tracker instance.
methods
const tracker = require('online')(db); tracker.add(userId, callback); tracker.last(n, callback); tracker.clear(callback);
Methods are on the instance returned by calling the exported function.

Sets up Redis client, creates online tracker, adds a user, retrieves active users, and clears data.

const online = require('online'); const redis = require('redis'); const db = redis.createClient({ url: process.env.REDIS_URL ?? 'redis://localhost:6379' }); db.on('connect', () => { const track = online(db); // Add a user activity track.add('user:123', (err) => { if (err) console.error(err); else console.log('Activity recorded'); }); // Get users active in last 10 minutes track.last(10, (err, ids) => { if (err) console.error(err); else console.log('Active users:', ids); }); // Clear all activity track.clear((err) => { if (err) console.error(err); else console.log('Cleared'); }); });
Debug
Known issues
deprecatedPackage not updated since 2012; no support for modern Redis features or Node.js versions.
fix
Consider using alternatives like 'connect-redis' or 'redis-activity'. For tracking user online status, build a custom solution with Redis sets and TTL.
affects: >=0.0.0
gotchaThe module overwrites the required variable 'online' with the tracker instance (var online = online(db)). This can cause confusion.
fix
Assign the result to a different variable name, e.g., const track = require('online')(db);
affects: >=0.0.0
gotchaNo error handling for missing Redis client or connection issues. Methods may fail silently.
fix
Ensure Redis client is connected before using the module. Use event listeners on the client to handle errors.
affects: >=0.0.0
gotchaOnly minute-level precision; cannot track real-time activity or custom time windows.
fix
If finer granularity is needed, consider using Redis sorted sets with timestamps or a more modern library.
affects: >=0.0.0
Errors
Common errors & fixes
TypeError: online is not a function
Calling require('online')() without passing a Redis client, or using ES import syntax.
fix
const online = require('online'); const track = online(redisClient);
ReferenceError: redis is not defined
Redis module not required before using the client.
fix
const redis = require('redis'); const db = redis.createClient();
TypeError: db.createClient is not a function
Using an incompatible Redis client library (e.g., ioredis) that has different API.
fix
Use the 'redis' package (v2.x) as expected. For ioredis, wrap or use a different library.
Upgrade
Version history
0.0.1latest on npm
Audit
Dependencies
redisrequiredRequired for Redis client connection.
Agent activity
26 hits · last 30 days
node
24
Amazon
1
OpenAI (training)
1
Resources
packageonline
online — npm install online · libregistry