From 3f4a62f5f9f25b8c8df49f5a9539cab34017cc15 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Thu, 26 Jan 2023 22:18:03 -0500 Subject: [PATCH] Fix changes being published during SwiftUI view update --- Tusker/Screens/Compose/MainComposeTextView.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Tusker/Screens/Compose/MainComposeTextView.swift b/Tusker/Screens/Compose/MainComposeTextView.swift index 5a162ef3..2746acc0 100644 --- a/Tusker/Screens/Compose/MainComposeTextView.swift +++ b/Tusker/Screens/Compose/MainComposeTextView.swift @@ -98,6 +98,7 @@ struct MainComposeWrappedTextView: UIViewRepresentable { if context.coordinator.skipSettingTextOnNextUpdate { context.coordinator.skipSettingTextOnNextUpdate = false } else { + context.coordinator.skipNextAutocompleteUpdate = true uiView.text = text } @@ -185,6 +186,7 @@ struct MainComposeWrappedTextView: UIViewRepresentable { var caretScrollPositionAnimator: UIViewPropertyAnimator? var skipSettingTextOnNextUpdate = false + var skipNextAutocompleteUpdate = false var toolbarElements: [ComposeUIState.ToolbarElement] { [.emojiPicker, .formattingButtons] @@ -324,6 +326,10 @@ struct MainComposeWrappedTextView: UIViewRepresentable { } private func updateAutocompleteState() { + guard !skipNextAutocompleteUpdate else { + skipNextAutocompleteUpdate = false + return + } guard let textView = textView, let text = textView.text, let (lastWordStartIndex, foundFirstAtSign) = findAutocompleteLastWord() else {