diff --git a/android/app/src/main/java/com/statusim/geth/module/GethModule.java b/android/app/src/main/java/com/statusim/geth/module/GethModule.java index 058ab03667..d0b2b286c8 100644 --- a/android/app/src/main/java/com/statusim/geth/module/GethModule.java +++ b/android/app/src/main/java/com/statusim/geth/module/GethModule.java @@ -128,7 +128,12 @@ public class GethModule extends ReactContextBaseJavaModule implements LifecycleE } @ReactMethod - public void startNode(Callback callback) { + public void startNode(Callback callback, Callback onAlreadyRunning) { + + if(GethService.isRunning()){ + onAlreadyRunning.invoke(); + return; + } Activity currentActivity = getCurrentActivity(); @@ -216,4 +221,4 @@ public class GethModule extends ReactContextBaseJavaModule implements LifecycleE return UUID.randomUUID().toString(); } -} \ No newline at end of file +} diff --git a/src/status_im/chat/handlers.cljs b/src/status_im/chat/handlers.cljs index b5cb7ea5a4..72eb4734f3 100644 --- a/src/status_im/chat/handlers.cljs +++ b/src/status_im/chat/handlers.cljs @@ -588,7 +588,9 @@ (register-handler :send-seen! (after (fn [_ [_ chat-id message-id]] + (when-not (= "console" chat-id)) (dispatch [:msg-seen chat-id message-id]))) (u/side-effect! (fn [_ [_ chat-id message-id]] - (api/send-seen chat-id message-id)))) + (when-not (= "console" chat-id) + (api/send-seen chat-id message-id))))) diff --git a/src/status_im/handlers.cljs b/src/status_im/handlers.cljs index 93e417b149..3012b78491 100644 --- a/src/status_im/handlers.cljs +++ b/src/status_im/handlers.cljs @@ -88,7 +88,9 @@ (u/side-effect! (fn [db _] (log/debug "Starting node") - (.startNode geth (fn [result] (node-started db result)))))) + (.startNode geth + (fn [result] (node-started db result)) + #(dispatch [:initialize-protocol]))))) (register-handler :crypt-initialized (u/side-effect! diff --git a/src/status_im/models/messages.cljs b/src/status_im/models/messages.cljs index 05fddb6ac0..a595cdcf68 100644 --- a/src/status_im/models/messages.cljs +++ b/src/status_im/models/messages.cljs @@ -26,7 +26,8 @@ (defn save-message ;; todo remove chat-id parameter - [chat-id {:keys [msg-id content] + [chat-id {:keys [delivery-status msg-id content] + :or {delivery-status :pending} :as message}] (when-not (r/exists? :msgs :msg-id msg-id) (r/write @@ -38,6 +39,7 @@ message {:chat-id chat-id :content content' + :delivery-status delivery-status :timestamp (timestamp)})] (r/create :msgs message' true)))))) @@ -49,13 +51,13 @@ (defn get-messages ([chat-id] (get-messages chat-id 0)) ([chat-id from] - (->> (-> (r/get-by-field :msgs :chat-id chat-id) - (r/sorted :timestamp :desc) - (r/page from (+ from c/default-number-of-messages)) - (r/collection->map)) - (into '()) - reverse - (keep (fn [{:keys [content-type] :as message}] + (->> (-> (r/get-by-field :msgs :chat-id chat-id) + (r/sorted :timestamp :desc) + (r/page from (+ from c/default-number-of-messages)) + (r/collection->map)) + (into '()) + reverse + (keep (fn [{:keys [content-type] :as message}] (if (command-type? content-type) (update message :content str-to-map) message)))))) diff --git a/src/status_im/protocol/handlers.cljs b/src/status_im/protocol/handlers.cljs index 0cc9657540..1ff462d03a 100644 --- a/src/status_im/protocol/handlers.cljs +++ b/src/status_im/protocol/handlers.cljs @@ -18,8 +18,8 @@ (register-handler :initialize-protocol (u/side-effect! - (fn [db [_ account]] - (init-protocol account (make-handler db))))) + (fn [{:keys [user-identity] :as db} [_ account]] + (init-protocol (or account user-identity) (make-handler db))))) (register-handler :protocol-initialized (fn [db [_ identity]]