Skip to content

Commit 12afcd3

Browse files
Account for encryption in maySendMessage() (#2159)
1 parent 2d23330 commit 12afcd3

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

spec/unit/room.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1461,7 +1461,7 @@ describe("Room", function() {
14611461
describe("maySendMessage", function() {
14621462
it("should return false if synced membership not join",
14631463
function() {
1464-
const room = new Room(roomId, null, userA);
1464+
const room = new Room(roomId, { isRoomEncrypted: () => false }, userA);
14651465
room.updateMyMembership("invite");
14661466
expect(room.maySendMessage()).toEqual(false);
14671467
room.updateMyMembership("leave");

src/models/room.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -2199,8 +2199,9 @@ export class Room extends EventEmitter {
21992199
* message events into the room.
22002200
*/
22012201
public maySendMessage(): boolean {
2202-
return this.getMyMembership() === 'join' &&
2203-
this.currentState.maySendEvent(EventType.RoomMessage, this.myUserId);
2202+
return this.getMyMembership() === 'join' && (this.client.isRoomEncrypted(this.roomId)
2203+
? this.currentState.maySendEvent(EventType.RoomMessageEncrypted, this.myUserId)
2204+
: this.currentState.maySendEvent(EventType.RoomMessage, this.myUserId));
22042205
}
22052206

22062207
/**

0 commit comments

Comments
 (0)