discourse/plugins
Jake Goldsborough f0f1360c49
FIX: Notify users when mentioned in chat channels they haven't joined
Previously, users would not receive notifications when @mentioned in
public channels they could access but weren't members of. This was
because the notification system only processed users with existing
channel memberships.

Changes:

1. Modified Chat::Notifier to include non-members who can join the
   channel in the direct_mentions notification list.

2. Updated Jobs::Chat::NotifyMentioned to create membership records
   (with following: false) for non-members when they're mentioned,
   allowing them to receive notifications without auto-joining.

3. Added test coverage proving non-members receive notifications.

The Guardian permission check ensures users can only be notified for
channels they have access to - private channels remain private.
2025-10-16 12:51:45 -07:00
..
automation DEV: Add client settled checks for system tests (#35230) 2025-10-10 11:03:18 +08:00
chat FIX: Notify users when mentioned in chat channels they haven't joined 2025-10-16 12:51:45 -07:00
checklist DEV: Silence post-stream-widget-overrides in the checklist plugin (#33743) 2025-07-22 14:47:33 -03:00
discourse-adplugin DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
discourse-affiliate DEV: Clean up requires (#34946) 2025-09-24 12:00:22 +02:00
discourse-ai FEATURE: Append limited search results with semantic search (#35446) 2025-10-16 09:27:31 -07:00
discourse-apple-auth UX: Better separate login and authentication settings (#33711) 2025-10-09 15:29:21 -04:00
discourse-assign DEV: Replace deprecated Ember's array compact (#35259) 2025-10-13 16:10:36 -03:00
discourse-cakeday Update translations (#35316) 2025-10-15 12:05:55 +02:00
discourse-calendar FIX: event location field in .ics / google calendar exports (#35355) 2025-10-16 15:53:01 +02:00
discourse-chat-integration DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
discourse-data-explorer DEV: Improve validity checking of JSON param values. (#35401) 2025-10-15 14:31:12 +11:00
discourse-details FEATURE: enforce prosemirror-gapcursor on additional block nodes (#35415) 2025-10-15 10:14:26 -03:00
discourse-gamification DEV: Remove unused service injections (#34750) 2025-10-08 13:31:41 +02:00
discourse-github Update translations (#35316) 2025-10-15 12:05:55 +02:00
discourse-graphviz DEV: Clean up scope resolution operators in plugins (#34979) 2025-09-30 14:36:34 +02:00
discourse-hcaptcha Update translations (#35104) 2025-10-01 11:08:49 +02:00
discourse-lazy-videos A11Y: add role to video thumbnail button (#35326) 2025-10-14 11:51:51 -04:00
discourse-local-dates DEV: Replace deprecated Ember's array uniq and uniqBy (#35227) 2025-10-13 16:47:36 -03:00
discourse-login-with-amazon FEATURE: Add settings for connect/revoke capability in Login with Amazon (#35387) 2025-10-15 12:28:20 -05:00
discourse-lti Update translations (#35065) 2025-09-30 16:06:14 +02:00
discourse-math DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
discourse-microsoft-auth UX: Better separate login and authentication settings (#33711) 2025-10-09 15:29:21 -04:00
discourse-narrative-bot DEV: Remove unnecessary freeze calls (#35064) 2025-09-30 15:36:16 +02:00
discourse-oauth2-basic Update translations (#35316) 2025-10-15 12:05:55 +02:00
discourse-openid-connect Update translations (#35316) 2025-10-15 12:05:55 +02:00
discourse-patreon DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
discourse-policy DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
discourse-post-voting A11Y: add href to post voting comment username (#35325) 2025-10-10 13:37:48 -04:00
discourse-presence FIX: offline mode should not send typing indicator (#35279) 2025-10-10 07:33:10 +02:00
discourse-reactions DEV: Replace deprecated Ember's array uniq and uniqBy (#35227) 2025-10-13 16:47:36 -03:00
discourse-rss-polling DEV: Add client settled checks for system tests (#35230) 2025-10-10 11:03:18 +08:00
discourse-solved Update translations (#35316) 2025-10-15 12:05:55 +02:00
discourse-subscriptions DEV: Fix broken pricing table system test in discourse-subscriptions (#35260) 2025-10-08 15:30:30 +08:00
discourse-templates DEV: Remove unused service injections (#34750) 2025-10-08 13:31:41 +02:00
discourse-topic-voting DEV: Add client settled checks for system tests (#35230) 2025-10-10 11:03:18 +08:00
discourse-user-notes DEV: Clean up scope resolution operators in plugins (#34979) 2025-09-30 14:36:34 +02:00
discourse-zendesk-plugin DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
footnote DEV: Remove obsolete register_svg_icon checks (#35067) 2025-09-30 15:51:44 +02:00
poll DEV: Load chartjs via npm/webpack (#35249) 2025-10-07 21:20:10 +01:00
spoiler-alert FEATURE: enforce prosemirror-gapcursor on additional block nodes (#35415) 2025-10-15 10:14:26 -03:00
styleguide DEV: Replace deprecated Ember's array uniq and uniqBy (#35227) 2025-10-13 16:47:36 -03:00