Skip to content

Commit 29678db

Browse files
committed
Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios
2 parents c5a0ad2 + 8e9cd79 commit 29678db

2 files changed

Lines changed: 17 additions & 9 deletions

File tree

Telegram/NotificationService/Sources/NotificationService.swift

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1978,13 +1978,18 @@ private final class NotificationServiceHandler {
19781978
if let media = message.media.first {
19791979
parsedMedia = media
19801980
}
1981-
if enableInlineEmoji, let textEntitiesAttribute = message.textEntitiesAttribute {
1982-
content.body = message.text
1981+
if enableInlineEmoji, let textEntitiesAttribute = message.textEntitiesAttribute, let author = message.author {
1982+
let authorTitle = author.debugDisplayTitle
1983+
let messagePrefix = "\(authorTitle): "
1984+
let messagePrefixLength = (messagePrefix as NSString).length
19831985
for entity in textEntitiesAttribute.entities {
19841986
if case let .CustomEmoji(_, fileId) = entity.type {
1985-
content.customEmoji.append(NotificationContent.CustomEmoji(range: entity.range, fileId: fileId))
1987+
content.customEmoji.append(NotificationContent.CustomEmoji(range: (entity.range.lowerBound + messagePrefixLength) ..< (entity.range.upperBound + messagePrefixLength), fileId: fileId))
19861988
}
19871989
}
1990+
if !content.customEmoji.isEmpty {
1991+
content.body = messagePrefix + message.text
1992+
}
19881993
}
19891994
}
19901995

submodules/TelegramApi/Sources/Buffer.swift

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -363,13 +363,16 @@ public class BufferReader {
363363
if count == 0 {
364364
return 0
365365
}
366-
else if count > 0 && count <= 4 || self.offset + UInt(count) <= self.buffer._size {
367-
var value: Int32 = 0
368-
memcpy(&value, self.buffer.data?.advanced(by: Int(self.offset)), count)
369-
self.offset += UInt(count)
370-
return value
366+
guard count > 0, count <= 4, self.offset + UInt(count) <= self.buffer._size else {
367+
return nil
371368
}
372-
return nil
369+
guard let bufferData = self.buffer.data else {
370+
return nil
371+
}
372+
var value: Int32 = 0
373+
memcpy(&value, bufferData.advanced(by: Int(self.offset)), count)
374+
self.offset += UInt(count)
375+
return value
373376
}
374377

375378
public func readBuffer(_ count: Int) -> Buffer? {

0 commit comments

Comments
 (0)