Current Projects - October 2024
Welcome to our second edition of Current Projects, a monthly newsletter about what we’re currently working on at Discourse.
Your questions and feedback are welcome!
Kicking off
Composer redesign
Our composer redesign project is still in its early stages, but we’re getting closer to defining our design direction and choosing the libraries that we’ll be building upon. After evaluating our options, three contenders bubbled to the top: Lexical, ProseMirror, and TipTap. We did some earlier prototyping with Lexical, but ProseMirror looks compelling, and its recent adoption by some larger projects addresses some of our earlier concerns about it. We are currently working on a prototype based on ProseMirror to validate some assumptions we have about what that integration would look like.
A new look and feel config page
Our work on a new theme chooser is evolving into a slightly larger project to create a more streamlined config page in the admin interface for customizing the look abd feel of a Discourse site. In addition to giving admins on new sites an easier and more visual way to choose from a small set of selected themes, we’ll also be looking at how sites configure theme components, color schemes, and related settings. We are close to landing an initial pull request for this new page, which will remain hidden until it is in a state where we’re ready to roll it out more widely.
In full swing
Admin interface design consistency
We’ve arrived at some new patterns for the design of config pages within the admin interface, that group related sites settings and other configuration together in on applying our new guidelines to the pages we’ve recently added for the new about page and custom user fields.
Switching our hosted plans to browser page view metrics
We’re working on rolling out our new page view metrics for our hosted plans, and updating plan limits accordingly, so that traffic from bots and crawlers will no longer be counted as page views towards a site’s usage, relieving site admins of the responsibility to manage that traffic.
Simplifying invites
We’re making invites more discoverable and simplifying some of the more common flows for inviting users.
AI summaries for hot topics
We’re still in the thick of our work to add an experimental feature to allow sites to include short summaries of topics on the hot topic list itself. We’re close to landing an initial change to allow topics to store multiple types of summaries, each using a different prompt.
New full screen pages for signup and login
We’re following up on our earlier improvements to signup and login and changing these screens from modals to full screen pages. We’ve merged this new feature behind the experimental_full_page_login
feature flag for backwards compatibility with existing themes that customize these screens while they make updates to be compatible with the new pages.
Ability to limit where Personas can interact and which LLMs they can use
We’re working on a change to limit where individual AI personas can interact and which LLMs they can use. This enables you to create more limited personas that are available to larger groups of members while managing costs.
A more extensible topic list
We’re continuing to work on a new topic list implementation with a focus on extensibility developer experience. We have been testing this internally since May and our next goal is to be in a state where we can start testing the new implementation on Meta. We are in the process of updating many themes and plugins to use new APIs, in order to take that next step towards rolling it out more widely,
Wrapping up
New about page design
We recently shipped a new design for the about page behind a feature flag. We’re still tidying up a few loose ends but will soon be unconditionally switching sites over to the new design. Learn more…
Allowing chat threads in direct messages
We’ve added the ability to turn on threading in chat direct messages, to enable more structured conversations among small groups when they need it.
Switching themes and plugins from yarn to pnpm
Following up on our recent work to switch core over from yarn to pnpm, which brings gains in speed and storage requirements for building Discourse, we’ve been doing the same within all of the themes and plugins that we maintain.
Add upload support to custom AI tools
Custom AI tools now support uploaded documents, and an API to search them, enabling you to create tools with access to additional knowledge for retrieval-augmented generation (RAG) that multiple personas can access.
Ability to flag and hide posts as spam with AI triage automation
We’ve added the ability to flag posts as spam with the AI triage automation, which also hides the post automatically. Previously, we only allowed individual posts to be sent to the review queue or entire topics to be hidden.