mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-18 23:48:29 +02:00
vector-im/element-ios/issues/5114 - Polls in the timeline.
This commit is contained in:
@@ -36,6 +36,11 @@ static NSAttributedString *messageSeparator = nil;
|
||||
|
||||
- (BOOL)addEvent:(MXEvent*)event andRoomState:(MXRoomState*)roomState
|
||||
{
|
||||
// Never merge polls
|
||||
if (self.events.firstObject.eventType == MXEventTypePollStart) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
// We group together text messages from the same user (attachments are not merged).
|
||||
if ([event.sender isEqualToString:self.senderId] && (self.attachment == nil) && (self.bubbleComponents.count < self.maxComponentCount))
|
||||
{
|
||||
@@ -85,6 +90,11 @@ static NSAttributedString *messageSeparator = nil;
|
||||
|
||||
- (BOOL)mergeWithBubbleCellData:(id<MXKRoomBubbleCellDataStoring>)bubbleCellData
|
||||
{
|
||||
// Never merge polls
|
||||
if (self.events.firstObject.eventType == MXEventTypePollStart) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
if ([self hasSameSenderAsBubbleCellData:bubbleCellData])
|
||||
{
|
||||
MXKRoomBubbleCellData *cellData = (MXKRoomBubbleCellData*)bubbleCellData;
|
||||
|
||||
@@ -2697,11 +2697,27 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) {
|
||||
- (BOOL)canPerformActionOnEvent:(MXEvent*)event
|
||||
{
|
||||
BOOL isSent = event.sentState == MXEventSentStateSent;
|
||||
BOOL isRoomMessage = event.eventType == MXEventTypeRoomMessage;
|
||||
|
||||
if (!isSent) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
if (event.eventType == MXEventTypePollStart) {
|
||||
return YES;
|
||||
}
|
||||
|
||||
BOOL isRoomMessage = (event.eventType == MXEventTypeRoomMessage);
|
||||
|
||||
if (!isRoomMessage) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
NSString *messageType = event.content[@"msgtype"];
|
||||
if (messageType == nil || [messageType isEqualToString:@"m.bad.encrypted"]) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
return isSent && isRoomMessage && messageType && ![messageType isEqualToString:@"m.bad.encrypted"];
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)setState:(MXKDataSourceState)newState
|
||||
|
||||
Reference in New Issue
Block a user