diff --git a/src/native_module/core.cljs b/src/native_module/core.cljs index c549912fa3d0..2585a2aba1f4 100644 --- a/src/native_module/core.cljs +++ b/src/native_module/core.cljs @@ -40,23 +40,6 @@ config #(callback (types/json->clj %)))) -(defn save-account-and-login - "NOTE: beware, the password has to be sha3 hashed" - [key-uid multiaccount-data hashed-password settings config accounts-data] - (log/debug "[native-module] save-account-and-login" - "multiaccount-data" - multiaccount-data) - (clear-web-data) - (init-keystore - key-uid - #(.saveAccountAndLogin - ^js (status) - multiaccount-data - hashed-password - settings - config - accounts-data))) - (defn save-multiaccount-and-login-with-keycard "NOTE: chat-key is a whisper private key sent from keycard" [key-uid multiaccount-data password settings config accounts-data chat-key] diff --git a/src/status_im/fleet/core.cljs b/src/status_im/fleet/core.cljs index 022b8bb1189d..4cb98a491f73 100644 --- a/src/status_im/fleet/core.cljs +++ b/src/status_im/fleet/core.cljs @@ -78,10 +78,9 @@ [{:keys [db now] :as cofx} fleet] (let [old-fleet (get-in db [:profile/profile :fleet])] (when (not= fleet old-fleet) - (rf/merge + (multiaccounts.update/multiaccount-update cofx - (multiaccounts.update/multiaccount-update :fleet fleet {}) - (node/prepare-new-config - {:on-success - #(re-frame/dispatch - [:multiaccounts.update.callback/save-settings-success])}))))) + :fleet + fleet + {:on-success + #(re-frame/dispatch [:logout])})))) diff --git a/src/status_im/keycard/recovery.cljs b/src/status_im/keycard/recovery.cljs index f37297296d64..4b77737ee47f 100644 --- a/src/status_im/keycard/recovery.cljs +++ b/src/status_im/keycard/recovery.cljs @@ -17,7 +17,6 @@ [taoensso.timbre :as log] [utils.address :as address] [utils.datetime :as datetime] - [utils.ethereum.eip.eip55 :as eip55] [utils.i18n :as i18n] [utils.re-frame :as rf] [utils.security.core :as security])) @@ -183,26 +182,28 @@ {:db (-> db (assoc-in [:keycard :setup-step] nil) (dissoc :intro-wizard))} - (multiaccounts.create/on-multiaccount-created - {:recovered (or recovered (get-in db [:intro-wizard :recovering?])) - :derived {constants/path-wallet-root-keyword - {:public-key wallet-root-public-key - :address (eip55/address->checksum wallet-root-address)} - constants/path-whisper-keyword - {:public-key whisper-public-key - :address (eip55/address->checksum whisper-address)} - constants/path-default-wallet-keyword - {:public-key wallet-public-key - :address (eip55/address->checksum wallet-address)}} - :address address - :public-key public-key - :keycard-instance-uid instance-uid - :key-uid (address/normalized-hex key-uid) - :keycard-pairing pairing - :keycard-paired-on paired-on - :chat-key whisper-private-key} - encryption-public-key - {})))) + ;; NOTE: Disabling as keycard not functional and this needs to be moved to + ;; status-go + #_(multiaccounts.create/on-multiaccount-created + {:recovered (or recovered (get-in db [:intro-wizard :recovering?])) + :derived {constants/path-wallet-root-keyword + {:public-key wallet-root-public-key + :address (eip55/address->checksum wallet-root-address)} + constants/path-whisper-keyword + {:public-key whisper-public-key + :address (eip55/address->checksum whisper-address)} + constants/path-default-wallet-keyword + {:public-key wallet-public-key + :address (eip55/address->checksum wallet-address)}} + :address address + :public-key public-key + :keycard-instance-uid instance-uid + :key-uid (address/normalized-hex key-uid) + :keycard-pairing pairing + :keycard-paired-on paired-on + :chat-key whisper-private-key} + encryption-public-key + {})))) (rf/defn return-to-keycard-login [{:keys [db] :as cofx}] diff --git a/src/status_im/keycard/simulated_keycard.cljs b/src/status_im/keycard/simulated_keycard.cljs index 734208c0ca6a..cc3c8db46d63 100644 --- a/src/status_im/keycard/simulated_keycard.cljs +++ b/src/status_im/keycard/simulated_keycard.cljs @@ -489,14 +489,15 @@ (log/warn "sign-typed-data not implemented" args)) (defn save-multiaccount-and-login - [{:keys [key-uid multiaccount-data password settings node-config accounts-data]}] - (native-module/save-account-and-login - key-uid - (types/clj->json multiaccount-data) - password - (types/clj->json settings) - node-config - (types/clj->json accounts-data))) + [_] + ;; NOTE: disabling as we don't support keycard for now and it's using an outdated endpoint + #_(native-module/save-account-and-login + key-uid + (types/clj->json multiaccount-data) + password + (types/clj->json settings) + node-config + (types/clj->json accounts-data))) (defn login [{:keys [key-uid multiaccount-data password]}] diff --git a/src/status_im/log_level/core.cljs b/src/status_im/log_level/core.cljs index 3dd31d0d0596..c8b581c79f2a 100644 --- a/src/status_im/log_level/core.cljs +++ b/src/status_im/log_level/core.cljs @@ -2,7 +2,6 @@ (:require [re-frame.core :as re-frame] [status-im.multiaccounts.update.core :as multiaccounts.update] - [status-im.node.core :as node] [utils.i18n :as i18n] [utils.re-frame :as rf])) @@ -11,13 +10,11 @@ [{:keys [db now] :as cofx} log-level] (let [old-log-level (get-in db [:profile/profile :log-level])] (when (not= old-log-level log-level) - (rf/merge cofx - (multiaccounts.update/multiaccount-update - :log-level - log-level - {}) - (node/prepare-new-config - {:on-success #(re-frame/dispatch [:logout])}))))) + (multiaccounts.update/multiaccount-update + cofx + :log-level + log-level + {:on-success #(re-frame/dispatch [:logout])})))) (rf/defn show-change-log-level-confirmation {:events [:log-level.ui/log-level-selected]} diff --git a/src/status_im/multiaccounts/create/core.cljs b/src/status_im/multiaccounts/create/core.cljs index bbb918c40275..0616daddda6b 100644 --- a/src/status_im/multiaccounts/create/core.cljs +++ b/src/status_im/multiaccounts/create/core.cljs @@ -2,17 +2,10 @@ (:require [native-module.core :as native-module] [re-frame.core :as re-frame] - [status-im.data-store.settings :as data-store.settings] - [status-im.node.core :as node] - [status-im.ui.components.colors :as colors] [status-im.utils.deprecated-types :as types] [status-im.utils.signing-phrase.core :as signing-phrase] - [status-im2.config :as config] [status-im2.constants :as constants] - [utils.ethereum.eip.eip55 :as eip55] - [utils.i18n :as i18n] - [utils.re-frame :as rf] - [utils.security.core :as security])) + [utils.re-frame :as rf])) (defn normalize-derived-data-keys [derived-data] @@ -82,134 +75,3 @@ (rf/defn save-multiaccount-and-login-with-keycard [_ args] {:keycard/save-multiaccount-and-login args}) - -(re-frame/reg-fx - ::save-account-and-login - (fn [[key-uid multiaccount-data hashed-password settings config accounts-data]] - (native-module/save-account-and-login - key-uid - multiaccount-data - hashed-password - settings - config - accounts-data))) - -(rf/defn save-account-and-login - [_ key-uid multiaccount-data password settings node-config accounts-data] - {::save-account-and-login [key-uid - (types/clj->json multiaccount-data) - password - (types/clj->json settings) - node-config - (types/clj->json accounts-data)]}) - -(defn prepare-accounts-data - [multiaccount] - [(let [{:keys [public-key address]} - (get-in multiaccount [:derived constants/path-default-wallet-keyword])] - {:public-key public-key - :address (eip55/address->checksum address) - :color colors/blue-persist - :wallet true - :path constants/path-default-wallet - :name (i18n/label :t/main-account)}) - (let [{:keys [compressed-key public-key address name]} - (get-in multiaccount [:derived constants/path-whisper-keyword])] - {:public-key public-key - :compressed-key compressed-key - :address (eip55/address->checksum address) - :name name - :path constants/path-whisper - :chat true})]) - -(rf/defn on-multiaccount-created - [{:keys [signing-phrase random-guid-generator db] :as cofx} - {:keys [address chat-key keycard-instance-uid key-uid - keycard-pairing keycard-paired-on mnemonic recovered] - :as multiaccount} - password - {:keys [save-mnemonic? login?] :or {login? true save-mnemonic? false}}] - (let [[wallet-account - {:keys [public-key - compressed-key - name]} :as accounts-data] - (prepare-accounts-data - multiaccount) - multiaccount-data {:name name - :address address - :key-uid key-uid - :keycard-pairing keycard-pairing} - keycard-multiaccount? (boolean keycard-pairing) - eip1581-address (get-in multiaccount - [:derived - constants/path-eip1581-keyword - :address]) - new-multiaccount - (cond-> - (merge - {;; address of the master key - :address address - ;; sha256 of master public key - :key-uid key-uid - ;; The address from which we derive any wallet - :wallet-root-address - (get-in multiaccount - [:derived - constants/path-wallet-root-keyword - :address]) - :name name - ;; public key of the chat account - :public-key public-key - ;; compressed key of the chat account - :compressed-key compressed-key - ;; default address for Dapps - :dapps-address (:address wallet-account) - :latest-derived-path 0 - :signing-phrase signing-phrase - :backup-enabled? true - :installation-id (random-guid-generator) - ;; default mailserver (history node) setting - :use-mailservers? true - :recovered recovered} - config/default-multiaccount) - ;; The address from which we derive any chat - ;; account/encryption keys - eip1581-address - (assoc :eip1581-address eip1581-address) - save-mnemonic? - (assoc :mnemonic mnemonic) - keycard-multiaccount? - (assoc :keycard-instance-uid keycard-instance-uid - :keycard-pairing keycard-pairing - :keycard-paired-on keycard-paired-on)) - db (assoc db - :profile/login {:key-uid key-uid - :name name - :password password - :creating? true - :processing true} - :profile/profile new-multiaccount - :profile/wallet-accounts [wallet-account] - :networks/current-network config/default-network - :networks/networks (data-store.settings/rpc->networks config/default-networks)) - settings (assoc new-multiaccount - :networks/current-network config/default-network - :networks/networks config/default-networks)] - (rf/merge cofx - {:db db} - (if keycard-multiaccount? - (save-multiaccount-and-login-with-keycard - {:key-uid key-uid - :multiaccount-data multiaccount-data - :password password - :settings settings - :node-config (node/get-new-config db) - :accounts-data accounts-data - :chat-key chat-key}) - (save-account-and-login - key-uid - multiaccount-data - (native-module/sha3 (security/safe-unmask-data password)) - settings - (node/get-new-config db) - accounts-data))))) diff --git a/src/status_im/network/core.cljs b/src/status_im/network/core.cljs index 463758209ad9..2fb9ad18863e 100644 --- a/src/status_im/network/core.cljs +++ b/src/status_im/network/core.cljs @@ -2,7 +2,6 @@ (:require [clojure.string :as string] [re-frame.core :as re-frame] - [status-im.node.core :as node] [status-im2.navigation.events :as navigation] [utils.ethereum.chain :as chain] [utils.i18n :as i18n] @@ -117,12 +116,10 @@ (rf/defn save-network-settings {:events [::save-network-settings-pressed]} [{:keys [db] :as cofx} network] - (rf/merge cofx - {:db (assoc db :networks/current-network network) - :json-rpc/call [{:method "settings_saveSetting" - :params [:networks/current-network network] - :on-success #()}]} - (node/prepare-new-config {:on-success #(re-frame/dispatch [:logout])}))) + {:db (assoc db :networks/current-network network) + :json-rpc/call [{:method "settings_saveSetting" + :params [:networks/current-network network] + :on-success #(re-frame/dispatch [:logout])}]}) (rf/defn remove-network {:events [::remove-network-confirmed]} diff --git a/src/status_im/node/core.cljs b/src/status_im/node/core.cljs index 50d581e9e5e1..8f36955965b1 100644 --- a/src/status_im/node/core.cljs +++ b/src/status_im/node/core.cljs @@ -1,12 +1,9 @@ (ns status-im.node.core (:require [clojure.string :as string] - [native-module.core :as native-module] - [re-frame.core :as re-frame] [react-native.platform :as platform] [status-im.utils.deprecated-types :as types] - [status-im2.config :as config] - [utils.re-frame :as rf])) + [status-im2.config :as config])) (defn- add-custom-bootnodes [config network all-bootnodes] @@ -196,32 +193,4 @@ :always (add-log-level log-level)))) -(defn get-new-config - [db] - (types/clj->json (get-multiaccount-node-config db))) - -(rf/defn save-new-config - "Saves a new status-go config for the current account - This RPC method is the only way to change the node config of an account. - NOTE: it is better used indirectly through `prepare-new-config`, - which will take care of building up the proper config based on settings in -app-db" - {:events [::save-new-config]} - [_ config {:keys [on-success]}] - {:json-rpc/call [{:method "settings_saveSetting" - :params [:node-config config] - :on-success on-success}]}) - -(rf/defn prepare-new-config - "Use this function to apply settings to the current account node config" - [{:keys [db]} {:keys [on-success]}] - (let [key-uid (get-in db [:profile/profile :key-uid])] - {::prepare-new-config [key-uid - (get-new-config db) - #(re-frame/dispatch - [::save-new-config % {:on-success on-success}])]})) - -(re-frame/reg-fx - ::prepare-new-config - (fn [[key-uid config callback]] - (native-module/prepare-dir-and-update-config key-uid config callback))) + diff --git a/src/status_im/ui/screens/advanced_settings/views.cljs b/src/status_im/ui/screens/advanced_settings/views.cljs index 3a70aa54d201..9655cb5de51c 100644 --- a/src/status_im/ui/screens/advanced_settings/views.cljs +++ b/src/status_im/ui/screens/advanced_settings/views.cljs @@ -10,9 +10,8 @@ (defn- normal-mode-settings-data [{:keys [network-name current-log-level - waku-bloom-filter-mode + light-client-enabled? transactions-management-enabled? - wakuv2-flag current-fleet webview-debug]}] (keep @@ -49,19 +48,12 @@ :accessory :text :accessory-text current-fleet :chevron true} - (if wakuv2-flag - {:size :small - :title (i18n/label :t/wakuv2-settings) - :accessibility-label :wakuv2-settings-button - :on-press - #(re-frame/dispatch [:wakuv2.ui/enter-settings-pressed]) - :chevron true} - {:size :small - :title (i18n/label :t/bootnodes) - :accessibility-label :bootnodes-settings-button - :on-press - #(re-frame/dispatch [:navigate-to :bootnodes-settings]) - :chevron true}) + {:size :small + :title (i18n/label :t/wakuv2-settings) + :accessibility-label :wakuv2-settings-button + :on-press + #(re-frame/dispatch [:wakuv2.ui/enter-settings-pressed]) + :chevron true} {:size :small :title (i18n/label :t/rpc-usage-info) :accessibility-label :rpc-usage-info @@ -76,6 +68,15 @@ :on-press #(re-frame/dispatch [:navigate-to :peers-stats]) :chevron true} + {:size :small + :title (i18n/label :t/light-client-enabled) + :accessibility-label :light-client-enabled + :container-margin-bottom 8 + :on-press + #(re-frame/dispatch + [:wakuv2.ui/toggle-light-client (not light-client-enabled?)]) + :accessory :switch + :active light-client-enabled?} {:size :small :title (i18n/label :t/transactions-management-enabled) :accessibility-label :transactions-management-enabled @@ -94,16 +95,7 @@ #(re-frame/dispatch [:profile.settings/change-webview-debug (not webview-debug)]) :accessory :switch - :active webview-debug} - {:size :small - :title (i18n/label :t/waku-bloom-filter-mode) - :accessibility-label :waku-bloom-filter-mode-settings-switch - :container-margin-bottom 8 - :on-press - #(re-frame/dispatch - [:multiaccounts.ui/waku-bloom-filter-mode-switched (not waku-bloom-filter-mode)]) - :accessory :switch - :active waku-bloom-filter-mode}])) + :active webview-debug}])) (defn- flat-list-data [options] @@ -117,10 +109,9 @@ (views/defview advanced-settings [] - (views/letsubs [{:keys [webview-debug]} [:profile/profile] + (views/letsubs [webview-debug [:profile/webview-debug] + light-client-enabled? [:profile/light-client-enabled?] network-name [:network-name] - waku-bloom-filter-mode [:waku/bloom-filter-mode] - wakuv2-flag [:waku/v2-flag] transactions-management-enabled? [:wallet-legacy/transactions-management-enabled?] current-log-level [:log-level/current-log-level] current-fleet [:fleets/current-fleet]] @@ -129,10 +120,9 @@ {:network-name network-name :current-log-level current-log-level :transactions-management-enabled? transactions-management-enabled? + :light-client-enabled? light-client-enabled? :current-fleet current-fleet :dev-mode? false - :wakuv2-flag wakuv2-flag - :waku-bloom-filter-mode waku-bloom-filter-mode :webview-debug webview-debug}) :key-fn (fn [_ i] (str i)) :render-fn render-item}])) diff --git a/src/status_im/waku/core.cljs b/src/status_im/waku/core.cljs index 47f47861488a..ee1b7667cba2 100644 --- a/src/status_im/waku/core.cljs +++ b/src/status_im/waku/core.cljs @@ -2,22 +2,11 @@ (:require [clojure.string :as string] [re-frame.core :as re-frame] - [status-im.multiaccounts.update.core :as multiaccounts.update] - [status-im.node.core :as node] [status-im2.navigation.events :as navigation] + [taoensso.timbre :as log] [utils.i18n :as i18n] [utils.re-frame :as rf])) -(rf/defn switch-waku-bloom-filter-mode - {:events [:multiaccounts.ui/waku-bloom-filter-mode-switched]} - [cofx enabled?] - (rf/merge cofx - (multiaccounts.update/multiaccount-update - :waku-bloom-filter-mode - enabled? - {}) - (node/prepare-new-config - {:on-success #(re-frame/dispatch [:logout])}))) (def address-regex #"/ip4/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/tcp/\d{1,5}/p2p/[a-zA-Z0-9]+") @@ -108,13 +97,16 @@ vals (map #(vector (:name %1) (:address %1))) (into {}))] - (rf/merge cofx - {:db (-> db - (assoc-in [:profile/profile :wakuv2-config :CustomNodes] new-nodes) - (dissoc :wakuv2-nodes/manage :wakuv2-nodes/list)) - :dispatch [:navigate-back]} - (node/prepare-new-config - {:on-success #(re-frame/dispatch [:logout])})))) + {:db (-> db + (assoc-in [:profile/profile :wakuv2-config :CustomNodes] new-nodes) + (dissoc :wakuv2-nodes/manage :wakuv2-nodes/list)) + :json-rpc/call [{:method "wakuext_setCustomNodes" + :params [{:customNodes new-nodes}] + :on-success #(log/info "updated custom nodes") + :on-error #(log/error "failed to set custom nodes" + {:error % + :custom-nodes new-nodes})}] + :dispatch [:navigate-back]})) (rf/defn show-delete-node-confirmation {:events [:wakuv2.ui/delete-pressed]} @@ -131,3 +123,17 @@ (rf/merge cofx (delete id) (navigation/navigate-back))) + +(rf/defn toggle-light-client + {:events [:wakuv2.ui/toggle-light-client]} + [{:keys [db]} enabled?] + {:db (assoc-in db [:profile/profile :wakuv2-config :LightClient] enabled?) + + :json-rpc/call [{:method "wakuext_setLightClient" + :params [{:enabled enabled?}] + :on-success (fn [] + (log/info "light client set successfully" enabled?) + (re-frame/dispatch [:logout])) + :on-error #(log/error "failed to set light client" + {:error % + :enabled? enabled?})}]}) diff --git a/src/status_im2/common/home/actions/view.cljs b/src/status_im2/common/home/actions/view.cljs index 3325f9f831e6..96dde9d94e23 100644 --- a/src/status_im2/common/home/actions/view.cljs +++ b/src/status_im2/common/home/actions/view.cljs @@ -6,8 +6,10 @@ [status-im2.common.confirmation-drawer.view :as confirmation-drawer] [status-im2.common.mute-drawer.view :as mute-drawer] [status-im2.common.muting.helpers :refer [format-mute-till]] + [status-im2.config :as config] [status-im2.constants :as constants] - [status-im2.contexts.communities.actions.chat.view :as chat-actions] + [status-im2.contexts.chat.actions.view :as chat-actions] + [status-im2.contexts.communities.actions.chat.view :as communities-chat-actions] [status-im2.contexts.contacts.drawers.nickname-drawer.view :as nickname-drawer] [utils.i18n :as i18n] [utils.re-frame :as rf])) @@ -253,16 +255,6 @@ :chevron? true :add-divider? add-divider?})) -;; TODO(OmarBasem): Requires design input. -(defn fetch-messages-entry - [] - (entry {:icon :i/save - :label (i18n/label :t/fetch-messages) - :on-press #(js/alert "TODO: to be implemented, requires design input") - :danger? false - :accessibility-label :fetch-messages - :sub-label nil - :chevron? true})) (defn remove-from-contacts-entry [contact] @@ -419,8 +411,8 @@ [(mark-as-read-entry chat-id needs-divider?) (mute-chat-entry chat-id chat-type muted-till) (notifications-entry false) - (when inside-chat? - (fetch-messages-entry)) + (when (and config/fetch-messages-enabled? inside-chat?) + (chat-actions/fetch-messages chat-id)) (when (or (not group-chat) public?) (show-qr-entry)) (when-not group-chat @@ -481,7 +473,7 @@ constants/private-group-chat-type [private-group-chat-actions chat inside-chat?] constants/community-chat-type - [chat-actions/actions chat inside-chat?] + [communities-chat-actions/actions chat inside-chat?] nil)) (defn group-details-actions diff --git a/src/status_im2/config.cljs b/src/status_im2/config.cljs index aead3d4755c2..e8d72dec7cd7 100644 --- a/src/status_im2/config.cljs +++ b/src/status_im2/config.cljs @@ -170,3 +170,4 @@ (def default-kdf-iterations 3200) (def shell-navigation-disabled? false) +(def fetch-messages-enabled? (enabled? (get-config :FETCH_MESSAGES_ENABLED "1"))) diff --git a/src/status_im2/contexts/chat/actions/view.cljs b/src/status_im2/contexts/chat/actions/view.cljs index 7a5753438521..4c8cb1281650 100644 --- a/src/status_im2/contexts/chat/actions/view.cljs +++ b/src/status_im2/contexts/chat/actions/view.cljs @@ -4,6 +4,19 @@ [utils.i18n :as i18n] [utils.re-frame :as rf])) +(defn fetch-messages! + [chat-id] + (rf/dispatch [:hide-bottom-sheet]) + (rf/dispatch [:chat/fetch-messages chat-id])) + +(defn fetch-messages + [chat-id] + {:icon :i/download + :right-icon :i/chevron-right + :accessibility-label :chat-fetch-messages + :on-press (partial fetch-messages! chat-id) + :label (i18n/label :t/fetch-messages)}) + (defn new-chat [] [quo/action-drawer diff --git a/src/status_im2/contexts/chat/events.cljs b/src/status_im2/contexts/chat/events.cljs index 9819f370a698..1f76e8cb3ef0 100644 --- a/src/status_im2/contexts/chat/events.cljs +++ b/src/status_im2/contexts/chat/events.cljs @@ -449,3 +449,12 @@ {:events [:chat/check-last-chat]} [{:keys [db]}] {:chat/open-last-chat (get-in db [:profile/profile :key-uid])}) + +(rf/defn fetch-messages + {:events [:chat/fetch-messages]} + [_ chat-id] + {:json-rpc/call [{:method "wakuext_fetchMessages" + :params [{:id chat-id}] + :on-success #() + :on-error #(log/error "failed to fetch messages for chat" chat-id %)}]}) + diff --git a/src/status_im2/contexts/communities/actions/chat/view.cljs b/src/status_im2/contexts/communities/actions/chat/view.cljs index 0dc75d41702f..1f241027905b 100644 --- a/src/status_im2/contexts/communities/actions/chat/view.cljs +++ b/src/status_im2/contexts/communities/actions/chat/view.cljs @@ -4,6 +4,8 @@ [status-im2.common.mute-drawer.view :as mute-drawer] [status-im2.common.muting.helpers :refer [format-mute-till]] [status-im2.common.not-implemented :as not-implemented] + [status-im2.config :as config] + [status-im2.contexts.chat.actions.view :as chat-actions] [utils.i18n :as i18n] [utils.re-frame :as rf])) @@ -83,13 +85,6 @@ :on-press not-implemented/alert :label (i18n/label :t/pinned-messages)}) -(defn- action-fetch-messages - [] - {:icon :i/download - :right-icon :i/chevron-right - :accessibility-label :chat-fetch-messages - :on-press not-implemented/alert - :label (i18n/label :t/fetch-messages)}) (defn- action-invite-people [] @@ -141,7 +136,8 @@ (action-mark-as-read) (action-toggle-muted chat-id muted muted-till chat-type) (action-notification-settings) - (action-fetch-messages) + (when config/fetch-messages-enabled? + (chat-actions/fetch-messages chat-id)) (action-invite-people) (action-qr-code) (action-share)]]] diff --git a/src/status_im2/contexts/profile/rpc.cljs b/src/status_im2/contexts/profile/rpc.cljs index a7c6a6d6b9ed..c6bb09db7b30 100644 --- a/src/status_im2/contexts/profile/rpc.cljs +++ b/src/status_im2/contexts/profile/rpc.cljs @@ -1,11 +1,18 @@ (ns status-im2.contexts.profile.rpc (:require + clojure.set [clojure.string :as string] [utils.ens.core :as utils.ens])) +(defn rpc->wakuv2-config + [wakuv2-config] + (-> wakuv2-config + (clojure.set/rename-keys {:LightClient :light-client}))) + (defn rpc->profiles-overview [{:keys [customizationColor keycard-pairing] :as profile}] (-> profile + (update :wakuv2-config rpc->wakuv2-config) (dissoc :customizationColor) (assoc :customization-color (keyword customizationColor)) (assoc :ens-name? (utils.ens/is-valid-eth-name? (:name profile))) diff --git a/src/status_im2/subs/profile.cljs b/src/status_im2/subs/profile.cljs index 5d1a1a152826..8d93cfdf4e83 100644 --- a/src/status_im2/subs/profile.cljs +++ b/src/status_im2/subs/profile.cljs @@ -63,6 +63,18 @@ (fn [{:keys [public-key]}] public-key)) +(re-frame/reg-sub + :profile/webview-debug + :<- [:profile/profile] + (fn [{:keys [webview-debug]}] + webview-debug)) + +(re-frame/reg-sub + :profile/light-client-enabled? + :<- [:profile/profile] + (fn [profile] + (get-in profile [:wakuv2-config :LightClient]))) + (re-frame/reg-sub :multiaccount/contact :<- [:profile/profile] diff --git a/status-go-version.json b/status-go-version.json index 67246856d09c..0b19e2159f06 100644 --- a/status-go-version.json +++ b/status-go-version.json @@ -3,7 +3,7 @@ "_comment": "Instead use: scripts/update-status-go.sh ", "owner": "status-im", "repo": "status-go", - "version": "v0.171.11", - "commit-sha1": "8a4c2d8d2f17117aa0a00338e83b0f753ebf1328", - "src-sha256": "160qnl9dsl1ypvqg9w6z8wps4fvgq3qxi16piymhrlzgssdwkz8h" + "version": "v0.171.21", + "commit-sha1": "5de4057a6a6ce2d8b25a0e0ec952ad88fd8c2584", + "src-sha256": "1c298czx103jc7mgwxlq6fzjxwmc0ss8a1wf5zbm8a2858giksvx" } diff --git a/translations/en.json b/translations/en.json index 43f88f4e11d4..9b844f6dd4d4 100644 --- a/translations/en.json +++ b/translations/en.json @@ -2373,6 +2373,7 @@ "edit-derivation-path": "Edit derivation path", "path-format": "Path format", "reset": "Reset", + "light-client-enabled": "Light client", "reveal-address": "Reveal address", "derive-addresses": "Derive addresses", "sign transactions": "sign transactions",