Real-Time Updates
Overview
Abrianto keeps your data synchronized in real-time, ensuring you always have access to the most current information. This feature eliminates the need for manual refreshes and provides an immediate view of changes as they happen.
What Is Real-Time Updates?
Real-time updates push changes to your interface immediately as they occur, rather than requiring you to refresh the page. This feature is especially valuable when multiple users are working with the same data or when time-sensitive information needs to be tracked accurately.
Key Features
- Instant Data Synchronization: Changes appear instantly without manual refresh
- Multi-User Awareness: See updates from other users working on the same accounts or tasks
- Event-Based Notifications: Receive notifications about important changes
- Automatic Cleanup: Old sessions are automatically cleaned up for optimal performance
- Configurable Refresh Rates: Adjust update frequency based on your needs
How Real-Time Updates Work
The Technology Behind Real-Time Updates
Abrianto uses Socketi (a self-hosted Pusher implementation) to establish real-time connections between your browser and the server. When changes occur in the system:
- Server Event: An action triggers an event (e.g., payment received, task completed, account status change)
- Socketi Push: The server publishes the event to the appropriate channel
- Client Listener: Your browser subscribes to the channel and receives the event
- Automatic Refresh: The application automatically refreshes the relevant data
Channel Structure
Real-time events are published to specific channels based on the entity being updated:
- Account Channels:
account-{accountId} - Task Channels:
task-{taskId} - Account Group Channels:
account-group-{groupId}
For example, when a payment is recorded for account #123, the server publishes an update event to the account-123 channel, and all browsers subscribed to that channel receive the notification.
Enabling Real-Time Updates
Prerequisites
Socketi Server: Ensure your Socketi server is running and accessible
Environment Variables: Configure the Socketi settings in your
.envfile:SOCKETI_ENABLED=true SOCKETI_KEY=your_socketi_key SOCKETI_CLUSTER=your_cluster SOCKETI_CHANNELPrefix=abrianto SOCKETI_HTTPEnabled=true SOCKETI_HTTPPort=6767Client Library: The PusherJS library is automatically included in your application
Automatic Activation
Real-time updates are automatically activated when you log in to the system. No additional configuration is required in your browser settings or user preferences.
Using Real-Time Updates
Viewing Real-Time Changes
Real-time updates work automatically throughout the application:
Example 1: Payment Tracking
- You’re viewing account #123 on the Accounts page
- Another user records a $500 payment for the same account
- Within seconds, the payment appears in your account details
- The account balance updates automatically
- Your dashboard reflects the new balance immediately
Example 2: Task Assignment
- You have an active task that you’re working on
- A workflow automatically assigns a new task to you
- You receive a notification and the task appears in your task list
- The task status updates without page refresh
Example 3: Status Changes
- You’re viewing the Debtor page
- A workflow changes a debtor’s status from “In Progress” to “Resolved”
- The status indicator updates immediately
- The dashboard filters update to reflect the new status
Notifications
When important changes occur, you’ll see visual indicators:
- Badges: Notification badges appear on icons when new events occur
- Toast Messages: Brief pop-up messages appear to confirm actions
- Animation: Elements animate when they’re updated in real-time
- Sound: Optional sound notifications for critical events (configurable)
Performance Considerations
Real-time updates are optimized for performance:
- Efficient Updates: Only affected data is refreshed, not entire pages
- Background Sync: Updates occur without interrupting your workflow
- Battery Friendly: Smart update intervals reduce battery usage
- Network Efficient: Uses WebSocket connections efficiently
Best Practices
Working with Real-Time Updates
- Keep Pages Active: Keep pages open in your browser to receive updates
- Monitor Notifications: Pay attention to notification badges and messages
- Refresh Periodically: For critical data, occasionally refresh the page manually
- Update Your View: Close and reopen pages if you notice delayed updates
- Check Connection: Verify the connection status if updates aren’t appearing
Troubleshooting
Updates Not Appearing?
- Check Connection: Look for the connection status indicator in the bottom-right corner
- Refresh Page: Manually refresh the page to re-establish the connection
- Clear Cache: Clear your browser cache and reload the page
- Check Network: Ensure your internet connection is stable
- Restart Server: If the problem persists, restart the Socketi server
Delayed Updates?
- Network Latency: High network latency can cause delays
- Heavy Load: High system load may slow down updates
- Clear Cache: Clear your browser cache to improve performance
- Close Other Tabs: Too many open tabs can consume resources
Too Many Notifications?
- Filter Settings: Adjust notification preferences in your user settings
- Important Only: Configure notifications to only appear for critical events
- Volume Control: Reduce notification volume or mute non-essential alerts
Configuration
User Preferences
You can configure real-time update behavior in your user settings:
- Update Frequency: Choose between immediate, 30 seconds, or 1 minute updates
- Sound Notifications: Enable or disable sound alerts
- Notification Types: Select which event types trigger notifications
- Connection Health: View real-time connection status and health metrics
Server-Side Configuration
Server administrators can configure real-time update settings:
- Connection Timeout: Set how long a connection can remain idle
- Heartbeat Interval: Configure how often the server checks connection health
- Max Connections: Set maximum number of concurrent connections
- Message Retention: Configure how long to retain connection messages
Use Cases and Examples
Collections Agency Example
Scenario: Multiple agents working on the same accounts
- Agent A records a payment for account #456
- Agent B, who also has account #456 open, sees the payment immediately
- Both agents can proceed with appropriate next steps
- The system automatically updates account balances across all sessions
Financial Institution Example
Scenario: Monitoring account due dates
- Your supervisor updates account #789’s due date
- All team members with account #789 open see the new due date immediately
- Tasks are automatically reassigned based on the new due date
- No manual data entry or system refresh is required
Debt Collection Team Example
Scenario: Coordinating task completion
- Agent C completes a task on account #101
- Agent D, who is working on related tasks for the same debtor, sees the update
- Agent D can adjust their approach based on the new information
- The workflow engine automatically creates follow-up tasks based on the updated state
Security and Privacy
Data Protection
Real-time updates are secured with:
- Encryption: All WebSocket traffic is encrypted (WSS)
- Authentication: Connections require valid authentication
- Authorization: Only authorized users can subscribe to channels
- Tenant Isolation: Data is isolated per tenant
Privacy Considerations
- Data Visibility: You only see updates for data you have access to
- No Storing: No data is stored or cached on your device
- Automatic Cleanup: Connections are automatically terminated after inactivity
- No Third-Party Sharing: Data sharing follows strict privacy policies
Troubleshooting Guide
Common Issues and Solutions
Problem 1: Connection Status Shows “Disconnected”
Solution:
- Refresh the page to re-establish the connection
- Check your internet connection
- Verify Socketi server is running:
docker ps | grep socketi - Check Socketi logs:
docker logs abrianto-socketi-1
Problem 2: Updates Not Appearing for Account Changes
Solution:
- Verify the account is currently open in your browser
- Check that you have access to view the account
- Ensure Socketi connection is active (bottom-right status indicator)
- Manually refresh the page if needed
Problem 3: Connection Drops Frequently
Solution:
- Check your internet connection stability
- Close unnecessary browser tabs to free up resources
- Disable any browser extensions that might interfere with WebSocket connections
- Restart your browser and try again
Problem 4: Updates Are Too Frequent
Solution:
- Adjust your update frequency in user settings
- Configure notification preferences to reduce alerts
- Select specific event types to receive notifications for
Performance Tips
Optimizing Real-Time Update Performance
- Close Unused Tabs: Keep only necessary tabs open
- Limit Concurrent Connections: Don’t have multiple instances of the application open
- Regular Browser Maintenance: Clear browser cache and cookies periodically
- Update Your Browser: Use the latest version of your browser for optimal performance
- Network Optimization: Use a stable, high-speed internet connection
Battery Life Considerations
- Adjust Update Frequency: Longer intervals reduce battery consumption
- Background Sync: Allow the application to sync in the background when needed
- Screen Lock: Enable screen locking when away from your computer
- Idle Detection: Let the application enter idle state when not actively using it
Support and Resources
Getting Help
If you’re experiencing issues with real-time updates:
- Check Documentation: Review this guide for common solutions
- Contact Support: Reach out to our support team with your issue
- Server Status: Check server status dashboard for any outages
- Community Forum: Ask questions in our community forum
Additional Resources
- System Status: Monitor real-time system status
- Documentation: Explore other documentation topics
- User Guide: Complete user guide for all features
- API Documentation: For developers working with real-time APIs
Conclusion
Real-time updates are designed to keep you informed and synchronized with the latest changes in the system. By understanding how this feature works and following best practices, you can maximize the benefits of real-time data synchronization while maintaining good performance and privacy.
Next Steps:
- Learn more about Reports and Analytics
- Explore AI Features
- Review Import/Export
- Explore Core Features