mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Show a toast and don't highlight bubbles randomly when navigating to a deleted message via link
This commit is contained in:
parent
cd75f7e364
commit
bb28e0e4d3
@ -4526,9 +4526,11 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
|||||||
strongSelf.chatDisplayNode.updatePlainInputSeparatorAlpha(plainInputSeparatorAlpha, transition: .animated(duration: 0.2, curve: .easeInOut))
|
strongSelf.chatDisplayNode.updatePlainInputSeparatorAlpha(plainInputSeparatorAlpha, transition: .animated(duration: 0.2, curve: .easeInOut))
|
||||||
}
|
}
|
||||||
|
|
||||||
self.chatDisplayNode.historyNode.scrolledToIndex = { [weak self] toIndex in
|
self.chatDisplayNode.historyNode.scrolledToIndex = { [weak self] toIndex, initial in
|
||||||
if let strongSelf = self, case let .message(index) = toIndex {
|
if let strongSelf = self, case let .message(index) = toIndex {
|
||||||
if let controllerInteraction = strongSelf.controllerInteraction {
|
if case let .message(messageId, _) = strongSelf.subject, initial, messageId != index.id {
|
||||||
|
strongSelf.present(UndoOverlayController(presentationData: strongSelf.presentationData, content: .info(text: strongSelf.presentationData.strings.Conversation_MessageDoesntExist), elevatedLayout: false, action: { _ in return true }), in: .current)
|
||||||
|
} else if let controllerInteraction = strongSelf.controllerInteraction {
|
||||||
if let message = strongSelf.chatDisplayNode.historyNode.messageInCurrentHistoryView(index.id) {
|
if let message = strongSelf.chatDisplayNode.historyNode.messageInCurrentHistoryView(index.id) {
|
||||||
let highlightedState = ChatInterfaceHighlightedState(messageStableId: message.stableId)
|
let highlightedState = ChatInterfaceHighlightedState(messageStableId: message.stableId)
|
||||||
controllerInteraction.highlightedState = highlightedState
|
controllerInteraction.highlightedState = highlightedState
|
||||||
|
@ -545,7 +545,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
|||||||
private var maxVisibleMessageIndexReported: MessageIndex?
|
private var maxVisibleMessageIndexReported: MessageIndex?
|
||||||
var maxVisibleMessageIndexUpdated: ((MessageIndex) -> Void)?
|
var maxVisibleMessageIndexUpdated: ((MessageIndex) -> Void)?
|
||||||
|
|
||||||
var scrolledToIndex: ((MessageHistoryAnchorIndex) -> Void)?
|
var scrolledToIndex: ((MessageHistoryAnchorIndex, Bool) -> Void)?
|
||||||
var scrolledToSomeIndex: (() -> Void)?
|
var scrolledToSomeIndex: (() -> Void)?
|
||||||
var beganDragging: (() -> Void)?
|
var beganDragging: (() -> Void)?
|
||||||
|
|
||||||
@ -1887,7 +1887,13 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
|||||||
|
|
||||||
if let scrolledToIndex = transition.scrolledToIndex {
|
if let scrolledToIndex = transition.scrolledToIndex {
|
||||||
if let strongSelf = self {
|
if let strongSelf = self {
|
||||||
strongSelf.scrolledToIndex?(scrolledToIndex)
|
let isInitial: Bool
|
||||||
|
if case .Initial = transition.reason {
|
||||||
|
isInitial = true
|
||||||
|
} else {
|
||||||
|
isInitial = false
|
||||||
|
}
|
||||||
|
strongSelf.scrolledToIndex?(scrolledToIndex, isInitial)
|
||||||
}
|
}
|
||||||
} else if transition.scrolledToSomeIndex {
|
} else if transition.scrolledToSomeIndex {
|
||||||
self?.scrolledToSomeIndex?()
|
self?.scrolledToSomeIndex?()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user