Fix crash when conversations have no valid participants (#10078)

* Never return empty participants for conversations

Fixes #10068

* Fix client-side crash when conversations have no participants
master
ThibG 5 years ago committed by Eugen Rochko
parent 359d26a053
commit 8e7fc7ec73
  1. 2
      app/javascript/mastodon/components/display_name.js
  2. 2
      app/javascript/mastodon/components/status.js
  3. 3
      app/models/account_conversation.rb

@ -22,7 +22,7 @@ export default class DisplayName extends React.PureComponent {
suffix = `+${others.size - 2}`;
}
} else {
if (others) {
if (others && others.size > 0) {
account = others.first();
} else {
account = this.props.account;

@ -326,7 +326,7 @@ class Status extends ImmutablePureComponent {
);
}
if (otherAccounts) {
if (otherAccounts && otherAccounts.size > 0) {
statusAvatar = <AvatarComposite accounts={otherAccounts} size={48} />;
} else if (account === undefined || account === null) {
statusAvatar = <Avatar account={status.get('account')} size={48} />;

@ -30,7 +30,8 @@ class AccountConversation < ApplicationRecord
if participant_account_ids.empty?
[account]
else
Account.where(id: participant_account_ids)
participants = Account.where(id: participant_account_ids)
participants.empty? ? [account] : participants
end
end

Loading…
Cancel
Save