Render state items in the timeline and as the last message on the home screen. (#473)

* State events in the timeline WIP
* Implement membership change strings.
* Add other state event types and use in RoomSummaryProvider.

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
This commit is contained in:
Doug
2023-01-20 13:37:39 +00:00
committed by GitHub
parent 5b0a42ad0f
commit f05fa630c1
32 changed files with 536 additions and 75 deletions
@@ -93,7 +93,7 @@ class ClientProxy: ClientProxyProtocol {
configureSlidingSync()
}
var userIdentifier: String {
var userID: String {
do {
return try client.userId()
} catch {
@@ -291,7 +291,9 @@ class ClientProxy: ClientProxyProtocol {
private func buildAndConfigureVisibleRoomsSlidingSyncView(slidingSync: SlidingSyncProtocol, visibleRoomsView: SlidingSyncView) {
let visibleRoomsViewProxy = SlidingSyncViewProxy(slidingSync: slidingSync, slidingSyncView: visibleRoomsView)
visibleRoomsSummaryProvider = RoomSummaryProvider(slidingSyncViewProxy: visibleRoomsViewProxy)
visibleRoomsSummaryProvider = RoomSummaryProvider(slidingSyncViewProxy: visibleRoomsViewProxy,
eventStringBuilder: RoomEventStringBuilder(userID: userID,
roomStateStringBuilder: RoomStateStringBuilder(userID: userID)))
visibleRoomsSlidingSyncView = visibleRoomsView
@@ -327,7 +329,9 @@ class ClientProxy: ClientProxyProtocol {
let allRoomsViewProxy = SlidingSyncViewProxy(slidingSync: slidingSync, slidingSyncView: allRoomsView)
allRoomsSummaryProvider = RoomSummaryProvider(slidingSyncViewProxy: allRoomsViewProxy)
allRoomsSummaryProvider = RoomSummaryProvider(slidingSyncViewProxy: allRoomsViewProxy,
eventStringBuilder: RoomEventStringBuilder(userID: userID,
roomStateStringBuilder: RoomStateStringBuilder(userID: userID)))
allRoomsSlidingSyncView = allRoomsView
@@ -61,7 +61,7 @@ enum PushFormat {
protocol ClientProxyProtocol: AnyObject, MediaProxyProtocol {
var callbacks: PassthroughSubject<ClientProxyCallback, Never> { get }
var userIdentifier: String { get }
var userID: String { get }
var isSoftLogout: Bool { get }
@@ -21,7 +21,7 @@ import MatrixRustSDK
class MockClientProxy: ClientProxyProtocol {
let callbacks = PassthroughSubject<ClientProxyCallback, Never>()
let userIdentifier: String
let userID: String
let isSoftLogout = false
let deviceId: String? = nil
let homeserver = ""
@@ -31,8 +31,8 @@ class MockClientProxy: ClientProxyProtocol {
var allRoomsSummaryProvider: RoomSummaryProviderProtocol? = MockRoomSummaryProvider()
internal init(userIdentifier: String, roomSummaryProvider: RoomSummaryProviderProtocol? = MockRoomSummaryProvider()) {
self.userIdentifier = userIdentifier
internal init(userID: String, roomSummaryProvider: RoomSummaryProviderProtocol? = MockRoomSummaryProvider()) {
self.userID = userID
visibleRoomsSummaryProvider = roomSummaryProvider
}