Don't show toolbar buttons on connecting tiles

Because connecting tiles don't have a feed, clicking the local volume button would cause a soft crash. This also fixes a few strict mode errors in the surrounding area while we're at it.
This commit is contained in:
Robin Townsend
2022-11-02 12:34:31 -04:00
parent 7b71e9b20f
commit 84a92845c3
5 changed files with 21 additions and 20 deletions

View File

@@ -19,17 +19,18 @@ import { CallFeed, CallFeedEvent } from "matrix-js-sdk/src/webrtc/callFeed";
import { SDPStreamMetadataPurpose } from "matrix-js-sdk/src/webrtc/callEventTypes";
interface CallFeedState {
callFeed: CallFeed;
callFeed: CallFeed | undefined;
isLocal: boolean;
speaking: boolean;
videoMuted: boolean;
audioMuted: boolean;
localVolume: number;
disposed: boolean;
stream: MediaStream;
purpose: SDPStreamMetadataPurpose;
disposed: boolean | undefined;
stream: MediaStream | undefined;
purpose: SDPStreamMetadataPurpose | undefined;
}
function getCallFeedState(callFeed: CallFeed): CallFeedState {
function getCallFeedState(callFeed: CallFeed | undefined): CallFeedState {
return {
callFeed,
isLocal: callFeed ? callFeed.isLocal() : false,
@@ -43,7 +44,7 @@ function getCallFeedState(callFeed: CallFeed): CallFeedState {
};
}
export function useCallFeed(callFeed: CallFeed): CallFeedState {
export function useCallFeed(callFeed: CallFeed | undefined): CallFeedState {
const [state, setState] = useState<CallFeedState>(() =>
getCallFeedState(callFeed)
);