Skip to content
View in the app

A better way to browse. Learn more.

ernestdefoe.online

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
ernestdefoe.online

Extensions, themes & support for Flarum and Invision Community

Vibe coding for the community web. Report a bug, request a feature, or dig into the source — this is where the tools you use get built, in the open.

We do custom Bespoke Invision Community apps. If you have an idea for something you want then use the contact form to get in touch with us.

Social Groups for Flarum — support and discussion

Featured Replies

  • Administrators
  • Community Expert

Social Groups for Flarum

Flarum 2.x

PHP 8.3+

License MIT

A full-featured social groups extension for Flarum 2. Members can create public or private groups, post to a Facebook-style feed, hold threaded discussions, share media, react to posts, run polls, and more — with optional real-time updates powered by flarum/realtime.


Features

Groups

  • Public & private groups — public groups are open to all; private groups require a join request or direct invitation.

  • Group image & banner upload — each group has its own avatar and cover banner image.

  • Featured groups — administrators can pin groups to a featured row on the group directory.

  • Primary group badge — members designate one group as their primary group; the badge is displayed on their Flarum profile.

  • Group analytics dashboard — overview of member count, post activity, and growth over time (visible to group admins and moderators).

  • RSS feed — each group exposes a per-group RSS 2.0 feed at /groups/{slug}/feed.rss.

Feed

  • Facebook-style post cards with full Flarum BBCode/Markdown rendering.

  • Emoji reactions — six reaction types: 👍 Like, ❤️ Love, 😂 Haha, 😮 Wow, 😢 Sad, 😡 Angry; one reaction per user, toggleable.

  • Polls — create polls directly from the post composer; members vote inline with live percentage bars.

  • Link previews — URLs are automatically expanded into rich Open Graph preview cards (title, description, thumbnail).

  • Media attachments — attach images and files to posts via fof/upload (optional).

  • Pin posts — group admins can pin discussions to the top of the feed.

  • Post search — debounced search bar filters discussions by title or content in real time.

  • Post sharing — share any discussion into another group you belong to, with an optional comment; shared posts render a quoted card.

Discussions

  • Threaded discussion view at /groups/{slug}/d/{discussionId} with nested comment replies.

  • Pin discussions to the top of the discussion list.

  • Share discussions to the group feed.

Media Gallery

  • Dedicated "Media" tab on each group page aggregating all images from posts and discussions into a responsive thumbnail grid with lightbox.

Member Management

  • Join requests — group admins approve or reject membership requests; direct invitations bypass the queue.

  • Promote / demote — elevate a member to group admin or step them back down.

  • Kick — remove a member from the group.

  • Member badges on profiles — group membership chips appear on Flarum user profile cards forum-wide.

Notifications

  • Alert when a new post is created in a group the user participates in.

  • Alert when someone replies directly to a user's post.

Real-time (optional — requires flarum/realtime)

See the flarum/realtime Integration section below.


Requirements

| Dependency | Version | Required |

|---|---|---|

| Flarum | 2.x | Yes |

| PHP | 8.3+ | Yes |

| flarum/realtime | any | No — graceful no-op if absent |

| fof/upload | ^2.0 | No — required for file/image attachments in posts |


Installation


php flarum migrate
php flarum cache:clear```

Then go to **Admin → Extensions** and enable **Social Groups**.

**After every update**, run the migrate and cache-clear commands to apply any new database migrations:

```php flarum migrate && php flarum cache:clear```

---

## Configuration

### Admin panel settings

Navigate to **Admin → Extensions → Social Groups**:

| Setting | Options | Default |

|---|---|---|

| **Who can create groups** | `member` — any registered user; `admin` — forum administrators only | `member` |

### Group privacy

Group creators choose privacy at creation time:

| Type | Behaviour |

|---|---|

| **Public** | Anyone can view the feed, discussions, and gallery. Joining is instant. |

| **Private** | Content is hidden from non-members. New members must submit a join request (approved by a group admin) or be invited directly. |

---

## flarum/realtime Integration

The real-time features are entirely **optional**. If `flarum/realtime` is not installed the extension works normally — the typing endpoint silently returns `204` and the post-broadcast listener exits immediately without any error or warning.

When `flarum/realtime` **is** installed and running:

* **Live post injection** — after a member submits a reply in a group discussion thread, all other members viewing that thread see the new post card appear instantly via the `sg-post-created` WebSocket event. No page refresh is needed.
* **Typing indicator** — while a member is composing a reply, an animated "Jane is typing…" indicator with bouncing dots is broadcast via the `sg-typing` event and displayed above the reply box for all other members viewing the same thread. The indicator disappears automatically when the member stops typing or submits their post.
* **Deduplication** — the client compares each incoming post's ID against already-rendered posts to prevent duplicates when both the HTTP response and the WebSocket push arrive for the same post.
* **No extra configuration** — the extension uses the existing public Pusher/Soketi channel that `flarum/realtime` sets up. Nothing additional needs to be configured.

---

## Updating

```composer update ernestdefoe/social-groups
php flarum migrate
php flarum cache:clear```

---

## License

Released under the [MIT License](https://github.com/ernestdefoe/social-groups/blob/main/LICENSE). © Ernestdefoe

<https://ernestdefoe.online/extension/ernestdefoe/social-groups>
  • Replies 57
  • Views 269
  • Created
  • Last Reply

Top Posters In This Topic

  • 2 weeks later...
  • Administrators
  • Community Expert

social-groups v2.3.66

Floxum audit hardening. Reactions aggregate N+1 → JOIN, declared the transient _sgDiscussionRef property, and single-query slug generation. One LOW conventions finding (rewriting 19 already-applied raw migrations to the Migration helper API) is deferred — the raw form is valid (§26) and rewriting applied migrations is mechanical churn with regression risk.

View release on GitHub

Dear Ernest,

thank you for such a great extension!

I dare to say it is one of the most powerfull new extensions in the flarum ecosystem.

I'm experiencing some issues which I want to point out- hopefully there is a way for you to solve those:

  1. Despite not being logged-in flarum I can open and read the Group Discussions. Flarum permissions are set to allow only logged-in users to see discussions, so I would expect that to be congruent. I actually get an error when I open a Group '{"errors":[{"status":"401","code":"not_authenticated"}]}' but it still renders the full discussion. (I'm on macOS with Safari)
  2. I can not reply to any group posts '{"data":[],"included":[],"meta":{"page":{"total":0,"offset":0,"limit":20}},"links":[],"jsonapi":{"version":"1.1"}}'
  3. I do not see the TextEditor-controls Composer-footer, so I can not format any posts within Groups.

Are you planning on improving the Social Groups Extension?

Do you want me to do further debug testing?

@Claude_Bot log these issues please.

  • Administrators
  • Community Expert

The most recent message just says it was approved in the Admin to get fixed, but I don't have details on what "it" refers to. Could you clarify what you'd like help with?

If you're reporting an issue with Social Groups, it'd help to share:

  • The Social Groups version
  • Your Flarum version
  • Exact steps to reproduce

I'll flag this for the team to confirm on the fix side. For reference, live support is available (US Central Time):

  • Mon–Thu: 7:00pm–10:00pm
  • Fri: 3:00pm–10:00pm
  • Sat & Sun: all day
  • Author
  • Administrators
  • Community Expert

@Claude_Bot Despite not being logged-in flarum I can open and read the Group Discussions. Flarum permissions are set to allow only logged-in users to see discussions, so I would expect that to be congruent. I actually get an error when I open a Group '{"errors":[{"status":"401","code":"not_authenticated"}]}' but it still renders the full discussion. (I'm on macOS with Safari)

  1. I can not reply to any group posts '{"data":[],"included":[],"meta":{"page":{"total":0,"offset":0,"limit":20}},"links":[],"jsonapi":{"version":"1.1"}}'
  2. I do not see the TextEditor-controls Composer-footer, so I can not format any posts within Groups.
  • Administrators
  • Community Expert

Thanks for the detailed report — and glad you're enjoying the extension! I'll log these for the team to review. A few of these sound like they could be related, so let me grab some details to pass along:

  1. Flarum version and Social Groups version you're running
  2. Whether fof/upload is installed (relevant for #3 / composer controls)
  3. The exact steps to reproduce each issue

A couple of quick notes on what you described:

  • #1 (private discussions readable while logged out): That's worth a closer look. To confirm — was the group itself set to Private, or just relying on Flarum's global "see discussions" permission? Private group content is hidden from non-members, but global Flarum permissions interact differently, so the exact setup matters. I'll describe this for the team to investigate rather than calling it confirmed behavior either way.

  • #2 / #3 (can't reply, no composer controls): These may share a root cause. Could you check the browser console (Safari → Develop → Show JavaScript Console) for errors when opening the reply box, and let me know if anything appears?

Yes — further debug testing is very welcome, and the console output would help a lot.

For live support: the team is available Mon–Thu 7–10pm, Fri 3–10pm, and all day Sat/Sun (US Central Time). I've logged your report so they can follow up on roadmap/fix questions — I can't promise fixes or timelines myself.

  • Administrators
  • Community Expert

I don't see a specific list of concerns in this thread yet — could you point me to the message(s) from @flavour1 you'd like me to compile? Once I can see them, I'll summarize them into a clear, fixable list.

In the meantime, to make the report most actionable it'd help to capture for each issue:

  • Social Groups version
  • Flarum version
  • Exact steps to reproduce
  • Whether flarum/realtime and/or fof/upload are installed

Drop the details (or link the posts) and I'll put together a tidy summary.

Guest
Reply to this topic...

Want to reply?

Ask a question about any of these applications and it will be answered by the person who wrote them. It takes about thirty seconds, and you keep what you have already typed.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.