Fix pasting using compose app shortcut while app isn't running
This commit is contained in:
parent
c224d11417
commit
b5fa0bceab
|
@ -88,11 +88,16 @@ class MastodonController {
|
|||
}
|
||||
}
|
||||
|
||||
func getOwnInstance() {
|
||||
let request = Client.getInstance()
|
||||
run(request) { (response) in
|
||||
guard case let .success(instance, _) = response else { fatalError() }
|
||||
self.instance = instance
|
||||
func getOwnInstance(completion: ((Instance) -> Void)? = nil) {
|
||||
if let instance = self.instance {
|
||||
completion?(instance)
|
||||
} else {
|
||||
let request = Client.getInstance()
|
||||
run(request) { (response) in
|
||||
guard case let .success(instance, _) = response else { fatalError() }
|
||||
self.instance = instance
|
||||
completion?(instance)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -137,9 +137,15 @@ class ComposeViewController: UIViewController {
|
|||
|
||||
// we have to set the font here, because the monospaced digit font is not available in IB
|
||||
charactersRemainingLabel.font = .monospacedDigitSystemFont(ofSize: 17, weight: .regular)
|
||||
updateCharactersRemaining()
|
||||
updatePlaceholder()
|
||||
|
||||
// if the compose screen is opened via the home screen shortcut and app isn't running,
|
||||
// the msatodon instance may not have been loaded yet
|
||||
mastodonController.getOwnInstance { (_) in
|
||||
DispatchQueue.main.async {
|
||||
self.updateCharactersRemaining()
|
||||
}
|
||||
}
|
||||
|
||||
composeAttachmentsViewController = ComposeAttachmentsViewController(attachments: currentDraft?.attachments ?? [], mastodonController: mastodonController)
|
||||
composeRequiresAttachmentDescriptionsDidChange()
|
||||
composeAttachmentsViewController.delegate = self
|
||||
|
@ -266,7 +272,7 @@ class ComposeViewController: UIViewController {
|
|||
func updateCharactersRemaining() {
|
||||
let count = CharacterCounter.count(text: statusTextView.text)
|
||||
let cwCount = contentWarningEnabled ? (contentWarningTextField.text?.count ?? 0) : 0
|
||||
let remaining = (mastodonController.instance.maxStatusCharacters ?? 500) - count - cwCount
|
||||
let remaining = (mastodonController.instance?.maxStatusCharacters ?? 500) - count - cwCount
|
||||
if remaining < 0 {
|
||||
charactersRemainingLabel.textColor = .red
|
||||
compositionState.formUnion(.tooManyCharacters)
|
||||
|
|
Loading…
Reference in New Issue