From 9721b5f7c15868420261f3b1f0253b6566b79532 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 14 May 2026 22:51:36 -0400 Subject: [PATCH] fix: pass room to startCall in DM call button onClick={startCall} was passing the MouseEvent as the room argument, causing getLiveTimeline is not a function crash in getRoomSession. --- src/app/features/room/RoomViewHeader.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/app/features/room/RoomViewHeader.tsx b/src/app/features/room/RoomViewHeader.tsx index a19058d26..5760dc594 100644 --- a/src/app/features/room/RoomViewHeader.tsx +++ b/src/app/features/room/RoomViewHeader.tsx @@ -32,6 +32,7 @@ import { RoomTopicViewer } from '../../components/room-topic-viewer'; import { StateEvent } from '../../../types/matrix/room'; import { useMatrixClient } from '../../hooks/useMatrixClient'; import { useIsDirectRoom, useRoom } from '../../hooks/useRoom'; +import { useCallStart } from '../../hooks/useCallEmbed'; import { useSetting } from '../../state/hooks/settings'; import { settingsAtom } from '../../state/settings'; import { useSpaceOptionally } from '../../hooks/useSpace'; @@ -263,6 +264,7 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) { const [menuAnchor, setMenuAnchor] = useState(); const [pinMenuAnchor, setPinMenuAnchor] = useState(); const direct = useIsDirectRoom(); + const startCall = useCallStart(true); const pinnedEvents = useRoomPinnedEvents(room); const encryptionEvent = useStateEvent(room, StateEvent.RoomEncryption); @@ -379,6 +381,23 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) { + {direct && !callView && ( + + Start Call + + } + > + {(triggerRef) => ( + startCall(room)}> + + + )} + + )} {!encryptedRoom && (