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

@ -47,12 +47,24 @@ final class CallMessageCell: MessageCell {
private lazy var container: UIView = { private lazy var container: UIView = {
let result: UIView = UIView() let result: UIView = UIView()
result.set(.height, to: 50)
result.layer.cornerRadius = 18 result.layer.cornerRadius = 18
result.backgroundColor = Colors.callMessageBackground result.backgroundColor = Colors.callMessageBackground
result.addSubview(label) 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) result.addSubview(iconImageView)
iconImageView.autoVCenterInSuperview() iconImageView.autoVCenterInSuperview()

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

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

Loading…
Cancel
Save