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.