adds some clues about how to implement tapbacks
This commit is contained in:
@@ -1754,10 +1754,13 @@ __attribute__((visibility("default"))) @interface IMService : NSObject { }
|
|||||||
@property(nonatomic) BOOL chatInScrutinyMode; // @synthesize chatInScrutinyMode=_chatInScrutinyMode;
|
@property(nonatomic) BOOL chatInScrutinyMode; // @synthesize chatInScrutinyMode=_chatInScrutinyMode;
|
||||||
@property(readonly, nonatomic) NSArray *messageEditChatItems; // @synthesize messageEditChatItems=_messageEditChatItems;
|
@property(readonly, nonatomic) NSArray *messageEditChatItems; // @synthesize messageEditChatItems=_messageEditChatItems;
|
||||||
@property(retain, nonatomic, setter=_setVisibleAssociatedMessageChatItems:) NSArray *visibleAssociatedMessageChatItems; // @synthesize visibleAssociatedMessageChatItems=_visibleAssociatedMessageChatItems;
|
@property(retain, nonatomic, setter=_setVisibleAssociatedMessageChatItems:) NSArray *visibleAssociatedMessageChatItems; // @synthesize visibleAssociatedMessageChatItems=_visibleAssociatedMessageChatItems;
|
||||||
@property(nonatomic) struct _NSRange messagePartRange; // @synthesize messagePartRange=_messagePartRange;
|
|
||||||
@property(nonatomic) long long index; // @synthesize index=_index;
|
@property(nonatomic) long long index; // @synthesize index=_index;
|
||||||
@property(readonly, copy, nonatomic) NSAttributedString *text; // @synthesize text=_text;
|
@property(readonly, copy, nonatomic) NSAttributedString *text; // @synthesize text=_text;
|
||||||
|
|
||||||
|
@property (nonatomic, copy, readonly) NSString *threadIdentifier;
|
||||||
|
@property(nonatomic) struct _NSRange messagePartRange; // @synthesize messagePartRange=_messagePartRange;
|
||||||
|
|
||||||
|
|
||||||
- (BOOL)canSendMessageAcknowledgment;
|
- (BOOL)canSendMessageAcknowledgment;
|
||||||
- (void)_setMessageEditChatItems:(id)arg1;
|
- (void)_setMessageEditChatItems:(id)arg1;
|
||||||
- (id)_initWithItem:(id)arg1 text:(id)arg2 index:(long long)arg3 messagePartRange:(struct _NSRange)arg4 visibleAssociatedMessageChatItems:(id)arg5;
|
- (id)_initWithItem:(id)arg1 text:(id)arg2 index:(long long)arg3 messagePartRange:(struct _NSRange)arg4 visibleAssociatedMessageChatItems:(id)arg5;
|
||||||
@@ -3689,6 +3692,58 @@ typedef NS_ENUM(NSInteger, IMMessageDescriptionType) {
|
|||||||
IMMessageDescriptionSPI,
|
IMMessageDescriptionSPI,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef NS_ENUM(int64_t, IMAssociatedMessageType) {
|
||||||
|
IMAssociatedMessageTypeUnspecified = 0,
|
||||||
|
|
||||||
|
IMAssociatedMessageTypeBreadcrumbUnconsumed = 2,
|
||||||
|
IMAssociatedMessageTypeBreadcrumbConsumed = 3,
|
||||||
|
IMAssociatedMessageTypeSticker = 1000,
|
||||||
|
IMAssociatedMessageTypeEmojiSticker = 1001,
|
||||||
|
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentHeart = 2000,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentThumbsUp = 2001,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentThumbsDown = 2002,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentHa = 2003,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentExclamation = 2004,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentQuestionMark = 2005,
|
||||||
|
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentHeartRemoved = 3000,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentThumbsUpRemoved = 3001,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentThumbsDownRemoved = 3002,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentHaRemoved = 3003,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentExclamationRemoved = 3004,
|
||||||
|
IMAssociatedMessageTypeAcknowledgmentQuestionMarkRemoved = 3005,
|
||||||
|
};
|
||||||
|
|
||||||
|
extern NSString * const IMMessageSummaryInfoSummary;
|
||||||
|
extern NSString * const IMMessageSummaryInfoContentType;
|
||||||
|
extern NSString * const IMMessageSummaryInfoPluginBundleID;
|
||||||
|
extern NSString * const IMMessageSummaryInfoPluginDisplayName;
|
||||||
|
extern NSString * const IMMessageSummaryInfoAssociatedBalloonBundleID;
|
||||||
|
extern NSString * const IMMessageSummaryInfoSourceApplicationID;
|
||||||
|
extern NSString * const IMMessageSummaryInfoUpdatedDateWithServerTime;
|
||||||
|
extern NSString * const IMMessageSummaryInfoHasBeenRetried;
|
||||||
|
extern NSString * const IMMessageSummaryInfoTapbackRepresentationKey;
|
||||||
|
extern NSString * const IMMessageSummaryInfoStickerRepositioningKey;
|
||||||
|
extern NSString * const IMMessageSummaryInfoTranscriptSharingMessageTypeKey;
|
||||||
|
extern NSString * const IMMessageSummaryInfoTranscriptSharingMessageFirstItemKey;
|
||||||
|
extern NSString * const IMMessageSummaryInfoEditedPartIndexes;
|
||||||
|
extern NSString * const IMMessageSummaryInfoRetractedPartIndexes;
|
||||||
|
extern NSString * const IMMessageSummaryInfoOriginalTextRangesByPartIndex;
|
||||||
|
extern NSString * const IMMessageSummaryInfoOriginalTextRangeLocationSubKey;
|
||||||
|
extern NSString * const IMMessageSummaryInfoOriginalTextRangeLengthSubKey;
|
||||||
|
extern NSString * const IMMessageSummaryInfoEditDeliveryFailedForPartIndexes;
|
||||||
|
extern NSString * const IMMessageSummaryInfoRetractDeliveryFailedForPartIndexes;
|
||||||
|
extern NSString * const IMMessageSummaryInfoEditUnsupportedByHandleIDs;
|
||||||
|
extern NSString * const IMMessageSummaryInfoTranslatedText;
|
||||||
|
extern NSString * const IMMessageSummaryInfoDetectedLanguage;
|
||||||
|
extern NSString * const IMMessageSummaryInfoCMMState;
|
||||||
|
extern NSString * const IMMessageSummaryInfoCMMAssetOffset;
|
||||||
|
extern NSString * const IMMessageItemErrorDomain;
|
||||||
|
extern NSString * const IMMessageSentDistributedNotification;
|
||||||
|
extern NSString * const IMMessageSentDistributedNotificationUserInfoMessageGUIDKey;
|
||||||
|
extern NSString * const IMMessageSentDistributedNotificationUserInfoSucessKey;
|
||||||
|
|
||||||
|
|
||||||
@interface IMMessage : NSObject <NSCopying>
|
@interface IMMessage : NSObject <NSCopying>
|
||||||
{
|
{
|
||||||
@@ -3745,6 +3800,22 @@ typedef NS_ENUM(NSInteger, IMMessageDescriptionType) {
|
|||||||
+ (id)breadcrumbMessageWithText:(id)arg1 associatedMessageGUID:(id)arg2 balloonBundleID:(id)arg3 fileTransferGUIDs:(id)arg4 payloadData:(id)arg5;
|
+ (id)breadcrumbMessageWithText:(id)arg1 associatedMessageGUID:(id)arg2 balloonBundleID:(id)arg3 fileTransferGUIDs:(id)arg4 payloadData:(id)arg5;
|
||||||
+ (id)editedMessageWithOriginalMessage:(id)arg1 originalPrefixedGUID:(id)arg2 newBody:(id)arg3;
|
+ (id)editedMessageWithOriginalMessage:(id)arg1 originalPrefixedGUID:(id)arg2 newBody:(id)arg3;
|
||||||
+ (id)instantMessageWithAssociatedMessageContent:(id)arg1 flags:(unsigned long long)arg2 associatedMessageGUID:(id)arg3 associatedMessageType:(long long)arg4 associatedMessageRange:(struct _NSRange)arg5 messageSummaryInfo:(id)arg6;
|
+ (id)instantMessageWithAssociatedMessageContent:(id)arg1 flags:(unsigned long long)arg2 associatedMessageGUID:(id)arg3 associatedMessageType:(long long)arg4 associatedMessageRange:(struct _NSRange)arg5 messageSummaryInfo:(id)arg6;
|
||||||
|
|
||||||
|
+ (instancetype)instantMessageWithAssociatedMessageContent:(NSAttributedString *) content
|
||||||
|
flags:(IMMessageFlags)flags
|
||||||
|
associatedMessageGUID:(NSString*) associatedMessageGUID
|
||||||
|
associatedMessageType:(IMAssociatedMessageType) associatedMessageType
|
||||||
|
associatedMessageRange:(NSRange) associatedMessageRange
|
||||||
|
messageSummaryInfo:(NSDictionary*) messageSummaryInfo
|
||||||
|
threadIdentifier:(NSString *)threadIdentifier;
|
||||||
|
|
||||||
|
+ (instancetype)breadcrumbMessageWithText:(NSAttributedString *)text
|
||||||
|
associatedMessageGUID:(NSString *)messageGUID
|
||||||
|
balloonBundleID:(NSString *)balloonBundleID
|
||||||
|
fileTransferGUIDs:(NSArray<NSString *> *)fileTransferGUIDs
|
||||||
|
payloadData:(NSData *)payloadData
|
||||||
|
threadIdentifier:(NSString *)threadIdentifier;
|
||||||
|
|
||||||
@property(nonatomic) unsigned long long sortID; // @synthesize sortID=_sortID;
|
@property(nonatomic) unsigned long long sortID; // @synthesize sortID=_sortID;
|
||||||
@property(nonatomic) BOOL isSOS; // @synthesize isSOS=_isSOS;
|
@property(nonatomic) BOOL isSOS; // @synthesize isSOS=_isSOS;
|
||||||
@property(retain, nonatomic) NSString *notificationIDSTokenURI; // @synthesize notificationIDSTokenURI=_notificationIDSTokenURI;
|
@property(retain, nonatomic) NSString *notificationIDSTokenURI; // @synthesize notificationIDSTokenURI=_notificationIDSTokenURI;
|
||||||
|
|||||||
@@ -57,6 +57,26 @@
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
- (NSDictionary *)adjustMessageSummaryInfoForSending:(NSDictionary *)messageSummaryInfo
|
||||||
|
{
|
||||||
|
NSMutableDictionary *adjustedInfo = [messageSummaryInfo mutableCopy];
|
||||||
|
if (!adjustedInfo) {
|
||||||
|
adjustedInfo = [NSMutableDictionary dictionary];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ([fullText length] > 50) {
|
||||||
|
summary = [[summary substringToIndex:[summary rangeOfComposedCharacterSequenceAtIndex:kMaxSummaryLength].location] stringByAppendingString:@"…"];
|
||||||
|
adjustedInfo[IMMessageSummaryInfoSummary] = summary;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
adjustedInfo[IMMessageSummaryInfoTapbackRepresentationKey] = @"Loved";
|
||||||
|
|
||||||
|
return adjustedInfo;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
- (void)main
|
- (void)main
|
||||||
{
|
{
|
||||||
NSObject<HTTPResponse> *response = [[HTTPErrorResponse alloc] initWithErrorCode:500];
|
NSObject<HTTPResponse> *response = [[HTTPErrorResponse alloc] initWithErrorCode:500];
|
||||||
@@ -75,6 +95,17 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// tapbacks
|
||||||
|
#if 0
|
||||||
|
IMMessage *acknowledgment = [IMMessage instantMessageWithAssociatedMessageContent: /* [NSString stringWithFormat:@"%@ \"%%@\"", tapbackAction] */
|
||||||
|
flags:0
|
||||||
|
associatedMessageGUID:guid
|
||||||
|
associatedMessageType:IMAssociatedMessageTypeAcknowledgmentHeart
|
||||||
|
associatedMessageRange:[imMessage messagePartRange]
|
||||||
|
messageSummaryInfo:[self adjustMessageSummaryInfoForSending:message]
|
||||||
|
threadIdentifier:[imMessage threadIdentifier]];
|
||||||
|
#endif
|
||||||
|
|
||||||
NSArray *transferGUIDs = [args objectForKey:@"fileTransferGUIDs"];
|
NSArray *transferGUIDs = [args objectForKey:@"fileTransferGUIDs"];
|
||||||
if (!transferGUIDs) {
|
if (!transferGUIDs) {
|
||||||
transferGUIDs = @[];
|
transferGUIDs = @[];
|
||||||
|
|||||||
Reference in New Issue
Block a user