mirror of https://github.com/vector-im/riot-web
				
				
				
			Merge pull request #3738 from matrix-org/t3chguy/null-guard-useIsEncrypted
Fix UserInfo exploding without a room being passed to itpull/21833/head
						commit
						0c89ab9fb5
					
				|  | @ -109,14 +109,14 @@ function openDMForUser(matrixClient, userId) { | |||
| } | ||||
| 
 | ||||
| function useIsEncrypted(cli, room) { | ||||
|     const [isEncrypted, setIsEncrypted] = useState(cli.isRoomEncrypted(room.roomId)); | ||||
|     const [isEncrypted, setIsEncrypted] = useState(room ? cli.isRoomEncrypted(room.roomId) : undefined); | ||||
| 
 | ||||
|     const update = useCallback((event) => { | ||||
|         if (event.getType() === "m.room.encryption") { | ||||
|             setIsEncrypted(cli.isRoomEncrypted(room.roomId)); | ||||
|         } | ||||
|     }, [cli, room]); | ||||
|     useEventEmitter(room.currentState, "RoomState.events", update); | ||||
|     useEventEmitter(room ? room.currentState : undefined, "RoomState.events", update); | ||||
|     return isEncrypted; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -28,6 +28,9 @@ export const useEventEmitter = (emitter, eventName, handler) => { | |||
| 
 | ||||
|     useEffect( | ||||
|         () => { | ||||
|             // allow disabling this hook by passing a falsy emitter
 | ||||
|             if (!emitter) return; | ||||
| 
 | ||||
|             // Create event listener that calls handler function stored in ref
 | ||||
|             const eventListener = event => savedHandler.current(event); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Michael Telatynski
						Michael Telatynski