Fixed a few bugs found during regression testing

Increased version & build numbers for release
Fixed a bug where the closed group info messages might not include names for members added/removed when the profile was unknown
Fixed a bug where removing members from closed groups wasn't showing an info message correctly
Fixed a minor layout issue in the CallMessageCell
pull/693/head
Morgan Pretty 3 years ago
parent 7dc75af361
commit a59d1b8153

@ -6959,7 +6959,7 @@
CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 374;
CURRENT_PROJECT_VERSION = 375;
DEVELOPMENT_TEAM = SUQ8J2PCT7;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -6998,7 +6998,7 @@
"$(SRCROOT)",
);
LLVM_LTO = NO;
MARKETING_VERSION = 2.1.0;
MARKETING_VERSION = 2.1.1;
OTHER_LDFLAGS = "$(inherited)";
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger";
@ -7031,7 +7031,7 @@
CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 374;
CURRENT_PROJECT_VERSION = 375;
DEVELOPMENT_TEAM = SUQ8J2PCT7;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -7070,7 +7070,7 @@
"$(SRCROOT)",
);
LLVM_LTO = NO;
MARKETING_VERSION = 2.1.0;
MARKETING_VERSION = 2.1.1;
OTHER_LDFLAGS = "$(inherited)";
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger";
PRODUCT_NAME = Session;

@ -47,12 +47,24 @@ final class CallMessageCell: MessageCell {
private lazy var container: UIView = {
let result: UIView = UIView()
result.set(.height, to: 50)
result.layer.cornerRadius = 18
result.backgroundColor = Colors.callMessageBackground
result.addSubview(label)
label.autoCenterInSuperview()
label.pin(.top, to: .top, of: result, withInset: CallMessageCell.inset)
label.pin(
.left,
to: .left,
of: result,
withInset: ((CallMessageCell.inset * 2) + infoImageView.bounds.size.width)
)
label.pin(
.right,
to: .right,
of: result,
withInset: -((CallMessageCell.inset * 2) + infoImageView.bounds.size.width)
)
label.pin(.bottom, to: .bottom, of: result, withInset: -CallMessageCell.inset)
result.addSubview(iconImageView)
iconImageView.autoVCenterInSuperview()

@ -369,9 +369,15 @@ public extension ClosedGroupControlMessage.Kind {
return String(format: "GROUP_TITLE_CHANGED".localized(), name)
case .membersAdded(let membersAsData):
let addedMemberNames: [String] = try Profile
.fetchAll(db, ids: membersAsData.map { $0.toHexString() })
.map { $0.displayName() }
let memberIds: [String] = membersAsData.map { $0.toHexString() }
let knownMemberNameMap: [String: String] = try Profile
.fetchAll(db, ids: memberIds)
.reduce(into: [:]) { result, next in result[next.id] = next.displayName() }
let addedMemberNames: [String] = memberIds
.map {
knownMemberNameMap[$0] ??
Profile.truncated(id: $0, threadVariant: .closedGroup)
}
return String(
format: "GROUP_MEMBER_JOINED".localized(),
@ -387,9 +393,14 @@ public extension ClosedGroupControlMessage.Kind {
var infoMessage: String = ""
if !memberIds.removing(userPublicKey).isEmpty {
let removedMemberNames: [String] = try Profile
let knownMemberNameMap: [String: String] = try Profile
.fetchAll(db, ids: memberIds.removing(userPublicKey))
.map { $0.displayName() }
.reduce(into: [:]) { result, next in result[next.id] = next.displayName() }
let removedMemberNames: [String] = memberIds.removing(userPublicKey)
.map {
knownMemberNameMap[$0] ??
Profile.truncated(id: $0, threadVariant: .closedGroup)
}
let format: String = (removedMemberNames.count > 1 ?
"GROUP_MEMBERS_REMOVED".localized() :
"GROUP_MEMBER_REMOVED".localized()

@ -377,7 +377,7 @@ extension MessageReceiver {
.membersRemoved(
members: removedMembers
.asSet()
.subtracting(groupMembers.map { $0.profileId })
.intersection(groupMembers.map { $0.profileId })
.map { Data(hex: $0) }
)
.infoMessage(db, sender: sender),

Loading…
Cancel
Save