diff --git a/src/status_im/chat/models.cljs b/src/status_im/chat/models.cljs index 1ef7a2dc96..b62137c45d 100644 --- a/src/status_im/chat/models.cljs +++ b/src/status_im/chat/models.cljs @@ -4,6 +4,7 @@ [status-im.multiaccounts.model :as multiaccounts.model] [status-im.chat.models.message-list :as message-list] [status-im.data-store.chats :as chats-store] + [status-im.mailserver.core :as mailserver] [status-im.data-store.contacts :as contacts-store] [status-im.ethereum.json-rpc :as json-rpc] [status-im.i18n.i18n :as i18n] @@ -465,12 +466,14 @@ (fx/defn chat-ui-fill-gaps {:events [:chat.ui/fill-gaps]} [{:keys [db] :as cofx} chat-id gap-ids] - (log/info "filling gaps" chat-id gap-ids) - (fx/merge cofx - {:db (assoc db :mailserver/fetching-gaps-in-progress gap-ids)} - (if (= gap-ids #{:first-gap}) - (sync-chat-from-sync-from chat-id) - (fill-gaps chat-id gap-ids)))) + (let [use-status-nodes? (mailserver/fetch-use-mailservers? {:db db})] + (log/info "filling gaps if use-status-nodes = true" chat-id gap-ids) + (when use-status-nodes? + (fx/merge cofx + {:db (assoc db :mailserver/fetching-gaps-in-progress gap-ids)} + (if (= gap-ids #{:first-gap}) + (sync-chat-from-sync-from chat-id) + (fill-gaps chat-id gap-ids)))))) (fx/defn chat-ui-remove-chat-pressed {:events [:chat.ui/remove-chat-pressed]} diff --git a/src/status_im/subs.cljs b/src/status_im/subs.cljs index 3ccccb9dc8..6efad4d464 100644 --- a/src/status_im/subs.cljs +++ b/src/status_im/subs.cljs @@ -13,6 +13,7 @@ [status-im.ethereum.tokens :as tokens] [status-im.ethereum.transactions.core :as transactions] [status-im.fleet.core :as fleet] + [status-im.mailserver.core :as mailserver] [status-im.group-chats.db :as group-chats.db] [status-im.communities.core :as communities] [status-im.group-chats.core :as group-chat] @@ -2486,6 +2487,11 @@ (= (get-in mailserver [:id :value]) current-mailserver-id))) +(re-frame/reg-sub + :mailserver/use-status-nodes? + (fn [db _] + (boolean (mailserver/fetch-use-mailservers? {:db db})))) + (re-frame/reg-sub :mailserver.edit/validation-errors :<- [:mailserver.edit/mailserver] diff --git a/src/status_im/ui/screens/chat/message/gap.cljs b/src/status_im/ui/screens/chat/message/gap.cljs index d67828185d..8efaa16a70 100644 --- a/src/status_im/ui/screens/chat/message/gap.cljs +++ b/src/status_im/ui/screens/chat/message/gap.cljs @@ -17,18 +17,19 @@ gap-ids chat-id] connected? [:mailserver/connected?] + use-status-nodes? [:mailserver/use-status-nodes?] first-gap? (= gap-ids #{:first-gap})] (when (or (not first-gap?) public? community?) [react/view {:style (style/gap-container)} [react/touchable-highlight - {:on-press (when (and connected? (not in-progress?)) + {:on-press (when (and (not in-progress?) use-status-nodes? connected?) (on-press chat-id gap-ids)) :style style/touchable} [react/view {:style style/label-container} (if in-progress? [react/activity-indicator] [react/nested-text - {:style (style/gap-text connected?)} + {:style (style/gap-text (and connected? use-status-nodes?))} (i18n/label (if first-gap? :t/load-more-messages :t/fetch-messages)) (when first-gap? [{:style style/date}