mirror of
https://github.com/discourse/discourse.git
synced 2025-03-09 14:34:35 +00:00
FIX: Make sure user status on mentions doesnt fail in plugins (#19442)
This fixes the problem reported in https://meta.discourse.org/t/trackstatus-error-in-docs-topics/248717 and also guarantees that the same problem won't appear in other plugins. The problem was that we're calling trackStatus() and on() on a user object, but that only works if it's a user model and fails on plain js objects. I'm not adding tests here because in Core we always have a properly wrapped user model here. But this fix makes sure that plugins that don't won't fail here.
This commit is contained in:
parent
fd405179a7
commit
337a033f3b
@ -431,15 +431,15 @@ export default class PostCooked {
|
|||||||
|
|
||||||
_trackMentionedUsersStatus() {
|
_trackMentionedUsersStatus() {
|
||||||
this._post()?.mentioned_users?.forEach((user) => {
|
this._post()?.mentioned_users?.forEach((user) => {
|
||||||
user.trackStatus();
|
user.trackStatus?.();
|
||||||
user.on("status-changed", this, "_rerenderUserStatusOnMentions");
|
user.on?.("status-changed", this, "_rerenderUserStatusOnMentions");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
_stopTrackingMentionedUsersStatus() {
|
_stopTrackingMentionedUsersStatus() {
|
||||||
this._post()?.mentioned_users?.forEach((user) => {
|
this._post()?.mentioned_users?.forEach((user) => {
|
||||||
user.stopTrackingStatus();
|
user.stopTrackingStatus?.();
|
||||||
user.off("status-changed", this, "_rerenderUserStatusOnMentions");
|
user.off?.("status-changed", this, "_rerenderUserStatusOnMentions");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user