Skip to content

Commit ceab45d

Browse files
committed
bug fixes
1 parent 66f23ed commit ceab45d

File tree

1,191 files changed

+489773
-219
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,191 files changed

+489773
-219
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ core-xprojects/libwebp/build
99
core-xprojects/libopus/build
1010
core-xprojects/ffmpeg/build
1111
core-xprojects/webrtc/build
12+
core-xprojects/libvpx/build
1213
core-xprojects/webrtc/build-debug

Telegram-Mac/AddReactionManager.swift

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,9 @@ final class AddReactionManager : NSObject, Notifable {
595595

596596
func update(transition: ContainedViewLayoutTransition = .immediate) {
597597

598+
view?.tableView.tile()
599+
600+
598601
var available:[AvailableReactions.Reaction] = []
599602
let settings: ReactionSettings = self.settings
600603

@@ -753,20 +756,17 @@ final class AddReactionManager : NSObject, Notifable {
753756
}
754757
}))
755758
} else {
756-
if !self.isInside {
757-
self.clear()
758-
}
759-
}
760-
} else {
761-
if !self.isInside {
762759
self.clear()
763760
}
761+
} else {
762+
self.clear()
764763
}
765764
} else if let itemView = item.view as? ChatRowView {
766765
let rect = itemView.rectForReaction
767766

768767
let base = view.convert(rect, from: itemView)
769768

769+
770770
let safeRect = base.insetBy(dx: -base.width * 4, dy: -base.height * 4)
771771
if !NSPointInRect(inside, safeRect) || !NSPointInRect(NSMakePoint(base.midX, base.midY), view.tableView.frame) {
772772
self.clear()
@@ -776,15 +776,13 @@ final class AddReactionManager : NSObject, Notifable {
776776
}
777777
}
778778
} else {
779-
if !self.isInside {
780-
self.clear()
781-
}
782-
}
783-
} else {
784-
if !self.isInside {
785779
self.clear()
786780
}
781+
} else {
782+
self.clear()
787783
}
784+
} else {
785+
self.clear()
788786
}
789787
}
790788

@@ -840,9 +838,10 @@ final class AddReactionManager : NSObject, Notifable {
840838
}
841839

842840
func notify(with value: Any, oldValue: Any, animated: Bool) {
843-
let presentation = value as? ChatPresentationInterfaceState
844-
if let presentation = presentation {
845-
if presentation.state == .selecting {
841+
let newValue = value as? ChatPresentationInterfaceState
842+
let oldValue = oldValue as? ChatPresentationInterfaceState
843+
if let newValue = newValue, oldValue?.state != newValue.state {
844+
if newValue.state == .selecting {
846845
disabled = true
847846
clear()
848847
removeCurrent(animated: true)

Telegram-Mac/ChatGroupedItem.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,21 @@ class ChatGroupedItem: ChatRowItem {
9999
for entity in attr.entities {
100100
switch entity.type {
101101
case .Spoiler:
102-
spoilers.append(.init(range: NSMakeRange(entity.range.lowerBound, entity.range.upperBound - entity.range.lowerBound), color: theme.colors.text))
102+
spoilers.append(.init(range: NSMakeRange(entity.range.lowerBound, entity.range.upperBound - entity.range.lowerBound), color: theme.colors.text, isRevealed: chatInteraction.presentation.interfaceState.revealedSpoilers.contains(message.id)))
103103
default:
104104
break
105105
}
106106
}
107107
}
108108
}
109109

110-
let layout: ChatRowItem.RowCaption = .init(id: message.stableId, offset: .zero, layout: TextViewLayout(caption, alignment: .left, selectText: theme.chat.selectText(isIncoming, entry.renderType == .bubble), strokeLinks: entry.renderType == .bubble, alwaysStaticItems: true, mayItems: !message.isCopyProtected(), spoilers: spoilers))
110+
let layout: ChatRowItem.RowCaption = .init(id: message.stableId, offset: .zero, layout: TextViewLayout(caption, alignment: .left, selectText: theme.chat.selectText(isIncoming, entry.renderType == .bubble), strokeLinks: entry.renderType == .bubble, alwaysStaticItems: true, mayItems: !message.isCopyProtected(), spoilers: spoilers, onSpoilerReveal: { [weak chatInteraction] in
111+
chatInteraction?.update({
112+
$0.updatedInterfaceState({
113+
$0.withRevealedSpoiler(message.id)
114+
})
115+
})
116+
}))
111117
layout.layout.interactions = globalLinkExecutor
112118
captionLayouts.append(layout)
113119
}

0 commit comments

Comments
 (0)