mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-16 14:35:06 +08:00
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.
|
||
|---|---|---|
| .. | ||
| components/chat | ||
| db/post_migrate | ||
| fabricators | ||
| integration | ||
| jobs | ||
| lib | ||
| mailers | ||
| models | ||
| queries/chat | ||
| requests | ||
| serializer | ||
| services | ||
| support | ||
| system | ||
| validators | ||
| plugin_helper.rb | ||
| plugin_spec.rb | ||