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.

Signal — support and discussion

Featured Replies

  • Administrators
  • Community Expert

Signal

Signal

Every topic in your forum is in one of a handful of states, and your members can only tell which by opening it. Signal reads the conversation and says so on the list: this one has nobody answering, this one is waiting on the person who asked, this one already has its answer, this one is finished. A reader scanning a forum can see where they can help, and where they will find what they came for.

It answers a different question to "when was the last reply?"

Labels driven by the clock — new, active, quiet, dormant — tell you the same thing the last reply column already tells you, in different words. Signal's states come from the conversation itself: whether anyone replied, who spoke last, whether an answer was accepted, and whether one reply is clearly the best in the topic even though nobody ever pressed the button.

  • Unanswered — nobody has replied yet.
  • Needs a reply — the person who asked spoke last, so it is waiting on somebody else.
  • Answered — one reply stands well clear of the others, so it probably answers the question. Nobody had to mark it.
  • Solved — an answer was accepted.
  • Settled — answered, and the conversation has finished. Not "dormant": the same fact, and the opposite impression of the community that produced it.
  • Locked — the topic is closed, so it is not waiting on anybody.
  • Busy — replies are still arriving quickly.
  • Waiting on asker — somebody replied and the person who asked has not come back.

You choose which of these appear. Fewer is better, and the default leaves out the one that tends to cover most of a forum, because a label on two thirds of the list stops being read at all.

Post scoring — the part Invision only finishes on Cloud

Your self-hosted database already has the columns: post score on every post, and an average on every topic. Nothing in the suite ever fills them in. Signal does.

Scores come from what your community has already done — accepted answers, reactions, and which replies other people quoted — plus a much smaller contribution from the writing itself. That balance is deliberate and it was corrected after testing against a real forum: length is evidence of effort, not of value. A post nobody has reacted to, quoted or marked is held near the baseline however long it is, so a quiet forum does not end up crowning its wordiest automated announcement.

Negative reactions count against a post rather than being ignored, so a reply people actively disagreed with does not score the same as one nobody read.

And it tells you why

Every score comes with its reasoning in plain words — marked as the answer, reactions worth +7, quoted by two later replies, one of the first replies. The settings screen shows the highest-scoring post on your own site and exactly what earned it. An administrator who cannot ask "why is this an 8?" will not trust the number, and a number nobody trusts changes nobody's behaviour.

Answers that nobody marked

On most forums the mark as answer button is barely used, so the knowledge in a long support thread stays invisible. Signal finds the reply that stands clear of its neighbours and puts a small Answer marker on it.

It marks the reply, not the whole discussion. A long support topic often answers several different questions, and declaring the entire thread solved hides that from the next person arriving with the second one.

Standing out is measured against the other replies in that topic, not against a fixed number. That matters: on a quiet forum a fixed threshold labels nothing, and on a busy one it labels everything.

Built to stay out of the way

  • Badges are rendered from a stored state, and a whole forum index costs one query — not one per row.
  • Scoring runs in the background a batch at a time, and only looks at posts whose evidence has actually changed. It never sweeps the table.
  • The batch size is capped whatever you set it to, because Invision runs background work inside real visitor requests.
  • No third-party services, no outbound requests, no API keys. Everything is computed from your own database.
  • Nothing is overwritten: Signal writes into Invision's own columns, so a community that later moves to Cloud simply has Cloud take over.

Requirements

  • Invision Community 5.0 or later, self-hosted.
  • The Forums application.
  • PHP 8.1+.

File Information

Submitter Ernest Defoe

Submitted 08/01/26

Category AI & Content apps for Invision Community 5

View File

Signal

  • Replies 1
  • Views 16
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Posted Images

Create an account or sign in to comment

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.