Forums Feature Requests Thread

[New] Forums (re-run): No live duplicate / similar-topic detection while composing a new thread

Patrick Bass · Jun 6 · 14 · 1 Locked
[High Priority] [New Feature] [Deployed to Production]
🚀 OP Jun 6, 2026 8:51pm

Area: Forums (re-run) (audit p2r) · Surface: GET /forums/{slug}/new-thread — templates/forums/create-thread.php · Dimension: competitor-gap · Severity: major

Discourse's single most-cited dedup feature is the 'Your topic is similar to…' panel that appears live as you type the title on the new-topic screen, surfacing existing answers before a duplicate is created. Stack Overflow and Zendesk's community do the same. Mobieus only shows related threads once you are already reading an existing one — too late to prevent the duplicate. The data + ranking already exist (findRelatedThreads); they are just not wired to the compose flow, so this is mostly a surfacing gap.

Evidence

Related-thread discovery runs only AFTER a thread exists, on the show page: ForumController.php:1780 `$relatedThreads = $this->findRelatedThreads($thread);` inside showThread, passed to the template at :1915 `'relatedThreads' => $relatedThreads`. The helper findRelatedThreads is defined at :4211 and called nowhere else. The compose page has zero similar-topic logic: `grep -niE 'similar|duplicate|existing.?thread|keyup.*title' templates/forums/create-thread.php` returns no matches. There is no /api/forum/similar endpoint in src/routes.php.

Suggested fix. Add a debounced as-you-type lookup on the title/body fields in create-thread.php that hits a new GET /api/forum/similar?q=… reusing the FEAT-25 findRelatedThreads ranking (or the FULLTEXT title MATCH from SearchController), rendering up to 5 'Already discussed?' links above the submit button.

Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.


Patrick Bass
@mobieus

🚀 Jun 7, 2026 10:59am

Shipped and deployed to production. Commit bb50cee4e7.

Similar-topic detection on the new-thread composer: as you type the title (debounced 600ms), a panel shows up to 5 matching existing threads so you can check before posting a duplicate.

Closed as: deployed.


Patrick Bass
@mobieus

Log in or register to reply to this thread.