Improved threads stability (#7639)

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Germain 2022-01-26 14:11:09 +00:00 committed by GitHub
parent e18bbb030d
commit 038f67e844
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 4 deletions

View file

@ -485,8 +485,11 @@ export default class MessagePanel extends React.Component<IProps, IState> {
// Checking if the message has a "parentEventId" as we do not
// want to hide the root event of the thread
if (mxEv.isThreadRelation && this.props.hideThreadedMessages
&& SettingsStore.getValue("feature_thread")) {
if (mxEv.isThreadRelation &&
!mxEv.isThreadRoot &&
this.props.hideThreadedMessages &&
SettingsStore.getValue("feature_thread")
) {
return false;
}

View file

@ -139,7 +139,7 @@ export default class ThreadView extends React.Component<IProps, IState> {
};
private setupThread = (mxEv: MatrixEvent) => {
let thread = this.props.room.threads.get(mxEv.getId());
let thread = this.props.room.threads?.get(mxEv.getId());
if (!thread) {
thread = this.props.room.createThread([mxEv]);
}

View file

@ -383,7 +383,8 @@ export default class EventTile extends React.Component<IProps, IState> {
constructor(props: IProps, context: React.ContextType<typeof MatrixClientContext>) {
super(props, context);
const thread = this.props.mxEvent?.getThread();
const room = MatrixClientPeg.get().getRoom(this.props.mxEvent.getRoomId());
const thread = room.threads?.get(this.props.mxEvent.getId());
this.state = {
// Whether the action bar is focused.