Better Chat - About

Started by admin, Aug 18, 2026, 11:29 AM

Previous topic - Next topic

admin

Better Chat adds real-time community chat, private member conversations, and an optional customer-support workflow directly to SMF 2.1.x.

It is designed to feel like part of the forum rather than a separate chat application bolted onto it.

The goal is simple:

Give an SMF community modern real-time conversation without leaving the forum.

Main Features:

  • Community / group chat
  • One-to-one private member chat
  • Messenger-style minimized private chat bubbles
  • Compact private chat windows
  • Support / Customer Service mode
  • Hybrid Community + Support mode
  • Optional guest support chat
  • Staff support queue
  • On-duty support controls
  • Image attachments
  • Optional video attachments
  • FFmpeg detection and video processing
  • Emoji picker
  • Online / presence indicators
  • Typing-aware chat behavior
  • Sound notifications
  • Browser-title notifications
  • Optional Better Reactions integration
  • Chat-only moderation controls
  • Per-member chat restrictions
  • Audit logging
  • Separate retention policies
  • Participant-side private-history clearing
  • Administrative history cleanup
  • Upload cleanup
  • Better Reactions lifecycle cleanup
  • Server capability diagnostics
  • Safe non-destructive uninstall
  • Protection for CAPTCHA, downloads, XML, AJAX, and other non-page responses

Community Chat

Better Chat can provide a persistent Group Chat directly on normal forum pages.

Members can communicate in real time without opening another page or leaving the topic they are reading.

The administrator can configure the public chat title and chat-window width.

Community chat can operate on its own or alongside the Support system.

Private Member Chat

Registered members can open direct one-to-one conversations with other members.

Private chats appear as dedicated chat windows and are kept separate from the public Group Chat.

Members can keep several conversations available while continuing to browse the forum.

Messenger-Style Chat Bubbles

Better Chat supports two minimized private-chat styles:

Compact Windows

Minimized conversations remain as small traditional chat windows.

Messenger-Style Bubbles

Minimized conversations become chat bubbles stacked along the side of the page.

Unread-message badges can appear on minimized bubbles, making it easy to keep several conversations available without covering the forum.

Private Conversation Clearing


A member can clear a private conversation from their own view.

This does not erase the other participant's copy.

That provides a familiar messaging-style behavior while avoiding the surprising result of one participant deleting another member's private history.

Permanent administrative cleanup remains a separate controlled action.

Support / Customer Service Mode

Better Chat can also operate as a live support system.

Available operating modes include:

  • Community Chat
  • Support / Customer Service
  • Hybrid Community + Support

Hybrid mode allows the normal community chat and the support system to operate together.

Member and Guest Support

Administrators can choose whether support requests are available to:

  • Registered members
  • Guests
  • Both

Guests can enter a display name and request a private conversation with available staff.

Support conversations remain separate from the public community chat.

Support Staff

Support staff are selected using SMF membergroup IDs.

Administrators are always recognized as support staff.

Staff members can mark themselves On Duty, making them available to handle incoming support requests.

Support Queue

When a visitor requests help, the conversation enters a support queue.

Staff can see waiting customers and choose Accept Chat.

Once claimed, the customer and staff member enter a private live support conversation.

Either side can end the session when complete.

Screenshot Uploads in Support

Support chat can optionally allow image uploads.

Supported image types include common web formats such as:

  • JPEG
  • PNG
  • GIF
  • WebP

The same Better Chat image size and extension policies are used for support conversations.

This is particularly useful for technical support where a screenshot often explains a problem faster than several messages.

Chat Attachments

Better Chat supports image uploads directly inside community and private conversations.

The administrator can configure:

  • Maximum image size
  • Allowed image extensions

Images are displayed inline as chat attachments rather than requiring members to upload them elsewhere first.

Video Attachments

Better Chat also contains optional video attachment support.

When FFmpeg is installed and available, administrators can enable video uploads and configure:

  • Maximum video size
  • Allowed video extensions
  • FFmpeg executable path

If no custom path is supplied, Better Chat attempts to detect FFmpeg automatically.

Supported browser-friendly formats include MP4 and WebM.

Video Preview Processing

When video support is enabled, Better Chat uses FFmpeg to verify video uploads and generate preview/poster images.

Video messages can then be displayed directly inside the chat interface using browser-native video controls.

If the required server capabilities are unavailable, video attachments remain disabled rather than pretending the feature is functional.

Emoji Picker

Better Chat includes its own emoji picker for both group and private conversations.

The picker includes:

  • Emoji categories
  • Search
  • Recently used emoji

This gives chat a more modern messaging feel without requiring an external emoji service.

Online Presence

Better Chat tracks active members for chat purposes and displays an online-user list.

The interface can distinguish members who are currently active in chat from members who are simply online on the forum.

Private conversations can be opened directly from the user list.

Notifications

Better Chat includes configurable private-message notifications.

Administrators can enable:

  • Notification sounds
  • Member control over notification sounds
  • Browser-title alerts when the page is in the background

The browser-title notification text is configurable and supports the sender's username.

Example:

David has sent you a new message...

Better Reactions Integration

If Better Reactions is installed and enabled, Better Chat can use it for chat messages.

Members can react directly to chat messages using the forum's configured reaction set.

Reaction summaries and reactor information can be displayed directly in the chat interface.

Better Chat also understands that reactions belong to the chat message lifecycle.

When chat messages are permanently deleted, related Better Reactions data is cleaned up as well.

Chat Moderation

Better Chat includes its own moderation system rather than relying only on all-or-nothing forum bans.

Administrators can restrict a member from:

  • Group Chat
  • Private Chat
  • Support
  • All Better Chat features

These restrictions affect Better Chat only.

Normal forum posting and normal SMF permissions remain unchanged.

Temporary or Permanent Restrictions

Restrictions can be applied for periods including:

  • 15 minutes
  • 1 hour
  • 24 hours
  • 7 days
  • 30 days
  • Permanent

Each restriction includes an internal moderator reason.

Restrictions can also be revoked manually.

Moderation History

Better Chat keeps a history of chat-specific moderation actions.

Administrators can review:

  • Active restrictions
  • Previous restrictions
  • Moderator
  • Reason
  • Duration
  • Revocation information

This makes chat moderation auditable without mixing it into unrelated forum moderation behavior.

Better Chat Audit Log

Important Better Chat administrative actions are recorded in a dedicated audit log.

The log can include activity such as:

  • Applying restrictions
  • Revoking restrictions
  • Clearing Group Chat history
  • Purging private conversations
  • Other destructive maintenance actions

The administration interface includes filtering and paging for these records.

History & Retention Policies

Better Chat supports independent retention periods for:

  • Group Chat
  • Private Chat
  • Closed Support sessions
  • Better Chat audit logs

Available periods range from short-term retention up to one year or Never.

This allows administrators to treat different kinds of conversation differently.

For example:

  • Group Chat: 7 days
  • Private Chat: 30 days
  • Support: 90 days
  • Audit Log: 1 year

Automatic Retention

Retention processing runs automatically during normal forum traffic, approximately once per hour when needed.

Active or waiting Support sessions are never removed by automatic retention.

When messages are permanently pruned, Better Chat also cleans up associated uploaded files and Better Reactions data.

Administrator History Cleanup

Administrators have explicit cleanup tools for chat history.

Group Chat history can be permanently cleared.

Private conversations can also be purged administratively when necessary.

Destructive actions are recorded in Better Chat's audit log.

Upload Cleanup

Better Chat tracks message-linked image and video uploads.

When messages are permanently removed by administrative cleanup or retention policies, associated files can be removed as part of the same lifecycle.

This prevents abandoned chat uploads from accumulating indefinitely.

Environment & Capability Checks

The Better Chat administration page includes server capability diagnostics.

It can report the availability of:

  • SMF Cache API
  • Memcached
  • Memcache
  • Redis
  • APCu
  • Selected Better Chat cache backend
  • FFmpeg
  • PHP command execution
  • Video attachment readiness

This makes advanced chat features easier to troubleshoot.

Cache Awareness

Better Chat can use available caching facilities when present.

It checks SMF's cache API and common PHP caching extensions and selects an available backend where appropriate.

If no cache backend is available, Better Chat can continue operating using the database.

Administration

Better Chat adds its own administration area with dedicated sections for:

Settings

General chat behavior, private chat style, Support mode, notifications, retention, uploads, and server capabilities.

Moderation

Member chat restrictions and moderation history.

Logs

Better Chat administrative and moderation activity.

Output Safety

Better Chat includes an important response-safety layer.

SMF's theme hooks can run on requests that are not normal HTML forum pages.

Without protection, a chat MOD that blindly injects JavaScript could corrupt responses such as:

  • CAPTCHA images
  • Downloads
  • XML
  • AJAX
  • Other binary output

Better Chat detects these non-page requests and does not emit chat HTML or JavaScript into them.

This keeps normal SMF binary and machine-readable endpoints clean.

Upgrade Safety

Better Chat preserves existing administrator configuration during upgrades.

The installer checks which settings already exist and only creates defaults for missing settings.

Existing values are not reset simply because a newer Better Chat package is installed.

Hook Normalization

Older development versions and earlier Custom Chat packages may have registered the same functions using different hook formats.

Better Chat normalizes those registrations during installation and upgrade.

Known legacy variants are removed before one canonical current hook is registered.

This helps prevent duplicate chat initialization and stale hook references.

Uninstall Behavior

Better Chat follows the Better SMF uninstall standard.

Normal uninstall
  • Detaches Better Chat integration hooks
  • Removes Better Chat package files
  • Preserves Better Chat database tables
  • Preserves settings
  • Preserves uploaded chat files

This allows the MOD to be removed without automatically destroying chat history.

Uninstall with Package Manager data removal selected

The destructive uninstall additionally removes:

  • Better Chat database tables
  • Better Chat settings
  • Stored chat uploads
  • Related Better Reactions records for chat messages

Hook cleanup is deliberately separate from destructive data cleanup so stale hooks are not left behind when history is preserved.

Compatibility

Better Chat: 1.0.0
SMF: 2.1.x

The package declares compatibility with:

SMF 2.1 through 2.1.99

Release Status

Better Chat 1.0.0 is promoted directly from the live-tested 1.0.0-test33f baseline.

That development line includes the completed:

  • Community chat
  • Private chats
  • Messenger-style minimized bubbles
  • Support / Customer Service system
  • Hybrid operating mode
  • Upload support
  • Optional video support
  • Better Reactions integration
  • Moderation system
  • Audit logging
  • Retention policies
  • Cleanup lifecycle
  • Safe uninstall architecture
  • Login/bootstrap handling
  • Non-HTML output protection

No feature logic was changed simply to call the package stable.
Having trouble? Please contact me through Help & Support Board.