FIX: ensures chat-message is recomputed with model (#20312)
The message model is not yet using tracked properties and as a result we were not correctly recomputing on various cases.
This commit is contained in:
@@ -72,15 +72,15 @@ export default class ChatMessage extends Component {
|
||||
}
|
||||
|
||||
get deletedAndCollapsed() {
|
||||
return this.args.message?.deleted_at && this.collapsed;
|
||||
return this.args.message?.get("deleted_at") && this.collapsed;
|
||||
}
|
||||
|
||||
get hiddenAndCollapsed() {
|
||||
return this.args.message?.hidden && this.collapsed;
|
||||
return this.args.message?.get("hidden") && this.collapsed;
|
||||
}
|
||||
|
||||
get collapsed() {
|
||||
return !this.args.message?.expanded;
|
||||
return !this.args.message?.get("expanded");
|
||||
}
|
||||
|
||||
@action
|
||||
@@ -169,7 +169,7 @@ export default class ChatMessage extends Component {
|
||||
get showActions() {
|
||||
return (
|
||||
this.args.canInteractWithChat &&
|
||||
!this.args.message?.staged &&
|
||||
!this.args.message?.get("staged") &&
|
||||
this.args.isHovered
|
||||
);
|
||||
}
|
||||
@@ -270,14 +270,15 @@ export default class ChatMessage extends Component {
|
||||
|
||||
get hasThread() {
|
||||
return (
|
||||
this.args.chatChannel.threading_enabled && this.args.message.thread_id
|
||||
this.args.chatChannel?.get("threading_enabled") &&
|
||||
this.args.message?.get("thread_id")
|
||||
);
|
||||
}
|
||||
|
||||
get show() {
|
||||
return (
|
||||
!this.args.message?.deleted_at ||
|
||||
this.currentUser.id === this.args.message?.user?.id ||
|
||||
!this.args.message?.get("deleted_at") ||
|
||||
this.currentUser.id === this.args.message?.get("user.id") ||
|
||||
this.currentUser.staff ||
|
||||
this.args.details?.can_moderate
|
||||
);
|
||||
@@ -330,43 +331,44 @@ export default class ChatMessage extends Component {
|
||||
|
||||
get hideUserInfo() {
|
||||
return (
|
||||
this.args.message?.hideUserInfo && !this.args.message?.chat_webhook_event
|
||||
this.args.message?.get("hideUserInfo") &&
|
||||
!this.args.message?.get("chat_webhook_event")
|
||||
);
|
||||
}
|
||||
|
||||
get showEditButton() {
|
||||
return (
|
||||
!this.args.message?.deleted_at &&
|
||||
this.currentUser?.id === this.args.message?.user?.id &&
|
||||
!this.args.message?.get("deleted_at") &&
|
||||
this.currentUser?.id === this.args.message?.get("user.id") &&
|
||||
this.args.chatChannel?.canModifyMessages?.(this.currentUser)
|
||||
);
|
||||
}
|
||||
get canFlagMessage() {
|
||||
return (
|
||||
this.currentUser?.id !== this.args.message?.user?.id &&
|
||||
this.args.message?.user_flag_status === undefined &&
|
||||
this.currentUser?.id !== this.args.message?.get("user.id") &&
|
||||
this.args.message?.get("user_flag_status") === undefined &&
|
||||
this.args.details?.can_flag &&
|
||||
!this.args.message?.chat_webhook_event &&
|
||||
!this.args.message.deleted_at
|
||||
!this.args.message?.get("chat_webhook_event") &&
|
||||
!this.args.message?.get("deleted_at")
|
||||
);
|
||||
}
|
||||
|
||||
get canManageDeletion() {
|
||||
return this.currentUser?.id === this.args.message.user?.id
|
||||
return this.currentUser?.id === this.args.message.get("user.id")
|
||||
? this.args.details?.can_delete_self
|
||||
: this.args.details?.can_delete_others;
|
||||
}
|
||||
|
||||
get canReply() {
|
||||
return (
|
||||
!this.args.message?.deleted_at &&
|
||||
!this.args.message?.get("deleted_at") &&
|
||||
this.args.chatChannel?.canModifyMessages?.(this.currentUser)
|
||||
);
|
||||
}
|
||||
|
||||
get canReact() {
|
||||
return (
|
||||
!this.args.message?.deleted_at &&
|
||||
!this.args.message?.get("deleted_at") &&
|
||||
this.args.chatChannel?.canModifyMessages?.(this.currentUser)
|
||||
);
|
||||
}
|
||||
@@ -374,7 +376,7 @@ export default class ChatMessage extends Component {
|
||||
get showDeleteButton() {
|
||||
return (
|
||||
this.canManageDeletion &&
|
||||
!this.args.message?.deleted_at &&
|
||||
!this.args.message?.get("deleted_at") &&
|
||||
this.args.chatChannel?.canModifyMessages?.(this.currentUser)
|
||||
);
|
||||
}
|
||||
@@ -382,7 +384,7 @@ export default class ChatMessage extends Component {
|
||||
get showRestoreButton() {
|
||||
return (
|
||||
this.canManageDeletion &&
|
||||
this.args.message?.deleted_at &&
|
||||
this.args.message?.get("deleted_at") &&
|
||||
this.args.chatChannel?.canModifyMessages?.(this.currentUser)
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user