Use content hint from original message for resends

This commit is contained in:
Nora Trapp 2022-11-23 12:27:27 -08:00 committed by Nora Trapp
parent ed437eb9ea
commit a91ca60b78
2 changed files with 11 additions and 1 deletions

View File

@ -22,6 +22,7 @@ public class MessageSendLog: NSObject {
var payloadId: Int64?
@objc
let plaintextContent: Data
@objc
let contentHint: SealedSenderContentHint
@objc
let sentTimestamp: UInt64

View File

@ -11,6 +11,7 @@
@property (nonatomic, readonly, nullable) NSData *originalMessagePlaintext;
@property (nonatomic, readonly, nullable) NSString *originalThreadId;
@property (nonatomic, readonly, nullable) NSData *originalGroupId;
@property (nonatomic, readonly) SealedSenderContentHint derivedContentHint;
@property (nonatomic) BOOL didAppendSKDM;
@end
@ -59,6 +60,14 @@
_originalMessagePlaintext = payloadRecord.plaintextContent;
_originalThreadId = payloadRecord.uniqueThreadId;
// Use the original payload's content hint, if we have one.
// Otherwise fallback to showing errors immediately.
if (payloadRecord) {
_derivedContentHint = payloadRecord.contentHint;
} else {
_derivedContentHint = SealedSenderContentHintImplicit;
}
if ([originalThread isKindOfClass:[TSGroupThread class]]) {
_originalGroupId = ((TSGroupThread *)originalThread).groupId;
}
@ -154,7 +163,7 @@
- (SealedSenderContentHint)contentHint
{
return SealedSenderContentHintDefault;
return self.derivedContentHint;
}
- (nullable NSData *)envelopeGroupIdWithTransaction:(__unused SDSAnyReadTransaction *)transaction