mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-10-31 08:15:24 +00:00
Use Compound List in more screens. (#2099)
* Use Compound List in room member details, secure backup, notification settings. * Use ListRow in CreateRoomScreen. * Fix ListRow layout when isWaiting && !isSelected.
This commit is contained in:
@@ -6664,7 +6664,7 @@
|
||||
repositoryURL = "https://github.com/vector-im/compound-ios";
|
||||
requirement = {
|
||||
kind = revision;
|
||||
revision = 7ae8b7ef4033861d0439427d5404538243afeffd;
|
||||
revision = 59166acc95a775ba3b7e7d39e5605611cf0e657f;
|
||||
};
|
||||
};
|
||||
9A472EE0218FE7DCF5283429 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */ = {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/vector-im/compound-ios",
|
||||
"state" : {
|
||||
"revision" : "7ae8b7ef4033861d0439427d5404538243afeffd"
|
||||
"revision" : "59166acc95a775ba3b7e7d39e5605611cf0e657f"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -26,7 +26,7 @@ struct RoomProxyMockConfiguration {
|
||||
var isDirect = Bool.random()
|
||||
var isSpace = Bool.random()
|
||||
var isPublic = Bool.random()
|
||||
var isEncrypted = Bool.random()
|
||||
var isEncrypted = true
|
||||
var isTombstoned = Bool.random()
|
||||
var hasOngoingCall = false
|
||||
var canonicalAlias: String?
|
||||
|
||||
@@ -92,7 +92,7 @@ struct BugReportScreen: View {
|
||||
PhotosPicker(selection: $selectedScreenshot,
|
||||
matching: .screenshots,
|
||||
photoLibrary: .shared()) {
|
||||
ListLabel.plain(title: photosPickerTitle)
|
||||
ListRowLabel.plain(title: photosPickerTitle)
|
||||
}
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.bugReportScreen.attachScreenshot)
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import Compound
|
||||
import SwiftUI
|
||||
|
||||
struct CreateRoomScreen: View {
|
||||
@@ -31,16 +32,12 @@ struct CreateRoomScreen: View {
|
||||
topicSection
|
||||
securitySection
|
||||
}
|
||||
.compoundForm()
|
||||
.compoundList()
|
||||
.track(screen: .createRoom)
|
||||
.scrollDismissesKeyboard(.immediately)
|
||||
.navigationTitle(L10n.screenCreateRoomTitle)
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .confirmationAction) {
|
||||
createButton
|
||||
}
|
||||
}
|
||||
.toolbar { toolbar }
|
||||
.readFrame($frame)
|
||||
.alert(item: $context.alertInfo)
|
||||
}
|
||||
@@ -48,86 +45,82 @@ struct CreateRoomScreen: View {
|
||||
private var roomSection: some View {
|
||||
Section {
|
||||
HStack(alignment: .center, spacing: 16) {
|
||||
Button {
|
||||
focus = nil
|
||||
context.showAttachmentConfirmationDialog = true
|
||||
} label: {
|
||||
if let url = context.viewState.avatarURL {
|
||||
AsyncImage(url: url) { image in
|
||||
image
|
||||
.resizable()
|
||||
.aspectRatio(contentMode: .fill)
|
||||
} placeholder: {
|
||||
ProgressView()
|
||||
}
|
||||
.scaledFrame(size: 70)
|
||||
.clipShape(Circle())
|
||||
} else {
|
||||
cameraImage
|
||||
}
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
.confirmationDialog("", isPresented: $context.showAttachmentConfirmationDialog) {
|
||||
Button(L10n.actionTakePhoto) {
|
||||
context.send(viewAction: .displayCameraPicker)
|
||||
}
|
||||
Button(L10n.actionChoosePhoto) {
|
||||
context.send(viewAction: .displayMediaPicker)
|
||||
}
|
||||
if context.viewState.avatarURL != nil {
|
||||
Button(L10n.actionRemove, role: .destructive) {
|
||||
context.send(viewAction: .removeImage)
|
||||
}
|
||||
}
|
||||
}
|
||||
roomAvatarButton
|
||||
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
Text(L10n.screenCreateRoomRoomNameLabel.uppercased())
|
||||
.padding(.leading, FormRow.insets.leading)
|
||||
.compoundFormSectionHeader()
|
||||
.padding(.leading, ListRowPadding.horizontal)
|
||||
.compoundListSectionHeader()
|
||||
|
||||
TextField(L10n.screenCreateRoomRoomNameLabel,
|
||||
text: $context.roomName,
|
||||
prompt: Text(L10n.commonRoomNamePlaceholder).foregroundColor(.compound.textPlaceholder),
|
||||
axis: .horizontal)
|
||||
.focused($focus, equals: .name)
|
||||
.accessibilityIdentifier(A11yIdentifiers.createRoomScreen.roomName)
|
||||
.padding(EdgeInsets(top: 10, leading: 16, bottom: 10, trailing: 16))
|
||||
.background(Color.compound.bgCanvasDefaultLevel1)
|
||||
.clipShape(RoundedRectangle(cornerRadius: 8))
|
||||
.padding(.horizontal, ListRowPadding.horizontal)
|
||||
.padding(.vertical, ListRowPadding.vertical)
|
||||
.background(.compound.bgCanvasDefaultLevel1, in: RoundedRectangle(cornerRadius: 12))
|
||||
}
|
||||
}
|
||||
.listRowInsets(.init())
|
||||
.listRowBackground(Color.clear)
|
||||
}
|
||||
.compoundFormSection()
|
||||
}
|
||||
|
||||
private var cameraImage: some View {
|
||||
Image(systemName: "camera")
|
||||
.font(.system(size: 28, weight: .semibold))
|
||||
.foregroundColor(.compound.iconSecondary)
|
||||
.scaledFrame(size: 70)
|
||||
.background(Color.compound.bgSubtlePrimary)
|
||||
.clipShape(Circle())
|
||||
private var roomAvatarButton: some View {
|
||||
Button {
|
||||
focus = nil
|
||||
context.showAttachmentConfirmationDialog = true
|
||||
} label: {
|
||||
if let url = context.viewState.avatarURL {
|
||||
AsyncImage(url: url) { image in
|
||||
image
|
||||
.resizable()
|
||||
.aspectRatio(contentMode: .fill)
|
||||
} placeholder: {
|
||||
ProgressView()
|
||||
}
|
||||
.scaledFrame(size: 70)
|
||||
.clipShape(Circle())
|
||||
} else {
|
||||
CompoundIcon(asset: Asset.Images.takePhoto, size: .custom(36), relativeTo: .title)
|
||||
.foregroundColor(.compound.iconSecondary)
|
||||
.scaledFrame(size: 70, relativeTo: .title)
|
||||
.background(.compound.bgSubtlePrimary, in: Circle())
|
||||
}
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
.confirmationDialog("", isPresented: $context.showAttachmentConfirmationDialog) {
|
||||
Button(L10n.actionTakePhoto) {
|
||||
context.send(viewAction: .displayCameraPicker)
|
||||
}
|
||||
Button(L10n.actionChoosePhoto) {
|
||||
context.send(viewAction: .displayMediaPicker)
|
||||
}
|
||||
if context.viewState.avatarURL != nil {
|
||||
Button(L10n.actionRemove, role: .destructive) {
|
||||
context.send(viewAction: .removeImage)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private var topicSection: some View {
|
||||
Section {
|
||||
TextField(L10n.screenCreateRoomTopicLabel,
|
||||
text: $context.roomTopic,
|
||||
prompt: Text(L10n.commonTopicPlaceholder).foregroundColor(.compound.textPlaceholder),
|
||||
axis: .vertical)
|
||||
ListRow(label: .plain(title: L10n.commonTopicPlaceholder),
|
||||
kind: .textField(text: $context.roomTopic, axis: .vertical))
|
||||
.lineLimit(3, reservesSpace: false)
|
||||
.focused($focus, equals: .topic)
|
||||
.accessibilityIdentifier(A11yIdentifiers.createRoomScreen.roomTopic)
|
||||
.lineLimit(3, reservesSpace: false)
|
||||
} header: {
|
||||
Text(L10n.screenCreateRoomTopicLabel)
|
||||
.compoundFormSectionHeader()
|
||||
.compoundListSectionHeader()
|
||||
} footer: {
|
||||
if !context.viewState.selectedUsers.isEmpty {
|
||||
selectedUsersSection
|
||||
}
|
||||
}
|
||||
.compoundFormSection()
|
||||
}
|
||||
|
||||
@State private var frame: CGRect = .zero
|
||||
@@ -143,61 +136,38 @@ struct CreateRoomScreen: View {
|
||||
.frame(width: invitedUserCellWidth)
|
||||
}
|
||||
}
|
||||
.padding(.init(top: 22, leading: 20, bottom: 0, trailing: 32))
|
||||
.padding(.horizontal, ListRowPadding.horizontal)
|
||||
.padding(.vertical, 22)
|
||||
}
|
||||
.frame(width: frame.width)
|
||||
}
|
||||
|
||||
private var securitySection: some View {
|
||||
Section {
|
||||
Picker(L10n.commonSecurity, selection: $context.isRoomPrivate) {
|
||||
Label {
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Text(L10n.screenCreateRoomPrivateOptionTitle)
|
||||
.font(.compound.bodyLG)
|
||||
Text(L10n.screenCreateRoomPrivateOptionDescription)
|
||||
.font(.compound.bodyXS)
|
||||
.foregroundColor(.compound.textSecondary)
|
||||
}
|
||||
} icon: {
|
||||
Image(systemName: "lock.shield")
|
||||
}
|
||||
.tag(true)
|
||||
.labelStyle(FormRowLabelStyle(alignment: .top))
|
||||
|
||||
Label {
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Text(L10n.screenCreateRoomPublicOptionTitle)
|
||||
.font(.compound.bodyLG)
|
||||
Text(L10n.screenCreateRoomPublicOptionDescription)
|
||||
.font(.compound.bodyXS)
|
||||
.foregroundColor(.compound.textSecondary)
|
||||
}
|
||||
} icon: {
|
||||
Image(systemName: "exclamationmark.shield")
|
||||
}
|
||||
.tag(false)
|
||||
.labelStyle(FormRowLabelStyle(alignment: .top))
|
||||
}
|
||||
.labelsHidden()
|
||||
.pickerStyle(.inline)
|
||||
ListRow(label: .default(title: L10n.screenCreateRoomPrivateOptionTitle,
|
||||
description: L10n.screenCreateRoomPrivateOptionDescription,
|
||||
icon: CompoundIcon(asset: Asset.Images.lock),
|
||||
iconAlignment: .top),
|
||||
kind: .selection(isSelected: context.isRoomPrivate) { context.isRoomPrivate = true })
|
||||
ListRow(label: .default(title: L10n.screenCreateRoomPublicOptionTitle,
|
||||
description: L10n.screenCreateRoomPublicOptionDescription,
|
||||
icon: \.public,
|
||||
iconAlignment: .top),
|
||||
kind: .selection(isSelected: !context.isRoomPrivate) { context.isRoomPrivate = false })
|
||||
} header: {
|
||||
Text(L10n.commonSecurity.uppercased())
|
||||
.compoundFormSectionHeader()
|
||||
.padding(.top, 40)
|
||||
.compoundListSectionHeader()
|
||||
}
|
||||
.listRowSeparatorTint(.compound.borderDisabled)
|
||||
.listRowBackground(Color.compound.bgCanvasDefaultLevel1)
|
||||
}
|
||||
|
||||
private var createButton: some View {
|
||||
Button {
|
||||
focus = nil
|
||||
context.send(viewAction: .createRoom)
|
||||
} label: {
|
||||
Text(L10n.actionCreate)
|
||||
private var toolbar: some ToolbarContent {
|
||||
ToolbarItem(placement: .confirmationAction) {
|
||||
Button(L10n.actionCreate) {
|
||||
focus = nil
|
||||
context.send(viewAction: .createRoom)
|
||||
}
|
||||
.disabled(!context.viewState.canCreateRoom)
|
||||
}
|
||||
.disabled(!context.viewState.canCreateRoom)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ struct RoomDetailsEditScreen: View {
|
||||
.focused($focus, equals: .name)
|
||||
} else {
|
||||
ListRow(kind: .custom {
|
||||
ListLabel.plain(title: context.viewState.nameRowTitle)
|
||||
ListRowLabel.plain(title: context.viewState.nameRowTitle)
|
||||
.listRowBackground(Color.clear)
|
||||
})
|
||||
}
|
||||
@@ -111,7 +111,7 @@ struct RoomDetailsEditScreen: View {
|
||||
.lineLimit(3...)
|
||||
} else {
|
||||
ListRow(kind: .custom {
|
||||
ListLabel.plain(title: context.viewState.topicRowTitle)
|
||||
ListRowLabel.plain(title: context.viewState.topicRowTitle)
|
||||
.listRowBackground(Color.clear)
|
||||
})
|
||||
}
|
||||
|
||||
+12
-11
@@ -14,6 +14,7 @@
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import Compound
|
||||
import SwiftUI
|
||||
|
||||
struct RoomMemberDetailsScreen: View {
|
||||
@@ -27,7 +28,7 @@ struct RoomMemberDetailsScreen: View {
|
||||
blockUserSection
|
||||
}
|
||||
}
|
||||
.compoundForm()
|
||||
.compoundList()
|
||||
.alert(item: $context.ignoreUserAlert, actions: blockUserAlertActions, message: blockUserAlertMessage)
|
||||
.alert(item: $context.alertInfo)
|
||||
.track(screen: .user)
|
||||
@@ -49,7 +50,7 @@ struct RoomMemberDetailsScreen: View {
|
||||
if let permalink = context.viewState.details.permalink {
|
||||
HStack(spacing: 32) {
|
||||
ShareLink(item: permalink) {
|
||||
Image(systemName: "square.and.arrow.up")
|
||||
CompoundIcon(asset: Asset.Images.shareIos)
|
||||
}
|
||||
.buttonStyle(FormActionButtonStyle(title: L10n.actionShare))
|
||||
}
|
||||
@@ -60,16 +61,16 @@ struct RoomMemberDetailsScreen: View {
|
||||
|
||||
private var blockUserSection: some View {
|
||||
Section {
|
||||
Button(role: context.viewState.details.isIgnored ? nil : .destructive) {
|
||||
context.send(viewAction: blockUserButtonAction)
|
||||
} label: {
|
||||
Label(blockUserButtonTitle, systemImage: "slash.circle")
|
||||
}
|
||||
.accessibilityIdentifier(blockUserButtonAccessibilityIdentifier)
|
||||
.buttonStyle(FormButtonStyle(accessory: context.viewState.isProcessingIgnoreRequest ? .progressView : nil))
|
||||
.disabled(context.viewState.isProcessingIgnoreRequest)
|
||||
ListRow(label: .default(title: blockUserButtonTitle,
|
||||
icon: CompoundIcon(asset: Asset.Images.block),
|
||||
role: context.viewState.details.isIgnored ? nil : .destructive),
|
||||
details: .isWaiting(context.viewState.isProcessingIgnoreRequest),
|
||||
kind: .button {
|
||||
context.send(viewAction: blockUserButtonAction)
|
||||
})
|
||||
.accessibilityIdentifier(blockUserButtonAccessibilityIdentifier)
|
||||
.disabled(context.viewState.isProcessingIgnoreRequest)
|
||||
}
|
||||
.compoundFormSection()
|
||||
}
|
||||
|
||||
private var blockUserButtonAction: RoomMemberDetailsScreenViewAction {
|
||||
|
||||
+2
-2
@@ -63,13 +63,13 @@ struct RoomNotificationSettingsCustomSectionView_Previews: PreviewProvider, Test
|
||||
Form {
|
||||
RoomNotificationSettingsCustomSectionView(context: viewModel.context)
|
||||
}
|
||||
.compoundForm()
|
||||
.compoundList()
|
||||
.previewDisplayName("Encrypted")
|
||||
|
||||
Form {
|
||||
RoomNotificationSettingsCustomSectionView(context: viewModelUnencrypted.context)
|
||||
}
|
||||
.compoundForm()
|
||||
.compoundList()
|
||||
.previewDisplayName("Unencrypted")
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ struct RoomNotificationSettingsUserDefinedScreen: View {
|
||||
|
||||
private var deleteButton: some View {
|
||||
ListRow(label: .action(title: L10n.screenRoomNotificationSettingsEditRemoveSetting,
|
||||
systemIcon: .trash,
|
||||
icon: \.delete,
|
||||
role: .destructive),
|
||||
details: context.viewState.deletingCustomSetting ? .isWaiting(true) : nil,
|
||||
kind: .button {
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ struct SecureBackupScreen: View {
|
||||
}
|
||||
} footer: {
|
||||
recoveryKeySectionFooter
|
||||
.compoundFormSectionFooter()
|
||||
.compoundListSectionFooter()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -63,7 +63,6 @@ struct NotificationSettingsEditScreen: View {
|
||||
Text(L10n.screenNotificationSettingsEditCustomSettingsSectionTitle)
|
||||
.compoundListSectionHeader()
|
||||
}
|
||||
.compoundFormSection()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ struct NotificationSettingsEditScreenRoomCell: View {
|
||||
}
|
||||
|
||||
@MainActor
|
||||
var roomDetailsLabel: ListDetailsLabel<EmptyView>? {
|
||||
var roomDetailsLabel: ListRowDetails<EmptyView>? {
|
||||
guard let mode = room.notificationMode else { return nil }
|
||||
return .label(title: context.viewState.strings.string(for: mode),
|
||||
icon: EmptyView())
|
||||
|
||||
+2
-2
@@ -98,7 +98,7 @@ struct NotificationSettingsScreen: View {
|
||||
// Group chats
|
||||
ListRow(label: .plain(title: L10n.screenNotificationSettingsGroupChats),
|
||||
details: context.viewState.settings.map {
|
||||
ListDetailsLabel.title(context.viewState.strings.string(for: $0.groupChatsMode))
|
||||
.title(context.viewState.strings.string(for: $0.groupChatsMode))
|
||||
} ?? .isWaiting(true),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .groupChatsTapped)
|
||||
@@ -109,7 +109,7 @@ struct NotificationSettingsScreen: View {
|
||||
// Direct chats
|
||||
ListRow(label: .plain(title: L10n.screenNotificationSettingsDirectChats),
|
||||
details: context.viewState.settings.map {
|
||||
ListDetailsLabel.title(context.viewState.strings.string(for: $0.directChatsMode))
|
||||
.title(context.viewState.strings.string(for: $0.directChatsMode))
|
||||
} ?? .isWaiting(true),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .directChatsTapped)
|
||||
|
||||
@@ -71,9 +71,7 @@ struct SettingsScreen: View {
|
||||
|
||||
Spacer()
|
||||
|
||||
CompoundIcon(\.chevronRight)
|
||||
.foregroundColor(.compound.iconTertiaryAlpha)
|
||||
.flipsForRightToLeftLayoutDirection(true)
|
||||
ListRowAccessory.navigationLink
|
||||
}
|
||||
.padding(.horizontal, ListRowPadding.horizontal)
|
||||
.padding(.vertical, 8)
|
||||
|
||||
@@ -74,8 +74,8 @@ struct StartChatScreen: View {
|
||||
Section {
|
||||
ListRow(kind: .custom {
|
||||
MatrixUserShareLink(userID: context.viewState.userID) {
|
||||
ListLabel.default(title: L10n.actionInvitePeopleToApp(InfoPlistReader.main.bundleDisplayName),
|
||||
icon: CompoundIcon(asset: Asset.Images.shareIos))
|
||||
ListRowLabel.default(title: L10n.actionInvitePeopleToApp(InfoPlistReader.main.bundleDisplayName),
|
||||
icon: CompoundIcon(asset: Asset.Images.shareIos))
|
||||
}
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.startChatScreen.inviteFriends)
|
||||
|
||||
@@ -87,6 +87,7 @@ class AppLockUITests: XCTestCase {
|
||||
|
||||
try await app.assertScreenshot(.appLockFlow, step: Step.unlocked)
|
||||
try client.send(.notification(name: UIApplication.didEnterBackgroundNotification))
|
||||
try await Task.sleep(for: .milliseconds(500)) // Don't overwrite the previous signal immediately.
|
||||
try client.send(.notification(name: UIApplication.didBecomeActiveNotification))
|
||||
try await app.assertScreenshot(.appLockFlow, step: Step.lockScreen)
|
||||
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:165ffd65659a9656de2c121ddc796672bb7f8ecd11ba553801005668fb10deb1
|
||||
size 133345
|
||||
oid sha256:a8c1a194e0e4abbc9f60492bf18585aa73f9c915b4caf4c99f84ab7e50aafb45
|
||||
size 134080
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:120d645d2f85d639baea6e60e8e007889552a06ef9f387c12cfea1f70e1d5562
|
||||
size 135935
|
||||
oid sha256:df7732354aa03c0ce774f099b317e9fd51a9a629c945d9616f524feda87cc8d5
|
||||
size 136840
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0c7c2f77452a6014acae01858121ccd20618da8a5ab7b38d9551c5941cd62b41
|
||||
size 115726
|
||||
oid sha256:a37d5b7bc5f0b8b61ee5cbae2f614a65c7d1586cb436d36cfcb43ef9a02c6f88
|
||||
size 115685
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:85785ef5695faad84a691a9cd56f3f44e306429ecf7405f0ad250833ac0c239f
|
||||
size 75440
|
||||
oid sha256:d68f8512763c04c06f0428bb7d4b3395b3f732e52fe1e7455236c6777114e990
|
||||
size 75175
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:54e7d239c4f72f1e5c38a1e25c7e92574ab77419613627e6b3e46ccc02837d45
|
||||
size 86005
|
||||
oid sha256:da006cf0e10db7b53725b632fe1463c164a8cbf36bbbfce71f4ed967de13ef78
|
||||
size 85837
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:76da7318a4155c5618ee602900b01431a4027cf64baf4971c4e889fabac81a05
|
||||
size 76634
|
||||
oid sha256:e0589315a3cbcaefe4190942f98ef6e751d79c47dda39cfb7171fbb47fb7ce75
|
||||
size 76322
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:55ce6c018bba62f121ac067f1d7f048f0c9e93cbe4f01f759adc9d052d8bb6dc
|
||||
size 91307
|
||||
oid sha256:319d071ac10f52841d78b74564f240b1e7c74452853650426fee0f036e2b40eb
|
||||
size 101387
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ab50fae5e79a4ed8ddb2a118871de9fec600c68e6fb80777c0c0856419f75bcd
|
||||
size 175004
|
||||
oid sha256:031ace0b8f7992277b829af8e90fddd55841d4e883481b23ad16f0ca0dbcbd8b
|
||||
size 176077
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cdb8bbea4436bcf2239bc6a164d4b9a50a1feefc1f013b5c8967d925266e20c9
|
||||
size 180771
|
||||
oid sha256:c984e275f2e45e03f5173210ac520e33cdb86f7af897020aec56d488148f4241
|
||||
size 182261
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:31adc6a54ba0d2fc04e1c76e1162cfb023f6363f4ecd0fe517bd9b373abddbd1
|
||||
size 154441
|
||||
oid sha256:0323ba76d048f24631f13da49ee36bccd97930535f3938ef68c4a264eb1a9c3e
|
||||
size 155112
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc305177ef9f263afb29691784f5c40961ac21b2f7c591bca405d2d76387f842
|
||||
size 85474
|
||||
oid sha256:d9597c72d2d0b30837e055fc0b33a67be32a13878f8b795f76f2735b4bafd3bc
|
||||
size 85184
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:df58bd2a076128681f6663f33c30c4801162a4a0f77e925e6ed04ed2b2535a70
|
||||
size 109616
|
||||
oid sha256:d7037f44b51c943a64e52f544508938b24c106b5666de258b003e0c75a9982e1
|
||||
size 109359
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f3655badd3effec1b631ceee3bcd3d6f945fc17af5537694b01a619dab13007b
|
||||
size 87714
|
||||
oid sha256:7dfb9758d21addcaf9440956ea6d8d152ecaf60b357315dc4c76edbe5f2cca56
|
||||
size 87288
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a9eed804e596319fb87cac52da8955d2cf41c3fb11f92c0e33db65db72d84fcc
|
||||
size 107614
|
||||
oid sha256:bc31e50736fb2041e79e47f3db8aa38b00cdbd4a626cb48ada7199627a8d5032
|
||||
size 127515
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:70f59337e1f7bd561d28969a4bbb5bf847c5adec0ec3176dcde85d2e6c383ce7
|
||||
size 157210
|
||||
oid sha256:d7a5905fbea128dd703ec01515e9d5eb32626c46d293d74d6175079ee0ab9b6c
|
||||
size 157409
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2b2fd8d6eec0e551760895b8f25835f64413d61e96cca3007e04cd593798f4b4
|
||||
size 160823
|
||||
oid sha256:c9412a601e3caa4f4c671b7f5dc3ed7f4c03abf1298951e83692d2632a30a81d
|
||||
size 160972
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d3c681d0cb0bb8da3d8d6210b9e0433ebadacc20d106fab5f3f9676fccd948ed
|
||||
size 139791
|
||||
oid sha256:7f307ebbffadfef697d0e33650e7645ac5b6bb6b93fa7199efc0915594e70d9a
|
||||
size 140368
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69943d16ea3f20799f5b30197a24d712852168316a0a8aa7422f464205f06d51
|
||||
size 76422
|
||||
oid sha256:f5560586719d07b52ebed4e1aebf26bf606bb94c95f70069b376e3cacc412196
|
||||
size 76124
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0289235d2236c240420c530bc27e397d848e7f6cf846b303a842734c8690d037
|
||||
size 86622
|
||||
oid sha256:79c188178407072ef3ec198d5e512c77f6798336b851a7d722da2b4e53edd1cb
|
||||
size 86445
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7709f2bd95eedaa8ec4b2294bc6c99139391d6acf224de1973fc09d76225ae21
|
||||
size 77641
|
||||
oid sha256:8241d23d72f336553895d3569ad7f33b35a2a927d228cd9c205d7352ae815bdc
|
||||
size 77320
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6155979ba94debfdcb27a884dda577190a10c663feec56ba6ce68ccdc208709a
|
||||
size 98799
|
||||
oid sha256:e75d0a6f53f3243942c30552e9dd696788f208b9e83ab5763a9000929143d9a3
|
||||
size 118699
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ae5ba27daef93148115492d64964065432e93e9bfd630d21d23ac7f65ee21dee
|
||||
size 221972
|
||||
oid sha256:4e9714157c467effc8d890cc6acb05de6e7e96fdfd6a5b04f8607dc4e0642e48
|
||||
size 225549
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:47e473ef026488347442246a78f05d81fc4e71d0cb9c0df7280ae82879f3a098
|
||||
size 227044
|
||||
oid sha256:377610530c5e8a84e399e8b756f97a7aa8da429108ecfdcce65969a1492e0bd0
|
||||
size 232677
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:414d283c7b93c11148f4c0173ea28d98260027fba1374bf2e0497b146bc40c74
|
||||
size 203002
|
||||
oid sha256:f03110ecbb663ee16123d572d6589c5b18146da5f8ed6283990494fbf64d4a6c
|
||||
size 205095
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:da7455c147d2dca07f71ef881a1cd5c0440aae8e5b6b88c9f37bad06aa1546de
|
||||
size 86726
|
||||
oid sha256:59e51d6eff27bbd070e8f61afadda7ae5382a65b1a0c803585cb50041c7ad275
|
||||
size 86474
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f6880bb70385dd8b578b21dd2752d07a99a4bad394730f4a01795e36589de94f
|
||||
size 109968
|
||||
oid sha256:8d2b2c8a18c5c45b62c6d673345a41740744e8b44b2d38b36c1b9c648b0c0d0b
|
||||
size 109715
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e5ee8fbfe1abae2eceb341a3800788ff43f671adb9affd019ec4156103c33e7e
|
||||
size 88844
|
||||
oid sha256:bcc23a880e72373c79c9c0d7eb7b825da66c4fb3cadff745d89007d2279f6f18
|
||||
size 88391
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:56e470c713c4b51e58c3027c66039d191a63d81d1ec04809c6cdc087ed088c50
|
||||
size 140627
|
||||
oid sha256:e3c37fbc3ebb89a0258deb2243834f3bf1def18456ac91de7b87c440aff0ddd2
|
||||
size 175124
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:96729828d82bb8f5b40173554aabdd649b8e87fb15a288686eca1574b4b96641
|
||||
size 168107
|
||||
oid sha256:e81a71656b470019d193bd0b9bc4c40339b59bc84d932dd8d58be7d1ac22251b
|
||||
size 166414
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f14072e377d9015d23c45b8d810976587f66a96c563cd581d188cdb7908f54df
|
||||
size 169132
|
||||
oid sha256:9de5cb03ede581f8968bc7c309962758a7eff216046863e02add1f0df63b02cf
|
||||
size 193889
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ce476aa338694340df878df31e12240481afcda2531599c6636d0367356180d0
|
||||
size 103319
|
||||
oid sha256:19f1bf1b3a19af41a8e81d317f989bd83aa9fd3aefcbbcc8e7a7abdd940abe15
|
||||
size 103243
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6f0f5853cdc2865fdf622de333e31b53acfccd945f35085990f02031c3978e05
|
||||
size 103330
|
||||
oid sha256:6c2d9f973ba79ec8e3335939bdf1b0d6bfe2e282d6c53be614c498762444cb2a
|
||||
size 103430
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:16268407b37510cc9ec162e62db9789051471119d5e18dc72a49c8bbc5b09d13
|
||||
size 103672
|
||||
oid sha256:094e0f006c6109fd1f0292278caa990c638fa88b445cb993270b63110fa6b267
|
||||
size 103767
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:16268407b37510cc9ec162e62db9789051471119d5e18dc72a49c8bbc5b09d13
|
||||
size 103672
|
||||
oid sha256:094e0f006c6109fd1f0292278caa990c638fa88b445cb993270b63110fa6b267
|
||||
size 103767
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f4bc9d97c5f1db7319056f80d1a2c8282d4d6f0cb74813a70d13b3728b3b912f
|
||||
size 127927
|
||||
oid sha256:610691a13e03beff0d88785f9ac7e80d6aa09bc68c20f6cc4ea91aec7159eb46
|
||||
size 127526
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:218609ca451f129fbefe9119d1e6a3e5b415f2da5939727f3061f0e6d2e31cce
|
||||
size 100394
|
||||
oid sha256:142dee5459592cd3b21a5fa089d160c7af682f639e443172cd634e1e124b8531
|
||||
size 100514
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3109727ecc950214a27eec0fda360df2816ddb7056c3b9048914575d70595769
|
||||
size 139833
|
||||
oid sha256:eb98ad72d36f6204a0c5b80a82faa0346c7ca507393291f9983089bbab003a6e
|
||||
size 140051
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6545c6f94180cae00cde1a5851813fda9335db6b9dbdbb41132ebe2d391beaa8
|
||||
size 104199
|
||||
oid sha256:ddaf5a24c51fd2fd095bf050cf39468915b77d40e2a2cc582135e41a5a415be9
|
||||
size 106218
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6545c6f94180cae00cde1a5851813fda9335db6b9dbdbb41132ebe2d391beaa8
|
||||
size 104199
|
||||
oid sha256:ddaf5a24c51fd2fd095bf050cf39468915b77d40e2a2cc582135e41a5a415be9
|
||||
size 106218
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:84816004db958e01290609776f4455e95d73a24a1af223a6af21d0e818a060e2
|
||||
size 114117
|
||||
oid sha256:a8caf3fdd71e6edb2c3f0c3d2970feee108933a878759a7aad5be0f5b9224cab
|
||||
size 114525
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:84816004db958e01290609776f4455e95d73a24a1af223a6af21d0e818a060e2
|
||||
size 114117
|
||||
oid sha256:a8caf3fdd71e6edb2c3f0c3d2970feee108933a878759a7aad5be0f5b9224cab
|
||||
size 114525
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b99e77edc65b81c297864a460389b6b660baeb5fea85332a5b72b8cbafc58ec4
|
||||
size 123104
|
||||
oid sha256:e71d6ffeec80d6c9a416654f6a0511e296e163859e95cca411dffd7007f35237
|
||||
size 123201
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:de37e556ac49c283bb92f363f7492b6f31862b579e4ee136677a2440bea34bd3
|
||||
size 111802
|
||||
oid sha256:d2429e552323f33b2e8feb64f8ed222752546dbacaab15c649bd0fe85900024d
|
||||
size 111841
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Use Compound List in Start Chat and Room Member Details screens.
|
||||
+1
-1
@@ -49,7 +49,7 @@ packages:
|
||||
# path: ../matrix-rust-sdk
|
||||
Compound:
|
||||
url: https://github.com/vector-im/compound-ios
|
||||
revision: 7ae8b7ef4033861d0439427d5404538243afeffd
|
||||
revision: 59166acc95a775ba3b7e7d39e5605611cf0e657f
|
||||
# path: ../compound-ios
|
||||
AnalyticsEvents:
|
||||
url: https://github.com/matrix-org/matrix-analytics-events
|
||||
|
||||
Reference in New Issue
Block a user