Compare commits
2 Commits
0e60e74a8a
...
cf63384dce
Author | SHA1 | Date |
---|---|---|
Shadowfacts | cf63384dce | |
Shadowfacts | 733d50b642 |
|
@ -29,6 +29,12 @@ class Draft: Codable, ObservableObject {
|
|||
attachments.count > 0
|
||||
}
|
||||
|
||||
var textForPosting: String {
|
||||
// when using dictation, iOS sometimes leaves a U+FFFC OBJECT REPLACEMENT CHARACTER behind in the text,
|
||||
// which we want to strip out before actually posting the status
|
||||
text.replacingOccurrences(of: "\u{fffc}", with: "")
|
||||
}
|
||||
|
||||
init(accountID: String) {
|
||||
self.id = UUID()
|
||||
self.lastModified = Date()
|
||||
|
|
|
@ -197,7 +197,7 @@ struct ComposeView: View {
|
|||
self.isPosting = false
|
||||
|
||||
case let .success(uploadedAttachments):
|
||||
let request = Client.createStatus(text: draft.text,
|
||||
let request = Client.createStatus(text: draft.textForPosting,
|
||||
contentType: Preferences.shared.statusContentType,
|
||||
inReplyTo: draft.inReplyToID,
|
||||
media: uploadedAttachments,
|
||||
|
|
|
@ -149,20 +149,18 @@ struct MainComposeWrappedTextView: UIViewRepresentable {
|
|||
context.coordinator.didChange = textDidChange
|
||||
context.coordinator.uiState = uiState
|
||||
|
||||
if becomeFirstResponder {
|
||||
DispatchQueue.main.async {
|
||||
// wait until the next runloop iteration so that SwiftUI view updates have finished and
|
||||
// the text view knows its new content size
|
||||
DispatchQueue.main.async {
|
||||
self.textDidChange(uiView)
|
||||
|
||||
if becomeFirstResponder {
|
||||
// calling becomeFirstResponder during the SwiftUI update causes a crash on iOS 13
|
||||
uiView.becomeFirstResponder()
|
||||
// can't update @State vars during the SwiftUI update
|
||||
becomeFirstResponder = false
|
||||
}
|
||||
}
|
||||
|
||||
// wait until the next runloop iteration so that SwiftUI view updates have finished and
|
||||
// the text view knows its new content size
|
||||
DispatchQueue.main.async {
|
||||
self.textDidChange(uiView)
|
||||
}
|
||||
}
|
||||
|
||||
func makeCoordinator() -> Coordinator {
|
||||
|
|
Loading…
Reference in New Issue