@@ -34,6 +34,7 @@ import useMeasure from "react-use-measure";
|
||||
import { OverlayTriggerState } from "@react-stately/overlays";
|
||||
import { JoinRule } from "matrix-js-sdk/src/@types/partials";
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
import { RoomEventCallbacks } from "livekit-client/dist/src/room/Room";
|
||||
|
||||
import type { IWidgetApiRequest } from "matrix-widget-api";
|
||||
import {
|
||||
@@ -204,7 +205,11 @@ export function InCallView({
|
||||
onLeave();
|
||||
}, [onLeave]);
|
||||
|
||||
useEventEmitterThree(livekitRoom, RoomEvent.Disconnected, onDisconnected);
|
||||
useEventEmitterThree<RoomEvent.Disconnected, RoomEventCallbacks>(
|
||||
livekitRoom,
|
||||
RoomEvent.Disconnected,
|
||||
onDisconnected
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
widget?.api.transport.send(
|
||||
|
||||
@@ -15,7 +15,7 @@ limitations under the License.
|
||||
*/
|
||||
|
||||
import { useEffect } from "react";
|
||||
import EventEmitter from "eventemitter3";
|
||||
import EventEmitter, { EventMap } from "typed-emitter";
|
||||
|
||||
import type {
|
||||
Listener,
|
||||
@@ -63,12 +63,12 @@ export const useTypedEventEmitter = <
|
||||
|
||||
// Shortcut for registering a listener on an eventemitter3 EventEmitter (ie. what the LiveKit SDK uses)
|
||||
export const useEventEmitterThree = <
|
||||
EventType extends EventEmitter.ValidEventTypes,
|
||||
T extends EventEmitter.EventNames<EventType>
|
||||
EventType extends keyof T,
|
||||
T extends EventMap
|
||||
>(
|
||||
emitter: EventEmitter<EventType>,
|
||||
eventType: T,
|
||||
listener: EventEmitter.EventListener<EventType, T>
|
||||
emitter: EventEmitter<T>,
|
||||
eventType: EventType,
|
||||
listener: T[EventType]
|
||||
) => {
|
||||
useEffect(() => {
|
||||
emitter.on(eventType, listener);
|
||||
|
||||
Reference in New Issue
Block a user