discourse/plugins/chat
Rafael dos Santos Silva 2834cc7955
FIX: Duplicate notifications when mentioned in chat (#39670)
Previously, building the web push "Reply" action payload raised because
`inline_reply.png` lived under `public/images/` where Propshaft can't
resolve it, so `Jobs::Chat::NotifyMentioned` retried after
`create_notification!` and inflated the bell with duplicate rows.

This change moves the icon into `app/assets/images/push-notifications/`
and wraps the action builder in a `rescue` so any future payload failure
logs and returns `{}` instead of stranding the job.

A post-deploy migration sweeps the duplicate `chat_mention`
`Notification` rows (and their `chat_mention_notifications` join
entries) created during the deploy window — keeping the oldest row per
`(user_id, data)` group and merging the read state forward.
2026-04-30 14:52:39 -03:00
..
admin/assets/javascripts DEV: Migrate to @ember/reactive/collections (#38221) 2026-03-23 17:44:41 -03:00
app FEATURE: Restore web push quick reply for chat messages (#39614) 2026-04-29 12:36:03 -03:00
assets FEATURE: Restore web push quick reply for chat messages (#39614) 2026-04-29 12:36:03 -03:00
config I18N: Update translations (#39576) 2026-04-30 11:50:45 +02:00
db FIX: Duplicate notifications when mentioned in chat (#39670) 2026-04-30 14:52:39 -03:00
lib FIX: Duplicate notifications when mentioned in chat (#39670) 2026-04-30 14:52:39 -03:00
public
spec FIX: Duplicate notifications when mentioned in chat (#39670) 2026-04-30 14:52:39 -03:00
test/javascripts DEV: Remove obsolete chat code and tests (#39451) 2026-04-22 21:33:17 +02:00
about.json DEV: Only load specific plugin bundles during qunit test (#33678) 2025-07-21 21:00:48 +01:00
package.json DEV: Add a script for generating external types in discourse-types (#37095) 2026-03-09 20:37:43 +01:00
plugin.rb FEATURE: Restore web push quick reply for chat messages (#39614) 2026-04-29 12:36:03 -03:00
README.md
tsconfig.json DEV: Add a script for generating external types in discourse-types (#37095) 2026-03-09 20:37:43 +01:00

This plugin is still in active development and may change frequently

Documentation

The Discourse Chat plugin adds chat functionality to your Discourse so it can natively support both long-form and short-form communication needs of your online community.

For user documentation, see Discourse Chat.

For developer documentation, see Discourse Documentation.