diff --git a/Tusker/Models/Draft.swift b/Tusker/Models/Draft.swift index 191a40c8..8bc73ce3 100644 --- a/Tusker/Models/Draft.swift +++ b/Tusker/Models/Draft.swift @@ -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() diff --git a/Tusker/Screens/Compose/ComposeView.swift b/Tusker/Screens/Compose/ComposeView.swift index 48e7c677..7524dd53 100644 --- a/Tusker/Screens/Compose/ComposeView.swift +++ b/Tusker/Screens/Compose/ComposeView.swift @@ -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,