fix msg event permission check (#1315)
authorAjay Bura <32841439+ajbura@users.noreply.github.com>
Wed, 28 Jun 2023 11:57:28 +0000 (17:27 +0530)
committerGitHub <noreply@github.com>
Wed, 28 Jun 2023 11:57:28 +0000 (21:57 +1000)
src/app/components/emoji-board/EmojiBoard.css.tsx
src/app/hooks/usePowerLevels.ts
src/app/organisms/room/RoomView.jsx

index adeb25005215fe970477cc101a993cbad0db7927..ba4ca4e01e7b356accd0ad85f91b670dd4a36bd1 100644 (file)
@@ -7,7 +7,7 @@ export const Base = style({
   height: toRem(450),
   backgroundColor: color.Surface.Container,
   color: color.Surface.OnContainer,
-  border: `${config.borderWidth.B300} solid ${color.SurfaceVariant.ContainerLine}`,
+  border: `${config.borderWidth.B300} solid ${color.Surface.ContainerLine}`,
   borderRadius: config.radii.R400,
   boxShadow: config.shadow.E200,
   overflow: 'hidden',
index 8f999d484d5887d6a46a53a205ec7e213ab3cbc3..3ce75a2f238333e7f3422090ac509d679d146f8a 100644 (file)
@@ -47,7 +47,7 @@ export function usePowerLevels(room: Room) {
   const canSendEvent = useCallback(
     (eventType: string | undefined, powerLevel: number) => {
       const { events, events_default: eventsDefault } = powerLevels;
-      if (events && eventType && typeof events[eventType] === 'string') {
+      if (events && eventType && typeof events[eventType] === 'number') {
         return powerLevel >= events[eventType];
       }
       return powerLevel >= (eventsDefault ?? DefaultPowerLevels.eventsDefault);
index 591fcceae6c3d909da1bd1e75ea635bc930deee9..9b3ae76fa4a99cd19ff828c1e0a175832f2c4729 100644 (file)
@@ -2,6 +2,7 @@ import React, { useEffect, useRef } from 'react';
 import PropTypes from 'prop-types';
 import './RoomView.scss';
 import { Text, config } from 'folds';
+import { EventType } from 'matrix-js-sdk';
 
 import EventEmitter from 'events';
 
@@ -32,7 +33,9 @@ function RoomView({ room, roomTimeline, eventId }) {
   const tombstoneEvent = useStateEvent(room, StateEvent.RoomTombstone);
   const { getPowerLevel, canSendEvent } = usePowerLevels(room);
   const myUserId = mx.getUserId();
-  const canMessage = myUserId ? canSendEvent(undefined, getPowerLevel(myUserId)) : false;
+  const canMessage = myUserId
+    ? canSendEvent(EventType.RoomMessage, getPowerLevel(myUserId))
+    : false;
 
   useEffect(() => {
     const settingsToggle = (isVisible) => {