Paradaux
IssuesPAR-84Backlog
0

Per-team Discord channel routing for activity posts

Limitation: DiscordActivitySink.onActivity posts every workspace event to all of a guild's configured channels — there's no team filter, and ActivityEvent doesn't even carry the issue's team. So a single channel receives the firehose (all teams), which is why cross-team noise lands in one channel.

Proposed fix (per-team routing):

  1. Add the issue's team (key/id) to ActivityEvent — one extra join in ActivityDispatcher's poll query.
  2. Scope a channel to a team: new nullable team_id on guild_channel (null = catch-all, gets everything).
  3. DiscordActivitySink: post an event to a channel only if the channel's team_id is null or matches the event's team.

Then you can map #mcn-issues → MCN, #par-issues → PAR, and leave a channel unscoped for the full feed. UI: the channel inputs in the new Discord integration card gain an optional team picker.

Not a priority right now — logged for later. Distinct from the default-team creation fix (PAR-83); this is about where posts are delivered.

Comments

No comments yet.

Activity

  • tesks created the issueJun 4, 2026, 8:41 PM