Add support for starting voice calls from a DM (#5305)

* feat: Start voice call from DM

* rename voiceCall:bool to isVoiceCall

* review: Fix a typo

* review: use one displayCall(bool) instead of 2 actions

* review: Add a new specific preview for DM calls

* combine startCall and startVoiceCall in single enum with isVoiceCall

* review: add isVoiceCall to presentCallScreen action

* review: Use proper a11y for voice vs  video

* add voice/video options to UserProfile Screen

* fixup: move config params to the roomInfo object

* review: Revert changes on preview as the toolbar cannot be snapshot'd

* review: Extract call controls in specific file

* oups: Add voice call option in room details screen

* Update room details screenshots

* Update user profile screenshots

* Update room member details screenshots

* fixup: remove dead code
This commit is contained in:
Valere Fedronic
2026-04-09 17:22:31 +02:00
committed by GitHub
parent 7434d531b2
commit b05ab3ac0b
76 changed files with 303 additions and 201 deletions
@@ -16,7 +16,7 @@ enum RoomScreenViewModelAction: Equatable {
case displayThread(threadRootEventID: String, focussedEventID: String)
case displayPinnedEventsTimeline
case displayRoomDetails
case displayCall
case displayCall(isVoiceCall: Bool)
case removeComposerFocus
case displayKnockRequests
case displayRoom(roomID: String, via: [String])
@@ -27,7 +27,7 @@ enum RoomScreenViewAction {
case tappedPinnedEventsBanner
case viewAllPins
case displayRoomDetails
case displayCall
case displayCall(isVoiceCall: Bool)
case footerViewAction(RoomScreenFooterViewAction)
case acceptKnock(eventID: String)
case dismissKnockRequests
@@ -62,6 +62,9 @@ struct RoomScreenViewState: BindableState {
isCallingEnabled && !isParticipatingInOngoingCall // Hide the join call button when already in the call
}
/// Whether the current room is a DM
var isDirectOneToOneRoom: Bool
var roomThreadListEnabled = false
var isKnockingEnabled = false
var isKnockableRoom = false