Show or create direct message room (#716)

* add start chat flow with UI

* add feature flag for start chat

* add changelog

* fix naming and tests

* fix empty display name in user cell

* Update ElementX/Sources/Application/AppSettings.swift

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>

* add screenshots from UI test

* fix swiftFormat and add identifiers

* fix warnings

* add the create or open already existing direct room feature

* add changelog

* add UserProfile object, add loading indicator in start chat flow

* fix test

* add new section for user profile in start chat

* fix duplicates input on search bar

* Update ElementX/Sources/Services/Client/ClientProxy.swift

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>

* Update ElementX/Sources/Services/Client/ClientProxy.swift

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>

---------

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>
This commit is contained in:
Flescio
2023-03-24 16:16:07 +01:00
committed by GitHub
parent 646e8b3a55
commit 9cd38d1a4c
17 changed files with 269 additions and 25 deletions
@@ -0,0 +1,32 @@
//
// Copyright 2023 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import Foundation
extension UserProfileProxy {
// Mocks
static var mockAlice: UserProfileProxy {
.init(userID: "@alice:matrix.org", displayName: "Alice", avatarURL: URL(staticString: "mxc://matrix.org/UcCimidcvpFvWkPzvjXMQPHA"))
}
static var mockBob: UserProfileProxy {
.init(userID: "@bob:matrix.org", displayName: "Bob", avatarURL: nil)
}
static var mockCharlie: UserProfileProxy {
.init(userID: "@charlie:matrix.org", displayName: "Charlie", avatarURL: nil)
}
}