                 case .version:
                     // version fallback
                     MessageManager.react(message, emoji: emoji, completion: { _ in
-                        AnalyticsManager.log(
-                            event: .reaction(
-                                subscriptionType: message.subscription?.type.rawValue ?? ""
+                        DispatchQueue.main.async {
+                            AnalyticsManager.log(
+                                event: .reaction(
+                                    subscriptionType: message.subscription?.type.rawValue ?? ""
+                                )
                             )
-                        )
+                        }
                     })
                 default:
                     Alert.defaultError.present()

                switch error {
                case .version:
                    SubscriptionManager.sendTextMessage(message, completion: { response in
                        updateMessage(json: response.result["result"])
                    })
                default:
                    setMessageOffline()


        func updateMessage(json: JSON) {
            let server = AuthManager.selectedServerHost()

            AnalyticsManager.log(event: .messageSent(subscriptionType: subscription.type.rawValue, server: server))

            try? realm?.write {
