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

Fix confetti room unread state check
This commit is contained in:
Travis Ralston
2020-12-08 07:54:39 -07:00
committed by GitHub
+7 -4
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) => {