mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 12:07:55 +00:00
Enable e2ee support (#274)
* Enable sliding sync common extensions and session verification banner display; fix user session flow coordinator state machine * Fixed a couple of deprecation warnings * Add missing `m.room.encryption` required state * Switch to rust-sdk v1.0.15-alpha and add changelog
This commit is contained in:
@@ -84,14 +84,15 @@ class ClientProxy: ClientProxyProtocol {
|
||||
|
||||
let slidingSyncView = try SlidingSyncViewBuilder()
|
||||
.timelineLimit(limit: 10)
|
||||
.requiredState(requiredState: [RequiredState(key: "m.room.avatar", value: "")])
|
||||
.requiredState(requiredState: [RequiredState(key: "m.room.avatar", value: ""),
|
||||
RequiredState(key: "m.room.encryption", value: "")])
|
||||
.name(name: "HomeScreenView")
|
||||
.syncMode(mode: .fullSync)
|
||||
.build()
|
||||
|
||||
slidingSync = try slidingSyncBuilder
|
||||
.addView(view: slidingSyncView)
|
||||
// .withCommonExtensions()
|
||||
.withCommonExtensions()
|
||||
.build()
|
||||
|
||||
roomSummaryProvider = RoomSummaryProvider(slidingSyncController: slidingSync,
|
||||
@@ -254,6 +255,6 @@ class ClientProxy: ClientProxyProtocol {
|
||||
fileprivate func didReceiveSlidingSyncUpdate(summary: UpdateSummary) {
|
||||
roomSummaryProvider.updateRoomsWithIdentifiers(summary.rooms)
|
||||
|
||||
// callbacks.send(.receivedSyncUpdate)
|
||||
callbacks.send(.receivedSyncUpdate)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ class UserSessionFlowCoordinator: Coordinator {
|
||||
case .presentRoom(let roomIdentifier):
|
||||
self.stateMachine.processEvent(.showRoomScreen(roomId: roomIdentifier))
|
||||
case .presentSettings:
|
||||
self.presentSettingsScreen()
|
||||
self.stateMachine.processEvent(.showSettingsScreen)
|
||||
case .presentBugReport:
|
||||
self.presentBugReportScreen()
|
||||
case .verifySession:
|
||||
@@ -209,6 +209,8 @@ class UserSessionFlowCoordinator: Coordinator {
|
||||
|
||||
navigationRouter.dismissModule()
|
||||
remove(childCoordinator: coordinator)
|
||||
|
||||
stateMachine.processEvent(.dismissedSettingsScreen)
|
||||
}
|
||||
|
||||
// MARK: Session verification
|
||||
|
||||
@@ -89,6 +89,14 @@ class UserSessionFlowCoordinatorStateMachine {
|
||||
return .suspended
|
||||
case (.becomeActive, .suspended):
|
||||
return self.stateBeforeSuspension
|
||||
case (.showSettingsScreen, .homeScreen):
|
||||
return .settingsScreen
|
||||
case (.dismissedSettingsScreen, .settingsScreen):
|
||||
return .homeScreen
|
||||
case (.showSessionVerificationScreen, .homeScreen):
|
||||
return .sessionVerificationScreen
|
||||
case (.dismissedSessionVerificationScreen, .sessionVerificationScreen):
|
||||
return .homeScreen
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user