From d76fcdbf19b678c36f9de9e5d71fc29d4b2dec03 Mon Sep 17 00:00:00 2001 From: Rob Culliton Date: Wed, 14 Nov 2018 17:42:31 -0500 Subject: [PATCH 1/4] display mailserver state and peers count under advanced settings on the desktop profile tab --- .../ui/screens/desktop/main/tabs/profile/views.cljs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs b/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs index bac10be7ab8..c2e1bd54613 100644 --- a/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs +++ b/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs @@ -87,12 +87,18 @@ (views/defview advanced-settings [] (views/letsubs [installations [:pairing/installations] current-mailserver-id [:mailserver/current-id] - mailservers [:mailserver/fleet-mailservers]] - (let [render-fn (offline-messaging.views/render-row current-mailserver-id)] + mailservers [:mailserver/fleet-mailservers] + mailserver-state [:mailserver/state] + peers-count [:peers-count]] + (let [render-fn (offline-messaging.views/render-row current-mailserver-id) + connected-peers-message (str "Connected to " peers-count " peers")] [react/scroll-view [react/text {:style styles/advanced-settings-title :font :medium} (i18n/label :advanced-settings)] + [react/view + [react/text connected-peers-message] + [react/text (str mailserver-state)]] [react/view {:style styles/title-separator}] [react/text {:style styles/mailserver-title} (i18n/label :offline-messaging)] [react/view From e9a7696afb5859c394364c5e8efd4905a0896e2d Mon Sep 17 00:00:00 2001 From: Rob Culliton Date: Sun, 25 Nov 2018 18:53:18 -0500 Subject: [PATCH 2/4] add subscription for node/status --- .../ui/screens/desktop/main/tabs/profile/views.cljs | 5 ++++- src/status_im/ui/screens/subs.cljs | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs b/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs index c2e1bd54613..2722e851fb8 100644 --- a/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs +++ b/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs @@ -89,15 +89,18 @@ current-mailserver-id [:mailserver/current-id] mailservers [:mailserver/fleet-mailservers] mailserver-state [:mailserver/state] + node-status [:node-status] peers-count [:peers-count]] (let [render-fn (offline-messaging.views/render-row current-mailserver-id) - connected-peers-message (str "Connected to " peers-count " peers")] + connected-peers-message (str "Connected to " peers-count " peers") + node-status-message (str "The node is currently " node-status)] [react/scroll-view [react/text {:style styles/advanced-settings-title :font :medium} (i18n/label :advanced-settings)] [react/view [react/text connected-peers-message] + [react/text node-status-message] [react/text (str mailserver-state)]] [react/view {:style styles/title-separator}] [react/text {:style styles/mailserver-title} (i18n/label :offline-messaging)] diff --git a/src/status_im/ui/screens/subs.cljs b/src/status_im/ui/screens/subs.cljs index 50edde3efdc..94fd42e3455 100644 --- a/src/status_im/ui/screens/subs.cljs +++ b/src/status_im/ui/screens/subs.cljs @@ -47,6 +47,7 @@ (reg-sub :sync-state :sync-state) (reg-sub :network-status :network-status) (reg-sub :peers-count :peers-count) +(reg-sub :node-status :node/status) (reg-sub :offline? :<- [:network-status] From b984d10e7251fc2ecd737b54d2d78cf35ef595a6 Mon Sep 17 00:00:00 2001 From: Rob Culliton Date: Sun, 25 Nov 2018 19:38:35 -0500 Subject: [PATCH 3/4] generate one message for connectivity incorporating adam b's rationale --- .../desktop/main/tabs/profile/views.cljs | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs b/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs index 2722e851fb8..36efa4b5e67 100644 --- a/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs +++ b/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs @@ -84,24 +84,38 @@ [pairing.views/sync-devices] [pairing.views/installations-list installations]]) + +(defn connection-status + "generates a composite message of the current connection state given peer and mailserver statuses" + [peers-count node-status mailserver-state peers-disconnected?] + ;; TODO probably not ideal criteria for searching + ;; ask about directly calling rpc method to find discovery.started + (let [searching? (= :starting node-status) + peers-connected? (not peers-disconnected?) + mailserver-connected? (= :connected mailserver-state)] + (cond + (and peers-connected? searching?) "Connected and searching" + (and peers-connected? (not mailserver-connected?)) (str "Connected with " peers-count " peers") + (and peers-connected? mailserver-connected?) (str "Connected with " peers-count " peers including mailserver.") + (and peers-disconnected? searching?) "Disconnected and searching" + :else "Disconnected"))) + (views/defview advanced-settings [] (views/letsubs [installations [:pairing/installations] current-mailserver-id [:mailserver/current-id] mailservers [:mailserver/fleet-mailservers] mailserver-state [:mailserver/state] node-status [:node-status] - peers-count [:peers-count]] + peers-count [:peers-count] + disconnected [:disconnected?]] (let [render-fn (offline-messaging.views/render-row current-mailserver-id) - connected-peers-message (str "Connected to " peers-count " peers") - node-status-message (str "The node is currently " node-status)] + connection-message (connection-status peers-count node-status mailserver-state disconnected)] [react/scroll-view [react/text {:style styles/advanced-settings-title :font :medium} (i18n/label :advanced-settings)] [react/view - [react/text connected-peers-message] - [react/text node-status-message] - [react/text (str mailserver-state)]] + [react/text connection-message]] [react/view {:style styles/title-separator}] [react/text {:style styles/mailserver-title} (i18n/label :offline-messaging)] [react/view From c6446001f7bef45d86fb19aef620f512d07389ed Mon Sep 17 00:00:00 2001 From: Rob Culliton Date: Sun, 25 Nov 2018 19:47:39 -0500 Subject: [PATCH 4/4] include styling (just margin really) for connection status text --- .../ui/screens/desktop/main/tabs/profile/styles.cljs | 4 ++++ src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/status_im/ui/screens/desktop/main/tabs/profile/styles.cljs b/src/status_im/ui/screens/desktop/main/tabs/profile/styles.cljs index 3edbf0e71ba..79968654cd1 100644 --- a/src/status_im/ui/screens/desktop/main/tabs/profile/styles.cljs +++ b/src/status_im/ui/screens/desktop/main/tabs/profile/styles.cljs @@ -163,6 +163,10 @@ {:margin 24 :font-size 20}) +(def connection-message-text + {:margin-left 24 + :margin-bottom 10}) + (def title-separator {:height 1 :background-color colors/gray-light}) diff --git a/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs b/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs index 36efa4b5e67..9ab45661fde 100644 --- a/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs +++ b/src/status_im/ui/screens/desktop/main/tabs/profile/views.cljs @@ -84,7 +84,6 @@ [pairing.views/sync-devices] [pairing.views/installations-list installations]]) - (defn connection-status "generates a composite message of the current connection state given peer and mailserver statuses" [peers-count node-status mailserver-state peers-disconnected?] @@ -115,7 +114,7 @@ :font :medium} (i18n/label :advanced-settings)] [react/view - [react/text connection-message]] + [react/text {:style styles/connection-message-text} connection-message]] [react/view {:style styles/title-separator}] [react/text {:style styles/mailserver-title} (i18n/label :offline-messaging)] [react/view