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