/filter would be better if it supported Personal Messages

Follow-on request from Add event: filter to the topic filter query language (Discourse Events plugin extension):

The event: filter is now merged and working — thank you!

However, I’ve hit a gap that limits its usefulness in practice: the /filter route (and therefore the Custom Topic Lists plugin) only queries regular topics. Messages are excluded entirely because they use a separate route system (/topics/private-messages-group/... / topics/private-messages/...).

This means that a community using Messages alongside public discussions can’t build a single unified “all events” view. You need two separate pages and can’t combine filters across both.

Of note, the search system already scopes across both archetypes with in:all — but it can’t tell me which results are events. The filter system knows about events — but it can’t see messages. Neither is useful alone!

The problem

event:any will show all public topics with events, but silently skips any event created in a PM. For groups that use PMs for invitations, coordination, or invite-only events, this is a significant blind spot.

The same limitation was hit by @pfaffman — findFilteredTopics doesn’t reach archetype = 'private_message' topics:

Proposed solution

Allow the /filter route to optionally include PMs via an archetype selector, e.g.:

event:any archetype:regular,privatemessage

Or a simpler boolean:

event:any include-messages

Use case

As a community manager, I want one sidebar link that shows every event on the site — public or private — so nothing gets lost between two separate views.

3 Likes