LR Shoutbox is a small live chat box for short messages. Show it as a widget, on its own /shoutbox page, or both.

What it does
- A live message list that refreshes by itself while the page is open, so conversations appear without anyone reloading.
- A widget, a page, or both. As a widget it fits any
fof/forum-widgets-core spot (sidebar, top, bottom, full width). As a page it gets its own /shoutbox address and a sidebar link.
- Either direction. Newest at the bottom like a chat, or at the top, with the typing box next to the newest message.
- 280 characters per shout, checked in the browser and on the server.
- A cooldown between shouts so one person can't flood it.
- It tidies up after itself. Only the newest 500 shouts are kept by default.
- It follows your theme, with a colored letter avatar for members without a picture.



Permissions
- Post shouts: who can write. Without it, the box is read-only.
- Delete others' shouts: for moderators. Everyone can delete their own.
- Reading follows Flarum's own View forum permission, so a private forum stays private.
How refreshing works
There's no websocket. An open shoutbox asks for new messages every 30 seconds by default (10 to 300, your choice), so a shout isn't instant. Every open tab asks, which is why the minimum is 10 seconds. Tabs in the background stop asking and catch up the moment you come back, and if requests start failing it backs off instead of hammering a struggling server.

What it doesn't do
It's one shared box of short messages, not a chat system: no private messages, rooms, reactions or uploads, and shouts can be deleted but not edited.
Requirements
- Flarum 2.0 or later, PHP 8.3+
fof/forum-widgets-core (Composer installs it for you, even if you only use the page)
Install
composer require linkrobins/shoutbox
Then enable it under Admin, Extensions. For the widget, place it on the FoF Forum Widgets page.
Source: https://github.com/linkrobins/shoutbox
Packagist: https://packagist.org/packages/linkrobins/shoutbox
Every release is posted below.