@@ -18,7 +18,7 @@ limitations under the License.
18
18
import { MatrixClientPeg } from './MatrixClientPeg' ;
19
19
import { PushProcessor } from 'matrix-js-sdk/src/pushprocessor' ;
20
20
import { NotificationCountType , Room } from "matrix-js-sdk/src/models/room" ;
21
- import { IAnnotatedPushRule , PushRuleKind } from "matrix-js-sdk/src/@types/PushRules" ;
21
+ import { ConditionKind , IPushRule , PushRuleActionName , PushRuleKind } from "matrix-js-sdk/src/@types/PushRules" ;
22
22
23
23
export enum RoomNotifState {
24
24
AllMessagesLoud = 'all_messages_loud' ,
@@ -205,14 +205,12 @@ function setRoomNotifsStateUnmuted(roomId: string, newState: RoomNotifState): Pr
205
205
return Promise . all ( promises ) ;
206
206
}
207
207
208
- function findOverrideMuteRule ( roomId : string ) : IAnnotatedPushRule {
208
+ function findOverrideMuteRule ( roomId : string ) : IPushRule {
209
209
const cli = MatrixClientPeg . get ( ) ;
210
- if ( ! cli . pushRules ||
211
- ! cli . pushRules [ 'global' ] ||
212
- ! cli . pushRules [ 'global' ] . override ) {
210
+ if ( ! cli ?. pushRules ?. global ?. override ) {
213
211
return null ;
214
212
}
215
- for ( const rule of cli . pushRules [ ' global' ] . override ) {
213
+ for ( const rule of cli . pushRules . global . override ) {
216
214
if ( isRuleForRoom ( roomId , rule ) ) {
217
215
if ( isMuteRule ( rule ) && rule . enabled ) {
218
216
return rule ;
@@ -222,14 +220,14 @@ function findOverrideMuteRule(roomId: string): IAnnotatedPushRule {
222
220
return null ;
223
221
}
224
222
225
- function isRuleForRoom ( roomId : string , rule : IAnnotatedPushRule ) : boolean {
223
+ function isRuleForRoom ( roomId : string , rule : IPushRule ) : boolean {
226
224
if ( rule . conditions . length !== 1 ) {
227
225
return false ;
228
226
}
229
227
const cond = rule . conditions [ 0 ] ;
230
- return ( cond . kind === 'event_match' && cond . key === 'room_id' && cond . pattern === roomId ) ;
228
+ return ( cond . kind === ConditionKind . EventMatch && cond . key === 'room_id' && cond . pattern === roomId ) ;
231
229
}
232
230
233
- function isMuteRule ( rule : IAnnotatedPushRule ) : boolean {
234
- return ( rule . actions . length === 1 && rule . actions [ 0 ] === 'dont_notify' ) ;
231
+ function isMuteRule ( rule : IPushRule ) : boolean {
232
+ return ( rule . actions . length === 1 && rule . actions [ 0 ] === PushRuleActionName . DontNotify ) ;
235
233
}
0 commit comments