General
What is Eggy Messenger?
Eggy Messenger is a complete private communication system built directly into XenForo.
It includes private and group conversations, friends, presence, attachments, GIFs, voice notes, message forwarding, realtime reactions, voice and video calls, screen sharing, moderation tools and extensive Admin CP controls.
Which XenForo versions are supported?
Messenger supports
XenForo 2.3.0 and newer.
The previous XenForo 2.3.12+ minimum requirement was removed in Messenger 1.1.5.
Messenger 1.1.5 has been successfully tested on XenForo 2.3.3 Patch 2 as well as newer XenForo 2.3 releases.
Is Messenger a standalone application?
No.
Messenger requires an existing XenForo installation and uses your existing XenForo members, permissions and administration system.
Does Messenger have a full-page interface?
Yes.
Members can use the dedicated
/messenger/ page for a larger conversation-focused interface.
Can Messenger be used while browsing the rest of the forum?
Yes.
Messenger includes a compact site-wide dock so members can continue conversations while browsing normal XenForo pages.
Does Messenger work on mobile?
Yes.
Messenger includes responsive behaviour designed for desktop, tablet and mobile use.
Messaging
What messaging features are included?
- Private one-to-one conversations
- Group conversations
- Realtime message delivery
- Message forwarding
- Message reactions
- Realtime reaction updates
- Typing indicators
- Unread conversation indicators
- Unread conversation count
- New-message indicators
- Message timestamps
- Member avatars
- Notification sounds
- Dedicated full-page Messenger
- Site-wide Messenger dock
Do messages appear without refreshing the page?
Yes.
Messenger can use AJAX polling or optional Node.js/WebSocket realtime communication.
When Node.js realtime is active, new messages and supported live activity can appear immediately.
Do reactions update in realtime?
Yes.
Messenger 1.1.5 includes realtime reaction synchronisation so reactions made by another member can appear without requiring a page refresh.
What happens if Node.js realtime is not enabled?
Messenger continues to work using AJAX polling.
Node.js is optional.
Can I change the AJAX polling interval?
Yes.
The polling interval can be configured from the Messenger Admin CP.
What does the unread counter represent?
It represents unread conversations rather than simply counting every individual unread message.
Does Messenger support typing indicators?
Yes.
Typing indicators can be enabled or disabled by the administrator.
Can notification sounds be disabled?
Yes.
Members can control supported Messenger notification sounds.
Message Forwarding
Can members forward messages?
Yes.
Messenger 1.1.5 introduced message forwarding.
Where can messages be forwarded?
Messages can be forwarded to eligible private and group conversations.
Can a message be forwarded to more than one conversation?
Yes.
Multiple destinations can be selected.
What happens if a member has a very large conversation list?
The forwarding interface remains compact.
It displays a maximum of five results at a time and includes search functionality for finding friends and conversations.
Are forwarded messages identified?
Yes.
Forwarded content is identified as forwarded within Messenger.
Can attachments be forwarded?
Supported message attachments can be carried across where applicable.
Friends and Presence
Does Messenger include its own friend system?
Yes.
Members can:
- Search XenForo members
- Send friend requests
- Accept requests
- Decline requests
- View pending outgoing requests
- Manage existing friendships
- Open conversations directly from Friends
Can administrators control friend functionality?
Yes.
Friend features can be controlled through XenForo permissions and individual Messenger restrictions.
Does Messenger use XenForo bell alerts for friend activity?
Yes.
Supported friend activity can generate native XenForo bell alerts.
This includes incoming friend requests and accepted friend requests.
Does Messenger show presence information?
Yes.
Messenger includes:
- Online
- Away
- Busy
- Offline
- Appear offline
- Active Now
Can away and offline timing be configured?
Yes.
Both can be configured from the Admin CP.
Can administrators disable Appear offline?
Yes.
The option can be disabled globally and the restriction is enforced server side.
Messenger Online Members Widget
Does Messenger have its own Online Members widget?
Yes.
The widget uses Messenger presence information rather than simply duplicating XenForo's standard online-member list.
Does the widget update while the page is open?
Yes.
Current Messenger activity can update without requiring a full page refresh.
Can I limit how many members are displayed?
Yes.
Images, Files, GIFs and Emoji
Can members upload images?
Yes, where attachments are enabled and the member has permission.
Can members upload other file types?
Yes.
Allowed extensions and attachment limits are configurable.
Are large images contained inside the Messenger interface?
Yes.
Inline images are constrained to the available message area while retaining their proportions.
Can downloadable files such as ZIP, TXT and PDF files be sent?
Yes, subject to your configured attachment rules.
Does Messenger support GIFs?
Yes.
Messenger includes optional GIPHY integration.
Do I need a GIPHY API key?
Only if you enable GIPHY search.
What does the GIF picker support?
- GIF search
- Trending GIFs
- Example GIFs
- Search results while typing
- Configurable maximum GIF rating
Can GIPHY be disabled?
Yes.
Does Messenger support emoji?
Yes.
Does Messenger support message formatting and code snippets?
Yes.
Audio and Voice Notes
Does Messenger support voice notes?
Yes.
Members can record and send voice notes where the feature is enabled and permitted.
Can voice notes be disabled?
Yes.
Voice notes can be controlled globally, by user-group permission and through individual Messenger restrictions.
Are audio attachments loaded immediately when a conversation opens?
No.
Messenger can lazy load audio so the actual media request begins when the member chooses to play it.
This reduces unnecessary media requests and bandwidth usage.
Voice Calls, Video Calls and Screen Sharing
Does Messenger support voice calls?
Yes.
Does Messenger support video calls?
Yes.
Does Messenger support screen sharing?
Yes.
What technology does Messenger use for calls?
Messenger uses browser-based WebRTC.
Can voice calls, video calls and screen sharing be controlled separately?
Yes.
Each has its own permission and restriction controls.
Does Messenger require an external calling provider?
No.
WebRTC attempts direct peer-to-peer connectivity where possible.
What is TURN relay fallback?
TURN can relay WebRTC traffic when a direct peer-to-peer connection cannot be established.
Is TURN required?
No.
Is TURN enabled by default?
No.
Do I need my own TURN infrastructure?
Yes, if you choose to enable TURN relay fallback.
Messenger does not include a hosted TURN service.
Can STUN and TURN servers be configured?
Yes.
Advanced WebRTC configuration is available from the Admin CP.
Does Messenger support TURN shared secrets?
Yes.
Can the maximum number of call members be configured?
Yes.
Does WebRTC require HTTPS?
Modern browsers require a secure context for microphone, camera and screen-sharing functionality, so HTTPS should be used.
Call Device Setup
Can members choose which microphone Messenger uses?
Yes.
Messenger 1.1.5 includes call device configuration.
Can members choose their camera?
Yes.
Can members choose their speakers?
Speaker/output selection is available where supported by the browser.
Can members test their microphone before making a call?
Yes.
Messenger includes microphone testing and a live microphone level indicator.
Can members preview their camera?
Yes.
Can the speaker output be tested?
Yes, where supported.
Does Messenger remember selected devices?
Messenger can remember preferred device selections in the browser.
Can devices be changed during an active call?
Supported devices can be changed while a call is active without requiring the member to end the call first.
Call Activity and Missed Calls
Does Messenger record call activity inside conversations?
Yes.
Messenger can display:
- Completed calls
- Missed calls
- Declined calls
- Cancelled calls
- Call duration
Can members call someone back directly from the conversation?
Yes.
Messenger provides Call back and Call again actions where appropriate.
Does Messenger generate XenForo bell alerts for missed calls?
Yes.
Messenger 1.1.5 includes native XenForo bell alerts for missed calls.
This allows a member who was away from Messenger to see that they missed a call through XenForo's normal alert system.
Group Conversations
Does Messenger support group conversations?
Yes.
Can I configure the maximum group size?
Yes.
Can group creation and management be restricted?
Yes.
Group functionality can be controlled through XenForo permissions and per-user Messenger restrictions.
Member Actions
Which quick member actions are available?
- View Profile
- Report
- Block
- Unfriend
Messenger uses its own integrated interface rather than browser alert, prompt and confirmation dialogs.
Reporting and Moderation
Does Messenger include message reporting?
Yes, where reporting is enabled.
Where are Messenger reports reviewed?
Messenger has its own Reports area inside the Admin CP.
What information can reports include?
Depending on the situation:
- Report ID
- Reporter
- Reported member
- Reason
- Date
- Status
- Conversation information
- Relevant chronological transcript
- Message senders
- Message timestamps
- Message content
- Attachment information
- Group conversation context
Does a report only show the single reported message?
No.
Messenger can provide relevant conversation context to help staff review the report properly.
Messenger User Administration
Does Messenger have its own user-management area?
Yes.
Can administrators search for individual members?
Yes.
Members can be located using supported member information such as username or email.
What Messenger information can administrators inspect?
- Messenger access status
- Presence
- Friend information
- Conversation information
- Message statistics
- Reports
- Blocked members
- Suspension status
- Feature restrictions
Suspensions and Restrictions
Can I suspend someone from Messenger without banning their XenForo account?
Yes.
Can all Messenger access be suspended?
Yes.
What does a fully suspended member see?
Messenger displays a clear suspension state rather than an unexplained AJAX or HTTP error.
Do I have to completely suspend Messenger access?
No.
Individual features can be restricted instead.
Which features can be restricted?
- Friend actions
- Messaging
- Group management
- File and image attachments
- Voice notes
- Voice calls
- Video calls
- Screen sharing
Does restricting one feature disable everything else?
No.
Only the selected capability is restricted.
Can administrators record a restriction reason?
Yes.
Can administrator notes remain private?
Yes.
Messenger separates private staff notes from user-visible reasons.
Can I choose whether the member sees the reason?
Yes.
If visibility is disabled, Messenger can display a generic notice instead.
Permissions
Does Messenger use XenForo user-group permissions?
Yes.
Permissions include:
- Use Messenger
- Send and manage friend requests
- Send messages
- Create and participate in group conversations
- Upload attachments
- Send voice notes
- Make voice calls
- Make video calls
- Share screen
Can different user groups have different Messenger limits?
Yes.
User-group limits can include:
- Maximum friends
- Maximum group members
- Attachment limits
Admin CP
Does Messenger have its own Admin CP section?
Yes.
The Messenger administration area includes:
- Dashboard
- Settings
- Appearance
- User group limits
- Users
- Reports
- Calls/WebRTC
- Diagnostics
Can major Messenger features be enabled or disabled individually?
Yes.
Controls include:
- Messenger
- Friend system
- Group conversations
- Attachments
- Voice notes
- Voice calls
- Video calls
- Screen sharing
- Presence
- Appear offline
- Typing indicators
- Message reactions
- Message reporting
Limits and Behaviour
Which operational settings can administrators configure?
- Default friend limit
- Maximum group members
- Maximum call members
- Attachment limits
- Maximum message length
- Message edit window
- Message delete window
- AJAX polling interval
- Away timeout
- Offline timeout
- Friend requests per hour
- New conversations per hour
- Minimum account age
- Minimum forum post count
- Allowed file extensions
Can I rate-limit friend requests?
Yes.
Can I rate-limit new conversations?
Yes.
Can I require a minimum account age before Messenger can be used?
Yes.
Can I require a minimum forum post count?
Yes.
Appearance
Can Messenger's appearance be customised?
Yes.
Messenger includes a dedicated Appearance area.
Which layout settings are available?
- Theme preset
- Interface density
- Desktop Messenger width
- Left placement
- Right placement
- Drag placement
- Desktop spacing
- Corner radius
Which colours can be configured?
- Chat background
- Primary surface
- Secondary surface
- Borders
- Main text
- Muted text
- Accent colour
- Accent text
- Outgoing message bubble
- Outgoing message text
- Incoming message bubble
- Incoming message text
Does the Appearance page include a live preview?
Yes.
Can members move Messenger around the desktop?
Yes, when Drag positioning is enabled.
The selected position is remembered in that browser and Messenger is kept inside the usable viewport.
Node.js Realtime
Is Node.js required to use Messenger?
No.
Messenger works using AJAX polling without Node.js.
What does Node.js add?
Optional Node.js/WebSocket support provides faster realtime communication for supported Messenger activity such as messages and reactions.
What happens if the realtime gateway becomes unavailable?
When AJAX fallback is enabled, Messenger automatically falls back to AJAX polling.
Which Node.js version is required?
Node.js 20 or newer is recommended for the bundled realtime gateway.
Does the server need to support WebSockets?
Yes, if Node.js realtime is enabled.
Your web server or reverse proxy must allow WebSocket upgrade connections.
Which port does the bundled gateway use by default?
The bundled realtime gateway listens locally on:
127.0.0.1:31337
Which WebSocket path is used?
The normal proxy path is:
/messenger-realtime
Do I need to configure a separate WebSocket domain?
Usually not.
If the Public WebSocket URL is left blank, Messenger can use the current XenForo hostname.
Is the realtime gateway tied to eggy.net?
No.
The realtime transport is customer-portable and uses the domain where XenForo is installed.
How is the realtime connection authenticated?
Messenger uses authenticated, time-limited connection tokens together with the configured realtime secret.
How can I check whether realtime is configured correctly?
Messenger includes realtime diagnostics in the Admin CP.
The diagnostics system can identify issues such as authentication mismatches or a running Node.js process that needs restarting.
Do I need to restart Node.js after every Messenger update?
No.
A restart is only normally required when an update changes the bundled realtime gateway.
For a standard systemd installation:
systemctl restart eggy-messenger-realtime
Can I leave Node.js disabled permanently?
Yes.
Messenger continues operating through AJAX polling.
Installation and Requirements
How is Messenger installed?
Messenger is supplied as a standard XenForo add-on archive and uses XenForo's normal add-on installation process.
What is the add-on ID?
Eggy/Messenger
What are the minimum requirements?
- XenForo 2.3.0+
- PHP 8.0+
- Modern browser for WebRTC features
- HTTPS for browser features requiring a secure context
Optional integrations may additionally require:
- GIPHY API key for GIPHY search
- TURN infrastructure for TURN relay fallback
- Node.js 20+ for optional WebSocket realtime
Is GIPHY required?
No.
Is TURN required?
No.
Is Node.js required?
No.
Can Messenger be used without voice and video functionality?
Yes.
Voice calls, video calls and screen sharing can be disabled independently.
Compatibility and Privacy
Does Messenger use my existing XenForo accounts?
Yes.
Messenger does not maintain a separate account system.
Is Messenger end-to-end encrypted?
No claim of end-to-end encryption is made.
Will Messenger look identical on every XenForo style?
Messenger includes extensive appearance controls and is designed for XenForo 2.3, but heavily modified third-party styles may occasionally require site-specific CSS adjustments.
Can administrators customise Messenger further?
Yes.
Normal XenForo customisation methods can still be used, although custom modifications may need reviewing after future Messenger updates.
Support
Where can I get support?
https://support.eggy.net
What should I include in a support request?
- XenForo version
- Messenger version
- Clear description of the problem
- Affected Messenger feature
- Relevant XenForo server error log information
- Steps required to reproduce the issue
Never publish passwords, API keys, TURN shared secrets or server credentials in a public support request.