Merge pull request #5475 from matrix-org/travis/confetti-2

Fix confetti room unread state check
pull/21833/head
Travis Ralston 2020-12-08 07:54:39 -07:00 committed by GitHub
commit 36c65b8684
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 4 deletions

View File

@ -77,6 +77,7 @@ import WidgetStore from "../../stores/WidgetStore";
import {UPDATE_EVENT} from "../../stores/AsyncStore"; import {UPDATE_EVENT} from "../../stores/AsyncStore";
import Notifier from "../../Notifier"; import Notifier from "../../Notifier";
import {showToast as showNotificationsToast} from "../../toasts/DesktopNotificationsToast"; import {showToast as showNotificationsToast} from "../../toasts/DesktopNotificationsToast";
import { RoomNotificationStateStore } from "../../stores/notifications/RoomNotificationStateStore";
const DEBUG = false; const DEBUG = false;
let debuglog = function(msg: string) {}; let debuglog = function(msg: string) {};
@ -799,14 +800,16 @@ export default class RoomView extends React.Component<IProps, IState> {
}; };
private handleEffects = (ev) => { private handleEffects = (ev) => {
if (!this.state.room || if (!this.state.room || !this.state.matrixClientIsReady) return; // not ready at all
!this.state.matrixClientIsReady ||
this.state.room.getUnreadNotificationCount() === 0) return; const notifState = RoomNotificationStateStore.instance.getRoomState(this.state.room);
if (!notifState.isUnread) return;
CHAT_EFFECTS.forEach(effect => { CHAT_EFFECTS.forEach(effect => {
if (containsEmoji(ev.getContent(), effect.emojis) || ev.getContent().msgtype === effect.msgType) { if (containsEmoji(ev.getContent(), effect.emojis) || ev.getContent().msgtype === effect.msgType) {
dis.dispatch({action: `effects.${effect.command}`}); dis.dispatch({action: `effects.${effect.command}`});
} }
}) });
}; };
private onRoomName = (room: Room) => { private onRoomName = (room: Room) => {