diff --git a/src/status_im/android/core.cljs b/src/status_im/android/core.cljs index 9a69eee802..d4b17c948f 100644 --- a/src/status_im/android/core.cljs +++ b/src/status_im/android/core.cljs @@ -38,35 +38,35 @@ (defn app-root [] (let [keyboard-height (subscribe [:get :keyboard-height])] (reagent/create-class - {:component-will-mount - (fn [] - (.addListener react/keyboard - "keyboardDidShow" - (fn [e] - (let [h (.. e -endCoordinates -height)] - (dispatch [:hide-tab-bar]) - (when-not (= h @keyboard-height) - (dispatch [:set :keyboard-height h]) - (dispatch [:set :keyboard-max-height h]))))) - (.addListener react/keyboard - "keyboardDidHide" - (fn [_] - (dispatch [:show-tab-bar]) - (when (zero? @keyboard-height) - (dispatch [:set :keyboard-height 0])))) - (.hide react/splash-screen) - (.addEventListener react/app-state "change" app-state-change-handler)) - :component-did-mount - (fn [] - (notifications/on-refresh-fcm-token) + {:component-will-mount + (fn [] + (.addListener react/keyboard + "keyboardDidShow" + (fn [e] + (let [h (.. e -endCoordinates -height)] + (dispatch [:hide-tab-bar]) + (when-not (= h @keyboard-height) + (dispatch [:set :keyboard-height h]) + (dispatch [:set :keyboard-max-height h]))))) + (.addListener react/keyboard + "keyboardDidHide" + (fn [_] + (dispatch [:show-tab-bar]) + (when (zero? @keyboard-height) + (dispatch [:set :keyboard-height 0])))) + (.hide react/splash-screen) + (.addEventListener react/app-state "change" app-state-change-handler)) + :component-did-mount + (fn [] + (notifications/on-refresh-fcm-token) ;; TODO(oskarth): Background click_action handler - (notifications/on-notification)) - :component-will-unmount - (fn [] - (.stop react/http-bridge) - (.removeEventListener react/app-state "change" app-state-change-handler)) - :display-name "root" - :reagent-render views/main}))) + (notifications/on-notification)) + :component-will-unmount + (fn [] + (.stop react/http-bridge) + (.removeEventListener react/app-state "change" app-state-change-handler)) + :display-name "root" + :reagent-render views/main}))) (defn init [] (status/set-soft-input-mode status/adjust-resize) diff --git a/src/status_im/bots/events.cljs b/src/status_im/bots/events.cljs index d86682b9fb..778c63b74a 100644 --- a/src/status_im/bots/events.cljs +++ b/src/status_im/bots/events.cljs @@ -88,19 +88,19 @@ ;;;; Handlers (handlers/register-handler-fx - :set-in-bot-db - [re-frame/trim-v] - (fn [{:keys [db]} [params]] - (set-in-bot-db db params))) + :set-in-bot-db + [re-frame/trim-v] + (fn [{:keys [db]} [params]] + (set-in-bot-db db params))) (handlers/register-handler-db - :update-bot-db - [re-frame/trim-v] - (fn [db [params]] - (update-bot-db db params))) + :update-bot-db + [re-frame/trim-v] + (fn [db [params]] + (update-bot-db db params))) (handlers/register-handler-db - ::calculated-subscription - [re-frame/trim-v] - (fn [db [params]] - (calculated-subscription db params))) + ::calculated-subscription + [re-frame/trim-v] + (fn [db [params]] + (calculated-subscription db params))) diff --git a/src/status_im/bots/subs.cljs b/src/status_im/bots/subs.cljs index 1e64993b7f..805d3cb2e3 100644 --- a/src/status_im/bots/subs.cljs +++ b/src/status_im/bots/subs.cljs @@ -5,9 +5,9 @@ (re-frame/reg-sub :get-bot-db :bot-db) (re-frame/reg-sub - :current-bot-db - :<- [:get-bot-db] - :<- [:selected-chat-command] - (fn [[bot-db command]] - (let [command-owner (get-in command [:command :owner-id])] - [command-owner (get bot-db command-owner)]))) + :current-bot-db + :<- [:get-bot-db] + :<- [:selected-chat-command] + (fn [[bot-db command]] + (let [command-owner (get-in command [:command :owner-id])] + [command-owner (get bot-db command-owner)]))) diff --git a/src/status_im/commands/events/loading.cljs b/src/status_im/commands/events/loading.cljs index 2f88840502..14a9435d3b 100644 --- a/src/status_im/commands/events/loading.cljs +++ b/src/status_im/commands/events/loading.cljs @@ -13,21 +13,21 @@ ;; FX (re-frame/reg-fx - ::evaluate-jail-n - (fn [jail-data] - (doseq [{:keys [jail-id jail-resource]} jail-data] - (status/parse-jail - jail-id jail-resource - (fn [jail-response] - (let [converted (types/json->clj jail-response)] - (re-frame/dispatch [::proceed-loading jail-id (if config/jsc-enabled? - (update converted :result types/json->clj) - converted)]))))))) + ::evaluate-jail-n + (fn [jail-data] + (doseq [{:keys [jail-id jail-resource]} jail-data] + (status/parse-jail + jail-id jail-resource + (fn [jail-response] + (let [converted (types/json->clj jail-response)] + (re-frame/dispatch [::proceed-loading jail-id (if config/jsc-enabled? + (update converted :result types/json->clj) + converted)]))))))) (re-frame/reg-fx - ::show-popup - (fn [{:keys [title msg]}] - (utils/show-popup title msg))) + ::show-popup + (fn [{:keys [title msg]}] + (utils/show-popup title msg))) ;; Handlers (defn- valid-network-resource? @@ -138,26 +138,26 @@ :jail-loaded? true)))) (handlers/register-handler-fx - ::evaluate-commands-in-jail - [re-frame/trim-v (re-frame/inject-cofx :data-store/get-local-storage-data)] - (fn [cofx [commands-resource whisper-identity]] - (evaluate-commands-in-jail cofx commands-resource whisper-identity))) + ::evaluate-commands-in-jail + [re-frame/trim-v (re-frame/inject-cofx :data-store/get-local-storage-data)] + (fn [cofx [commands-resource whisper-identity]] + (evaluate-commands-in-jail cofx commands-resource whisper-identity))) (handlers/register-handler-fx - ::proceed-loading - [re-frame/trim-v] - (fn [{:keys [db]} [jail-id {:keys [error result]}]] - (if error - (let [message (string/join "\n" ["bot.js loading failed" - jail-id - error])] - {::show-popup {:title "Error" - :msg message}}) - (let [jail-loaded-events (get-in db [:contacts/contacts jail-id :jail-loaded-events])] - (cond-> {:db (add-jail-result db jail-id result) - :call-jail-function {:chat-id jail-id - :function :init :context - {:from (get-in db [:account/account :address])}}} - (seq jail-loaded-events) - (-> (assoc :dispatch-n jail-loaded-events) - (update-in [:db :contacts/contacts jail-id] dissoc :jail-loaded-events))))))) + ::proceed-loading + [re-frame/trim-v] + (fn [{:keys [db]} [jail-id {:keys [error result]}]] + (if error + (let [message (string/join "\n" ["bot.js loading failed" + jail-id + error])] + {::show-popup {:title "Error" + :msg message}}) + (let [jail-loaded-events (get-in db [:contacts/contacts jail-id :jail-loaded-events])] + (cond-> {:db (add-jail-result db jail-id result) + :call-jail-function {:chat-id jail-id + :function :init :context + {:from (get-in db [:account/account :address])}}} + (seq jail-loaded-events) + (-> (assoc :dispatch-n jail-loaded-events) + (update-in [:db :contacts/contacts jail-id] dissoc :jail-loaded-events))))))) diff --git a/src/status_im/commands/handlers/debug.cljs b/src/status_im/commands/handlers/debug.cljs index cf5711fc09..48487ecf39 100644 --- a/src/status_im/commands/handlers/debug.cljs +++ b/src/status_im/commands/handlers/debug.cljs @@ -34,7 +34,6 @@ (catch js/Error e (log/debug "Error: " e)))))) - ;;;; Specific debug methods ;; TODO: there are still a lot of dispatch calls here. we can remove or restructure most of them, ;; but to do this we need to also rewrite a lot of already existing functions @@ -115,7 +114,6 @@ (respond {:type :error :text "No log messages found."})))) - ;;;; FX (re-frame/reg-fx @@ -153,7 +151,6 @@ (respond {:type :error :text (str "Error: " e)}) (log/debug "Error: " e))))) - ;;;; Handlers (handlers/register-handler-fx @@ -175,7 +172,7 @@ ;; TODO(janherich) once `contact-changed` fn is refactored, get rid of this unnecessary event (handlers/register-handler-fx - ::load-commands - [re-frame/trim-v (re-frame/inject-cofx :data-store/get-local-storage-data)] - (fn [cofx [contact]] - (loading-events/load-commands-for-bot cofx {} contact))) + ::load-commands + [re-frame/trim-v (re-frame/inject-cofx :data-store/get-local-storage-data)] + (fn [cofx [contact]] + (loading-events/load-commands-for-bot cofx {} contact))) diff --git a/src/status_im/commands/handlers/jail.cljs b/src/status_im/commands/handlers/jail.cljs index 7f2699d31b..37622128b8 100644 --- a/src/status_im/commands/handlers/jail.cljs +++ b/src/status_im/commands/handlers/jail.cljs @@ -79,31 +79,31 @@ ;; TODO(alwx): rewrite (reg-handler :command-handler! - (after (print-error-message! "Error on command handling")) - (handlers/side-effect! command-handler!)) + (after (print-error-message! "Error on command handling")) + (handlers/side-effect! command-handler!)) (reg-handler - :suggestions-handler - [(after (print-error-message! "Error on param suggestions"))] - (handlers/side-effect! suggestions-handler!)) + :suggestions-handler + [(after (print-error-message! "Error on param suggestions"))] + (handlers/side-effect! suggestions-handler!)) (reg-handler - :suggestions-event! - (handlers/side-effect! suggestions-events-handler!)) + :suggestions-event! + (handlers/side-effect! suggestions-events-handler!)) (reg-handler - :show-suggestions-from-jail - (handlers/side-effect! - (fn [_ [_ {:keys [chat-id markup]}]] - (let [markup' (types/json->clj markup) - result (assoc-in {} [:result :returned :markup] markup')] - (dispatch [:suggestions-handler - {:result result - :chat-id chat-id}]))))) + :show-suggestions-from-jail + (handlers/side-effect! + (fn [_ [_ {:keys [chat-id markup]}]] + (let [markup' (types/json->clj markup) + result (assoc-in {} [:result :returned :markup] markup')] + (dispatch [:suggestions-handler + {:result result + :chat-id chat-id}]))))) (handlers/register-handler-fx - :set-local-storage - [trim-v] - (fn [_ [{:keys [data chat-id]}]] - {:data-store/set-local-storage-data {:chat-id chat-id - :data data}})) + :set-local-storage + [trim-v] + (fn [_ [{:keys [data chat-id]}]] + {:data-store/set-local-storage-data {:chat-id chat-id + :data data}})) diff --git a/src/status_im/commands/subs.cljs b/src/status_im/commands/subs.cljs index 4d0a48fc7d..e933d05ade 100644 --- a/src/status_im/commands/subs.cljs +++ b/src/status_im/commands/subs.cljs @@ -4,7 +4,7 @@ (reg-sub :get-commands-responses-by-access-scope :access-scope->commands-responses) (reg-sub - :get-command - :<- [:get-contacts] - (fn [contacts [_ ref]] - (some->> ref (get-in contacts)))) + :get-command + :<- [:get-contacts] + (fn [contacts [_ ref]] + (some->> ref (get-in contacts)))) diff --git a/src/status_im/commands/utils.cljs b/src/status_im/commands/utils.cljs index 5e616e30a7..33e2e75466 100644 --- a/src/status_im/commands/utils.cljs +++ b/src/status_im/commands/utils.cljs @@ -39,7 +39,7 @@ (def events #{:onPress :onValueChange :onSlidingComplete}) -(defn wrap-event [[_ event] bot-id] +(defn wrap-event [[_ event] bot-id] #(dispatch [:suggestions-event! bot-id (update event 0 keyword) %])) (defn check-events [m bot-id] @@ -50,22 +50,22 @@ (defn generate-hiccup ([markup] (generate-hiccup markup nil {})) - ([markup bot-id bot-db] + ([markup bot-id bot-db] (w/prewalk - (fn [el] - (cond + (fn [el] + (cond - (and (vector? el) (= "subscribe" (first el))) - (let [path (mapv keyword (second el))] - (get-in bot-db path)) + (and (vector? el) (= "subscribe" (first el))) + (let [path (mapv keyword (second el))] + (get-in bot-db path)) - (and (vector? el) (string? (first el))) - (-> el - (update 0 get-element) - (update 1 check-events bot-id)) + (and (vector? el) (string? (first el))) + (-> el + (update 0 get-element) + (update 1 check-events bot-id)) - :else el)) - markup))) + :else el)) + markup))) (defn reg-handler ([name handler] (reg-handler name nil handler)) diff --git a/src/status_im/constants.cljs b/src/status_im/constants.cljs index 8b4113e886..84c7f75076 100644 --- a/src/status_im/constants.cljs +++ b/src/status_im/constants.cljs @@ -32,8 +32,7 @@ {:id :outbound :label (i18n/label :t/outgoing) :checked? true} {:id :pending :label (i18n/label :t/pending) :checked? true} ;; TODO(jeluard) Restore once we support postponing transaction - #_ - {:id :postponed :label (i18n/label :t/postponed) :checked? true}]}}) + #_{:id :postponed :label (i18n/label :t/postponed) :checked? true}]}}) (def default-account-settings {:wallet {:visible-tokens {:testnet #{:STT :ATT} @@ -45,8 +44,8 @@ (->> networks (map (fn [[network-name {:keys [config] :as data}]] [network-name (assoc data - :config (types/clj->json config) - :raw-config config)])) + :config (types/clj->json config) + :raw-config config)])) (into {}))) (def mainnet-networks diff --git a/src/status_im/desktop/core.cljs b/src/status_im/desktop/core.cljs index 0870a62f9f..04cb16f947 100644 --- a/src/status_im/desktop/core.cljs +++ b/src/status_im/desktop/core.cljs @@ -11,10 +11,10 @@ (defn app-root [] (reagent/create-class - {:component-will-mount - (fn [] - (.hide react/splash-screen)) - :reagent-render views/main})) + {:component-will-mount + (fn [] + (.hide react/splash-screen)) + :reagent-render views/main})) (defn init [] (core/init app-root)) diff --git a/src/status_im/i18n.cljs b/src/status_im/i18n.cljs index a0719b1385..16b63cae00 100644 --- a/src/status_im/i18n.cljs +++ b/src/status_im/i18n.cljs @@ -1,64 +1,64 @@ (ns status-im.i18n (:require - [cljs.spec.alpha :as spec] - [status-im.react-native.js-dependencies :as rn-dependencies] - [status-im.translations.af :as af] - [status-im.translations.ar :as ar] - [status-im.translations.bel :as be] - [status-im.translations.cs :as cs] - [status-im.translations.da :as da] - [status-im.translations.de :as de] - [status-im.translations.de-ch :as de-ch] - [status-im.translations.el :as el] - [status-im.translations.en :as en] - [status-im.translations.es :as es] - [status-im.translations.es-ar :as es-ar] - [status-im.translations.es-mx :as es-mx] - [status-im.translations.fi :as fi] - [status-im.translations.fr :as fr] - [status-im.translations.fr-ch :as fr-ch] - [status-im.translations.fy :as fy] - [status-im.translations.he :as he] - [status-im.translations.hi :as hi] - [status-im.translations.hu :as hu] - [status-im.translations.id :as id] - [status-im.translations.it :as it] - [status-im.translations.it-ch :as it-ch] - [status-im.translations.ja :as ja] - [status-im.translations.ko :as ko] - [status-im.translations.la :as la] - [status-im.translations.lt :as lt] - [status-im.translations.lv :as lv] - [status-im.translations.ms :as ms] - [status-im.translations.nb :as nb] - [status-im.translations.ne :as ne] - [status-im.translations.nl :as nl] - [status-im.translations.pl :as pl] - [status-im.translations.pt-br :as pt-br] - [status-im.translations.pt-pt :as pt-pt] - [status-im.translations.ro :as ro] - [status-im.translations.ru :as ru] - [status-im.translations.sl :as sl] - [status-im.translations.sr-rs-cyrl :as sr-rs-cyrl] - [status-im.translations.sr-rs-latn :as sr-rs-latn] - [status-im.translations.sv :as sv] - [status-im.translations.sw :as sw] - [status-im.translations.th :as th] - [status-im.translations.tr :as tr] - [status-im.translations.uk :as uk] - [status-im.translations.ur :as ur] - [status-im.translations.vi :as vi] - [status-im.translations.zh-hans :as zh-hans] - [status-im.translations.zh-hant :as zh-hant] - [status-im.translations.zh-hant-tw :as zh-hant-tw] - [status-im.translations.zh-hant-sg :as zh-hant-sg] - [status-im.translations.zh-hant-hk :as zh-hant-hk] - [status-im.translations.zh-wuu :as zh-wuu] - [status-im.translations.zh-yue :as zh-yue] - [status-im.utils.js-resources :refer [default-contacts]] - [taoensso.timbre :as log] - [clojure.string :as string] - [clojure.set :as set])) + [cljs.spec.alpha :as spec] + [status-im.react-native.js-dependencies :as rn-dependencies] + [status-im.translations.af :as af] + [status-im.translations.ar :as ar] + [status-im.translations.bel :as be] + [status-im.translations.cs :as cs] + [status-im.translations.da :as da] + [status-im.translations.de :as de] + [status-im.translations.de-ch :as de-ch] + [status-im.translations.el :as el] + [status-im.translations.en :as en] + [status-im.translations.es :as es] + [status-im.translations.es-ar :as es-ar] + [status-im.translations.es-mx :as es-mx] + [status-im.translations.fi :as fi] + [status-im.translations.fr :as fr] + [status-im.translations.fr-ch :as fr-ch] + [status-im.translations.fy :as fy] + [status-im.translations.he :as he] + [status-im.translations.hi :as hi] + [status-im.translations.hu :as hu] + [status-im.translations.id :as id] + [status-im.translations.it :as it] + [status-im.translations.it-ch :as it-ch] + [status-im.translations.ja :as ja] + [status-im.translations.ko :as ko] + [status-im.translations.la :as la] + [status-im.translations.lt :as lt] + [status-im.translations.lv :as lv] + [status-im.translations.ms :as ms] + [status-im.translations.nb :as nb] + [status-im.translations.ne :as ne] + [status-im.translations.nl :as nl] + [status-im.translations.pl :as pl] + [status-im.translations.pt-br :as pt-br] + [status-im.translations.pt-pt :as pt-pt] + [status-im.translations.ro :as ro] + [status-im.translations.ru :as ru] + [status-im.translations.sl :as sl] + [status-im.translations.sr-rs-cyrl :as sr-rs-cyrl] + [status-im.translations.sr-rs-latn :as sr-rs-latn] + [status-im.translations.sv :as sv] + [status-im.translations.sw :as sw] + [status-im.translations.th :as th] + [status-im.translations.tr :as tr] + [status-im.translations.uk :as uk] + [status-im.translations.ur :as ur] + [status-im.translations.vi :as vi] + [status-im.translations.zh-hans :as zh-hans] + [status-im.translations.zh-hant :as zh-hant] + [status-im.translations.zh-hant-tw :as zh-hant-tw] + [status-im.translations.zh-hant-sg :as zh-hant-sg] + [status-im.translations.zh-hant-hk :as zh-hant-hk] + [status-im.translations.zh-wuu :as zh-wuu] + [status-im.translations.zh-yue :as zh-yue] + [status-im.utils.js-resources :refer [default-contacts]] + [taoensso.timbre :as log] + [clojure.string :as string] + [clojure.set :as set])) (set! (.-fallbacks rn-dependencies/i18n) true) (set! (.-defaultSeparator rn-dependencies/i18n) "/") @@ -327,7 +327,6 @@ (defn supported-locales-that-are-not-considered-supported [] (set/difference (actual-supported-locales) supported-locales)) - (set! (.-translations rn-dependencies/i18n) (clj->js translations-by-locale)) diff --git a/src/status_im/ios/core.cljs b/src/status_im/ios/core.cljs index 6d739061e1..f7724a14fb 100644 --- a/src/status_im/ios/core.cljs +++ b/src/status_im/ios/core.cljs @@ -16,29 +16,29 @@ (defn app-root [] (let [keyboard-height (subscribe [:get :keyboard-height])] (reagent/create-class - {:component-will-mount - (fn [] - (.addListener react/keyboard - "keyboardWillShow" - (fn [e] - (let [h (.. e -endCoordinates -height)] - (when-not (= h @keyboard-height) - (dispatch [:set :keyboard-height h]) - (dispatch [:set :keyboard-max-height h]))))) - (.addListener react/keyboard - "keyboardWillHide" - #(when-not (= 0 @keyboard-height) - (dispatch [:set :keyboard-height 0]))) - (.hide react/splash-screen)) - :component-did-mount - (fn [] - (notifications/on-refresh-fcm-token) - (notifications/on-notification)) - :component-will-unmount - (fn [] - (.stop react/http-bridge)) - :display-name "root" - :reagent-render views/main}))) + {:component-will-mount + (fn [] + (.addListener react/keyboard + "keyboardWillShow" + (fn [e] + (let [h (.. e -endCoordinates -height)] + (when-not (= h @keyboard-height) + (dispatch [:set :keyboard-height h]) + (dispatch [:set :keyboard-max-height h]))))) + (.addListener react/keyboard + "keyboardWillHide" + #(when-not (= 0 @keyboard-height) + (dispatch [:set :keyboard-height 0]))) + (.hide react/splash-screen)) + :component-did-mount + (fn [] + (notifications/on-refresh-fcm-token) + (notifications/on-notification)) + :component-will-unmount + (fn [] + (.stop react/http-bridge)) + :display-name "root" + :reagent-render views/main}))) (defn init [] (core/init app-root) diff --git a/src/status_im/native_module/core.cljs b/src/status_im/native_module/core.cljs index 3c53fd28ff..9b80819baf 100644 --- a/src/status_im/native_module/core.cljs +++ b/src/status_im/native_module/core.cljs @@ -10,67 +10,54 @@ (non-status-go-module/ReactNativeStatus.) (native-module/ReactNativeStatus.))) - (def adjust-resize 16) (def adjust-pan 32) #_(defn- wrap-and-print-callback [name callback] - (fn [& args] - (println :callback name (str args)) - (log/debug :callback name args) - (apply callback args))) + (fn [& args] + (println :callback name (str args)) + (log/debug :callback name args) + (apply callback args))) (defn init-jail [] (module-interface/-init-jail rns-module)) - (defn move-to-internal-storage [callback] (module-interface/-move-to-internal-storage rns-module callback)) - (defn start-node [config] (module-interface/-start-node rns-module config)) - (defn stop-node [] (module-interface/-stop-node rns-module)) - (defn create-account [password callback] (module-interface/-create-account rns-module password callback)) - (defn recover-account [passphrase password callback] (module-interface/-recover-account rns-module passphrase password callback)) - (defn login [address password callback] (module-interface/-login rns-module address password callback)) - (defn approve-sign-requests [hashes password callback] (module-interface/-approve-sign-requests rns-module hashes password callback)) - (defn discard-sign-request [id] (module-interface/-discard-sign-request rns-module id)) (defn parse-jail [chat-id file callback] (module-interface/-parse-jail rns-module chat-id file callback)) - (defn call-jail [params] (module-interface/-call-jail rns-module params)) - (defn call-function! [params] (module-interface/-call-function! rns-module params)) - (defn set-soft-input-mode [mode] (module-interface/-set-soft-input-mode rns-module mode)) - (defn clear-web-data [] (module-interface/-clear-web-data rns-module)) diff --git a/src/status_im/native_module/impl/module.cljs b/src/status_im/native_module/impl/module.cljs index 4c5cf56578..97187a801a 100644 --- a/src/status_im/native_module/impl/module.cljs +++ b/src/status_im/native_module/impl/module.cljs @@ -6,7 +6,7 @@ [taoensso.timbre :as log] [cljs.core.async :as async :refer [ (handlers-macro/merge-fx cofx - {:db (assoc db :network-status (if is-connected? :online :offline))} - (inbox/recover-offline-inbox back-online?)) - is-connected? - (assoc :drain-mixpanel-events nil))))) + ::update-connection-status + [re-frame/trim-v] + (fn [{:keys [db] :as cofx} [is-connected?]] + (let [previous-status (:network-status db) + back-online? (and (= previous-status :offline) + is-connected?)] + (cond-> (handlers-macro/merge-fx cofx + {:db (assoc db :network-status (if is-connected? :online :offline))} + (inbox/recover-offline-inbox back-online?)) + is-connected? + (assoc :drain-mixpanel-events nil))))) (handlers/register-handler-fx - ::update-network-status - [re-frame/trim-v] - (fn [_ [data]] - {::notify-status-go data})) + ::update-network-status + [re-frame/trim-v] + (fn [_ [data]] + {::notify-status-go data})) diff --git a/src/status_im/protocol/handlers.cljs b/src/status_im/protocol/handlers.cljs index fd41ad785a..a35be9219f 100644 --- a/src/status_im/protocol/handlers.cljs +++ b/src/status_im/protocol/handlers.cljs @@ -13,71 +13,71 @@ ;;;; COFX (re-frame/reg-cofx - ::get-web3 - (fn [coeffects _] - (assoc coeffects :web3 (web3-provider/make-web3)))) + ::get-web3 + (fn [coeffects _] + (assoc coeffects :web3 (web3-provider/make-web3)))) (re-frame/reg-fx - ::web3-get-syncing - (fn [web3] - (when web3 - (.getSyncing - (.-eth web3) - (fn [error sync] - (re-frame/dispatch [:update-sync-state error sync])))))) + ::web3-get-syncing + (fn [web3] + (when web3 + (.getSyncing + (.-eth web3) + (fn [error sync] + (re-frame/dispatch [:update-sync-state error sync])))))) (re-frame/reg-fx - ::status-init-jail - (fn [] - (status/init-jail))) + ::status-init-jail + (fn [] + (status/init-jail))) ;;; INITIALIZE PROTOCOL (handlers/register-handler-fx - :initialize-protocol - [re-frame/trim-v - (re-frame/inject-cofx ::get-web3) - (re-frame/inject-cofx :data-store/transport)] - (fn [{:data-store/keys [transport] :keys [db web3] :as cofx} [current-account-id ethereum-rpc-url]] - (handlers-macro/merge-fx cofx - {:db (assoc db - :web3 web3 - :rpc-url (or ethereum-rpc-url constants/ethereum-rpc-url) - :transport/chats transport)} - (transport/init-whisper current-account-id)))) + :initialize-protocol + [re-frame/trim-v + (re-frame/inject-cofx ::get-web3) + (re-frame/inject-cofx :data-store/transport)] + (fn [{:data-store/keys [transport] :keys [db web3] :as cofx} [current-account-id ethereum-rpc-url]] + (handlers-macro/merge-fx cofx + {:db (assoc db + :web3 web3 + :rpc-url (or ethereum-rpc-url constants/ethereum-rpc-url) + :transport/chats transport)} + (transport/init-whisper current-account-id)))) ;;; NODE SYNC STATE (handlers/register-handler-db - :update-sync-state - (fn [{:keys [sync-state sync-data] :as db} [_ error sync]] - (let [{:keys [highestBlock currentBlock] :as state} - (js->clj sync :keywordize-keys true) - syncing? (> (- highestBlock currentBlock) constants/blocks-per-hour) - new-state (cond - error :offline - syncing? (if (= sync-state :done) - :pending - :in-progress) - :else (if (or (= sync-state :done) - (= sync-state :pending)) - :done - :synced))] - (cond-> db - (when (and (not= sync-data state) (= :in-progress new-state))) - (assoc :sync-data state) - (when (not= sync-state new-state)) - (assoc :sync-state new-state))))) + :update-sync-state + (fn [{:keys [sync-state sync-data] :as db} [_ error sync]] + (let [{:keys [highestBlock currentBlock] :as state} + (js->clj sync :keywordize-keys true) + syncing? (> (- highestBlock currentBlock) constants/blocks-per-hour) + new-state (cond + error :offline + syncing? (if (= sync-state :done) + :pending + :in-progress) + :else (if (or (= sync-state :done) + (= sync-state :pending)) + :done + :synced))] + (cond-> db + (when (and (not= sync-data state) (= :in-progress new-state))) + (assoc :sync-data state) + (when (not= sync-state new-state)) + (assoc :sync-state new-state))))) (handlers/register-handler-fx - :check-sync - (fn [{{:keys [web3]} :db} _] - {::web3-get-syncing web3 - :dispatch-later [{:ms 10000 :dispatch [:check-sync]}]})) + :check-sync + (fn [{{:keys [web3]} :db} _] + {::web3-get-syncing web3 + :dispatch-later [{:ms 10000 :dispatch [:check-sync]}]})) (handlers/register-handler-fx - :initialize-sync-listener - (fn [{{:keys [sync-listening-started network networks/networks] :as db} :db} _] - (when (and (not sync-listening-started) - (not (utils/network-with-upstream-rpc? networks network))) - {:db (assoc db :sync-listening-started true) - :dispatch [:check-sync]}))) + :initialize-sync-listener + (fn [{{:keys [sync-listening-started network networks/networks] :as db} :db} _] + (when (and (not sync-listening-started) + (not (utils/network-with-upstream-rpc? networks network))) + {:db (assoc db :sync-listening-started true) + :dispatch [:check-sync]}))) diff --git a/src/status_im/translations/af.cljs b/src/status_im/translations/af.cljs index 9366f7da57..3e373da002 100644 --- a/src/status_im/translations/af.cljs +++ b/src/status_im/translations/af.cljs @@ -1,234 +1,226 @@ (ns status-im.translations.af) (def translations - { - ;;common - :members-title "lede" - :not-implemented "!nie geimplimenteer nie" - :chat-name "Bynaam" - :notifications-title "Kennisgewings en klanke" - :offline "Aflyn" + {;;common + :members-title "lede" + :not-implemented "!nie geimplimenteer nie" + :chat-name "Bynaam" + :notifications-title "Kennisgewings en klanke" + :offline "Aflyn" ;;drawer - :switch-users "Verander gebruikers" + :switch-users "Verander gebruikers" ;;chat - :is-typing "is besig om te tik" - :and-you "en jy" - :search-chat "Deursoek geselsies" - :members {:one "1 lid" - :other "{{count}} lede" - :zero "geen lede"} - :members-active {:one "1 lid, 1 aktief" - :other "{{count}} lede, {{count}} aktief" - :zero "geen lede"} - :active-online "Aanlyn" - :active-unknown "Onbekend" - :available "Beskikbaar" - :no-messages "Geen boodskappe" - :suggestions-requests "Versoeke" - :suggestions-commands "Opdragte" + :is-typing "is besig om te tik" + :and-you "en jy" + :search-chat "Deursoek geselsies" + :members {:one "1 lid" + :other "{{count}} lede" + :zero "geen lede"} + :members-active {:one "1 lid, 1 aktief" + :other "{{count}} lede, {{count}} aktief" + :zero "geen lede"} + :active-online "Aanlyn" + :active-unknown "Onbekend" + :available "Beskikbaar" + :no-messages "Geen boodskappe" + :suggestions-requests "Versoeke" + :suggestions-commands "Opdragte" ;;sync - :sync-in-progress "Besig om te sinchroniseer..." - :sync-synced "gesinchroniseer" + :sync-in-progress "Besig om te sinchroniseer..." + :sync-synced "gesinchroniseer" ;;messages - :status-sending "Besig om te stuur" - :status-pending "Hangende" - :status-sent "Gestuur" - :status-seen-by-everyone "Deur almal gesien" - :status-seen "Gesien" - :status-delivered "Afgelewer" - :status-failed "Gefaal" + :status-sending "Besig om te stuur" + :status-pending "Hangende" + :status-sent "Gestuur" + :status-seen-by-everyone "Deur almal gesien" + :status-seen "Gesien" + :status-delivered "Afgelewer" + :status-failed "Gefaal" ;;datetime - :datetime-second {:one "sekonde" - :other "sekondes"} - :datetime-minute {:one "minuut" - :other "minute"} - :datetime-hour {:one "uur" - :other "ure"} - :datetime-day {:one "dag" - :other "dae"} - :datetime-ago "gelede" - :datetime-yesterday "gister" - :datetime-today "vandag" + :datetime-second {:one "sekonde" + :other "sekondes"} + :datetime-minute {:one "minuut" + :other "minute"} + :datetime-hour {:one "uur" + :other "ure"} + :datetime-day {:one "dag" + :other "dae"} + :datetime-ago "gelede" + :datetime-yesterday "gister" + :datetime-today "vandag" ;;profile - :profile "Profiel" - :message "Boodskap" - :not-specified "Nie gespesifiseer nie" - :public-key "Openbare sleutel" - :phone-number "Telefoonnommer" - :add-to-contacts "Voeg by kontakte" + :profile "Profiel" + :message "Boodskap" + :not-specified "Nie gespesifiseer nie" + :public-key "Openbare sleutel" + :phone-number "Telefoonnommer" + :add-to-contacts "Voeg by kontakte" ;;make_photo - :image-source-title "Profielbeeld" - :image-source-make-photo "Opname" - :image-source-gallery "Kies uit galery" + :image-source-title "Profielbeeld" + :image-source-make-photo "Opname" + :image-source-gallery "Kies uit galery" ;;sign-up - :contacts-syncronized "U kontakte is gesinchroniseer" - :confirmation-code (str "Dankie! Ons het vir u 'n SMS gestuur met 'n bevestigings " - "kode. Verskaf asseblief daardie kode om u telefoonnommer te bevestig") - :incorrect-code (str "Jammer, die kode was nie korrek nie, voer asseblief weer in") - :phew-here-is-your-passphrase "*Sjoe* dit was moeilik, hier is jou tydelike wagwoord, *skryf dit neer en hou dit veilig!* Jy sal dit nodig hê om jou rekening te herwin." - :here-is-your-passphrase "Hier is jou tydelike wagwoord, *skryf dit neer en hou dit veilig!* Jy sal dit nodig hê om jou rekening te herwin." - :phone-number-required "Tik hier om jou telefoonnommer in te voer & ek sal jou vriende opspoor" - :intro-status "Gesels met my om jou rekening op te stel en jou stellings te verander!" - :intro-message1 "Welkom by Status\nTik tik hierdie boodskap om jou wagwoord te stel & laat ons begin!" - :account-generation-message "Net 'n oomblik, ek moet mal somme doen om jou rekening te skep!" + :contacts-syncronized "U kontakte is gesinchroniseer" + :confirmation-code (str "Dankie! Ons het vir u 'n SMS gestuur met 'n bevestigings " + "kode. Verskaf asseblief daardie kode om u telefoonnommer te bevestig") + :incorrect-code (str "Jammer, die kode was nie korrek nie, voer asseblief weer in") + :phew-here-is-your-passphrase "*Sjoe* dit was moeilik, hier is jou tydelike wagwoord, *skryf dit neer en hou dit veilig!* Jy sal dit nodig hê om jou rekening te herwin." + :here-is-your-passphrase "Hier is jou tydelike wagwoord, *skryf dit neer en hou dit veilig!* Jy sal dit nodig hê om jou rekening te herwin." + :phone-number-required "Tik hier om jou telefoonnommer in te voer & ek sal jou vriende opspoor" + :intro-status "Gesels met my om jou rekening op te stel en jou stellings te verander!" + :intro-message1 "Welkom by Status\nTik tik hierdie boodskap om jou wagwoord te stel & laat ons begin!" + :account-generation-message "Net 'n oomblik, ek moet mal somme doen om jou rekening te skep!" ;;chats - :chats "Geselsies" - :new-group-chat "Nuwe groepgeselsie" + :chats "Geselsies" + :new-group-chat "Nuwe groepgeselsie" ;;discover - :discover "Ontdekking" - :none "Geen" - :search-tags "Tik jou soek-oortjies hier in" - :popular-tags "Gewilde oortjies" - :recent "Onlangs" - :no-statuses-discovered "Geen statusse gevind nie" + :discover "Ontdekking" + :none "Geen" + :search-tags "Tik jou soek-oortjies hier in" + :popular-tags "Gewilde oortjies" + :recent "Onlangs" + :no-statuses-discovered "Geen statusse gevind nie" ;;settings - :settings "Stellings" + :settings "Stellings" ;;contacts - :contacts "Kontakte" - :new-contact "Nuwe kontak" - :contacts-group-new-chat "Begin nuwe geselsie" - :no-contacts "Nog geen kontakte nie" - :show-qr "Wys QR" + :contacts "Kontakte" + :new-contact "Nuwe kontak" + :contacts-group-new-chat "Begin nuwe geselsie" + :no-contacts "Nog geen kontakte nie" + :show-qr "Wys QR" ;;group-settings - :remove "Verwyder" - :save "Stoor" - :clear-history "Maak geskiedenis skoon" - :chat-settings "Geselsie-stellings" - :edit "Wysig" - :add-members "Voeg lede by" + :remove "Verwyder" + :save "Stoor" + :clear-history "Maak geskiedenis skoon" + :chat-settings "Geselsie-stellings" + :edit "Wysig" + :add-members "Voeg lede by" ;;commands - :chat-send-eth "{{amount}} ETH" + :chat-send-eth "{{amount}} ETH" ;;new-group ;;participants ;;protocol - :received-invitation "geselsie-uitnodiging ontvang" - :removed-from-chat "het jou van groepsgeselsie verwyder" - :left "uitgegaan" - :invited "uitgenooi" - :removed "verwyder" - :You "Jou" + :received-invitation "geselsie-uitnodiging ontvang" + :removed-from-chat "het jou van groepsgeselsie verwyder" + :left "uitgegaan" + :invited "uitgenooi" + :removed "verwyder" + :You "Jou" ;;new-contact - :add-new-contact "Voeg nuwe kontak by" - :scan-qr "Skandeer QR" - :name "Naam" - :address-explication "Miskien moet hier 'n bietjie teks wees wat verduidelik wat 'n adres is en waar om daarvoor te soek." - :contact-already-added "Die kontak is alreeds bygevoeg" - :can-not-add-yourself "Jy kan nie jouself byvoeg nie" - :unknown-address "Onbekende adres" - - - ;;login - :connect "Konnekteer" - :address "Adres" - :password "Wagwoord" - :wrong-password "Verkeerde wagwoord" + :add-new-contact "Voeg nuwe kontak by" + :scan-qr "Skandeer QR" + :name "Naam" + :address-explication "Miskien moet hier 'n bietjie teks wees wat verduidelik wat 'n adres is en waar om daarvoor te soek." + :contact-already-added "Die kontak is alreeds bygevoeg" + :can-not-add-yourself "Jy kan nie jouself byvoeg nie" + :unknown-address "Onbekende adres" ;;login + :connect "Konnekteer" + :address "Adres" + :password "Wagwoord" + :wrong-password "Verkeerde wagwoord" ;;recover - :passphrase "Tydelike wagwoord" - :recover "Herstel" + :passphrase "Tydelike wagwoord" + :recover "Herstel" ;;accounts - :recover-access "Herwin toegang" + :recover-access "Herwin toegang" ;;wallet-qr-code - :done "Gedoen" - :main-wallet "Hoofbeursie" + :done "Gedoen" + :main-wallet "Hoofbeursie" ;;validation - :invalid-phone "Ongeldige telefoonnommer" - :amount "Bedrag" + :invalid-phone "Ongeldige telefoonnommer" + :amount "Bedrag" ;;transactions - :status "Status" - :recipient "Ontvanger" + :status "Status" + :recipient "Ontvanger" ;;:webview - :web-view-error "oepsie, fout" + :web-view-error "oepsie, fout" - :confirm "Bevestig" - :phone-national "Nasionaal" - :public-group-topic "Onderwerp" - :debug-enabled "Ontfout-bediener is bekendgestel! U kan nou u DApp byvoeg deur *status-dev-cli scan* te hardloop vanaf u rekenaar" - :new-public-group-chat "Sluit aan by openbare klets" - :datetime-ago-format "{{number}} {{time-intervals}} {{ago}}" - :sharing-cancel "Kanselleer" - :twelve-words-in-correct-order "12 woorde in korrekte volgorde" - :remove-from-contacts "Verwyder van kontakte" - :delete-chat "Skrap klets" - :edit-chats "Redigeer kletse" - :sign-in "Teken aan" - :create-new-account "Skep nuwe rekening" - :sign-in-to-status "Teken aan op Status" - :got-it "Het dit" - :move-to-internal-failure-message "Ons moet ‘n paar belangrike lêers skuif van eksterne na interne berging. Om dit te doen, het ons u toestemming nodig. Ons sal nie eksterne berging gebruik in toekomstige weergawes nie." - :edit-group "Redigeer groep" - :delete-group "Skrap groep" - :browsing-title "Blaai" - :reorder-groups "Herrangskik groepe" - :browsing-cancel "Kanselleer" - :faucet-success "Kraan versoek is ontvang" - :choose-from-contacts "Kies uit kontakte" - :new-group "Nuwe groep" - :phone-e164 "Internasionaal 1" - :remove-from-group "Verwyder van groep" - :search-contacts "Soek kontakte" - :transaction "Transaksie" - :public-group-status "Openbaar" - :leave-chat "Verlaat klets" - :start-conversation "Begin gesprek" - :topic-format "Verkeerde formaat [a-z0-9\\-]+" - :enter-valid-public-key "Voer asseblief ‘n geldige openbare sleutel in of skandeer ‘n QR-kode in" - :faucet-error "Kraan versoek fout" - :phone-significant "Aansienlik" - :search-for "Soek vir..." - :sharing-copy-to-clipboard "Kopieer na knipbord" - :phone-international "Internasionaal 2" - :enter-address "Voeg ‘n adres in" - :send-transaction "Stuur transaksie" - :delete-contact "Skrap kontak" - :mute-notifications "Demp kennisgewings" + :confirm "Bevestig" + :phone-national "Nasionaal" + :public-group-topic "Onderwerp" + :debug-enabled "Ontfout-bediener is bekendgestel! U kan nou u DApp byvoeg deur *status-dev-cli scan* te hardloop vanaf u rekenaar" + :new-public-group-chat "Sluit aan by openbare klets" + :datetime-ago-format "{{number}} {{time-intervals}} {{ago}}" + :sharing-cancel "Kanselleer" + :twelve-words-in-correct-order "12 woorde in korrekte volgorde" + :remove-from-contacts "Verwyder van kontakte" + :delete-chat "Skrap klets" + :edit-chats "Redigeer kletse" + :sign-in "Teken aan" + :create-new-account "Skep nuwe rekening" + :sign-in-to-status "Teken aan op Status" + :got-it "Het dit" + :move-to-internal-failure-message "Ons moet ‘n paar belangrike lêers skuif van eksterne na interne berging. Om dit te doen, het ons u toestemming nodig. Ons sal nie eksterne berging gebruik in toekomstige weergawes nie." + :edit-group "Redigeer groep" + :delete-group "Skrap groep" + :browsing-title "Blaai" + :reorder-groups "Herrangskik groepe" + :browsing-cancel "Kanselleer" + :faucet-success "Kraan versoek is ontvang" + :choose-from-contacts "Kies uit kontakte" + :new-group "Nuwe groep" + :phone-e164 "Internasionaal 1" + :remove-from-group "Verwyder van groep" + :search-contacts "Soek kontakte" + :transaction "Transaksie" + :public-group-status "Openbaar" + :leave-chat "Verlaat klets" + :start-conversation "Begin gesprek" + :topic-format "Verkeerde formaat [a-z0-9\\-]+" + :enter-valid-public-key "Voer asseblief ‘n geldige openbare sleutel in of skandeer ‘n QR-kode in" + :faucet-error "Kraan versoek fout" + :phone-significant "Aansienlik" + :search-for "Soek vir..." + :sharing-copy-to-clipboard "Kopieer na knipbord" + :phone-international "Internasionaal 2" + :enter-address "Voeg ‘n adres in" + :send-transaction "Stuur transaksie" + :delete-contact "Skrap kontak" + :mute-notifications "Demp kennisgewings" + :contact-s {:one "kontak" + :other "kontakte"} + :next "Volgende" + :from "Van" + :search-chats "Soek kletse" + :in-contacts "In kontakte" - :contact-s {:one "kontak" - :other "kontakte"} - :next "Volgende" - :from "Van" - :search-chats "Soek kletse" - :in-contacts "In kontakte" - - :sharing-share "Deel..." - :type-a-message "Tik ‘n boodskap..." - :type-a-command "Begin ‘n opdrag tik..." - :shake-your-phone "Vind ‘n fout of het ‘n voorstel? Skud ~net~ u foon!" - :status-prompt "Skep ‘n status om te help dat mense weet oor die goed wat u aanbied. U kan #hutsmerke ook gebruik." - :add-a-status "Voeg ‘n status by..." - :error "Fout" - :edit-contacts "Redigeer kontakte" - :more "meer" - :cancel "Kanselleer" - :no-statuses-found "Geen statusse gevind nie" - :browsing-open-in-web-browser "Maak oop in webblaaier" - :delete-group-prompt "Dit sal nie kontakte affekteer nie" - :edit-profile "Redigeer profiel" - - - :empty-topic "Leë onderwerp" - :to "Aan" - :data "Data"}) + :sharing-share "Deel..." + :type-a-message "Tik ‘n boodskap..." + :type-a-command "Begin ‘n opdrag tik..." + :shake-your-phone "Vind ‘n fout of het ‘n voorstel? Skud ~net~ u foon!" + :status-prompt "Skep ‘n status om te help dat mense weet oor die goed wat u aanbied. U kan #hutsmerke ook gebruik." + :add-a-status "Voeg ‘n status by..." + :error "Fout" + :edit-contacts "Redigeer kontakte" + :more "meer" + :cancel "Kanselleer" + :no-statuses-found "Geen statusse gevind nie" + :browsing-open-in-web-browser "Maak oop in webblaaier" + :delete-group-prompt "Dit sal nie kontakte affekteer nie" + :edit-profile "Redigeer profiel" :empty-topic "Leë onderwerp" + :to "Aan" + :data "Data"}) diff --git a/src/status_im/translations/ar.cljs b/src/status_im/translations/ar.cljs index 60947fb70a..f084fd8bcb 100644 --- a/src/status_im/translations/ar.cljs +++ b/src/status_im/translations/ar.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.ar) (def translations - { - ;;common + {;;common :members-title "الأعضاء" :not-implemented "!غير مُطَبّق" :chat-name "اسم الدردشة" @@ -132,10 +131,7 @@ :address-explication "ربما يتعين أن تتوافر هنا بعض النصوص التي تشرح ما هو العنوان وأين تبحث عنه" :contact-already-added "تمت إضافة جهة الاتصال" :can-not-add-yourself "لا يمكنك إضافة نفسك" - :unknown-address "عنوان غير معروف" - - - ;;login + :unknown-address "عنوان غير معروف";;login :connect "اتصال" :address "عنوان" :password "كلمة مرور" diff --git a/src/status_im/translations/bel.cljs b/src/status_im/translations/bel.cljs index d72cd7643d..ea81fcbed1 100644 --- a/src/status_im/translations/bel.cljs +++ b/src/status_im/translations/bel.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.bel) (def translations - { - ;;common + {;;common :members-title "Удзельнікі" :not-implemented "!не рэалізавана" :chat-name "Імя чата" @@ -146,10 +145,7 @@ :enter-valid-public-key "Калі ласка, увядзіце сапраўдны публічны ключ ці скануйце QR-код" :contact-already-added "Кантакт ўжо дададзены" :can-not-add-yourself "Вы не можаце дадаць сябе" - :unknown-address "Невядомы адрас" - - - ;;login + :unknown-address "Невядомы адрас";;login :connect "Падлучыцца" :address "Адрас" :password "Пароль" diff --git a/src/status_im/translations/cs.cljs b/src/status_im/translations/cs.cljs index d72c62a0d5..8349a0bcfb 100644 --- a/src/status_im/translations/cs.cljs +++ b/src/status_im/translations/cs.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.cs) (def translations - { - ;;common + {;;common :members-title "Členové" :not-implemented "!není implementováno" :chat-name "Název chatu" @@ -199,10 +198,7 @@ :enter-valid-public-key "Prosím zadejte platný veřejný klíč nebo načtěte QR kód" :contact-already-added "Tento kontakt již byl přidán" :can-not-add-yourself "Nemůžeš přidat sebe" - :unknown-address "Neznámá adresa" - - - ;;login + :unknown-address "Neznámá adresa";;login :connect "Připojit" :address "Adresa" :password "Heslo" diff --git a/src/status_im/translations/da.cljs b/src/status_im/translations/da.cljs index 6840f4d587..e4baee7958 100644 --- a/src/status_im/translations/da.cljs +++ b/src/status_im/translations/da.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.da) (def translations - { - ;;common + {;;common :members-title "Medlemmere" :not-implemented "Ikke implementeret!" :chat-name "Chatnavn" @@ -198,10 +197,7 @@ :enter-valid-public-key "Indtast venligst en gyldig offentlig nøgle eller scan en QR-kode" :contact-already-added "Kontakten er allerede tilføjet" :can-not-add-yourself "Du kan ikke tilføje dig selv fjolle" - :unknown-address "Ukendt adresse" - - - ;;login + :unknown-address "Ukendt adresse";;login :connect "Tilslut" :address "Adresse" :password "Kodeord" diff --git a/src/status_im/translations/de.cljs b/src/status_im/translations/de.cljs index 4a6cb0d4af..bd4e9bc805 100644 --- a/src/status_im/translations/de.cljs +++ b/src/status_im/translations/de.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.de) (def translations - { - ;;common + {;;common :members-title "Mitglieder" :not-implemented "!nicht implementiert" :chat-name "Chatname" @@ -329,11 +328,7 @@ :wallet-invalid-address "Ungültige Adresse: \n {{data}}" :wallet-browse-photos "Fotos durchsuchen" :validation-amount-invalid-number "Menge ist keine gültige Zahl" - :validation-amount-is-too-precise "Menge ist zu präzise. Die kleinste Einheit, die du senden kannst, ist 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "Menge ist zu präzise. Die kleinste Einheit, die du senden kannst, ist 1 Wei (1x10^-18 ETH)";; network settings :new-network "Neues Netzwerk" :add-network "Netzwerk hinzufügen" :add-new-network "Neues Netzwerk hinzufügen" diff --git a/src/status_im/translations/de_ch.cljs b/src/status_im/translations/de_ch.cljs index f2b24eabcc..45773625a7 100644 --- a/src/status_im/translations/de_ch.cljs +++ b/src/status_im/translations/de_ch.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.de-ch) (def translations - { - ;;common + {;;common :members-title "Mitglieder" :not-implemented "!nicht implementiert" :chat-name "Chat Name" @@ -132,10 +131,7 @@ :address-explication "Vielleicht sollte hier ein Text stehen der erklärt, was eine Adresse ist und wo man suchen soll" :contact-already-added "Der Kontakt wurde bereits hinzugefügt" :can-not-add-yourself "Du kannst dich nicht selbst hinzufügen" - :unknown-address "Unbekannte Adresse" - - - ;;login + :unknown-address "Unbekannte Adresse";;login :connect "Verbinden" :address "Adresse" :password "Passwort" diff --git a/src/status_im/translations/el.cljs b/src/status_im/translations/el.cljs index af99334dbd..a3cada9175 100644 --- a/src/status_im/translations/el.cljs +++ b/src/status_im/translations/el.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.el) (def translations - { - ;;common + {;;common :members-title "Μέλη" :not-implemented "!μη υλοποιημένο" :chat-name "Όνομα συνομιλίας" @@ -347,11 +346,7 @@ :wallet-transaction-fee-details "Το όριο gas είναι το ποσό του gas που θα αποσταλεί με τη συναλλαγή σας. Η αύξηση αυτού του αριθμού δε θα οδηγήσει σε ταχύτερη επεξεργασία της συναλλαγής σας" :wallet-transaction-total-fee "Σύνολική Χρέωση" :validation-amount-invalid-number "Το ποσό δεν είναι έγκυρος αριθμός" - :validation-amount-is-too-precise "Το ποσό είναι πολύ ακριβές. Η μικρότερη μονάδα που μπορείτε να στείλετε είναι 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "Το ποσό είναι πολύ ακριβές. Η μικρότερη μονάδα που μπορείτε να στείλετε είναι 1 Wei (1x10^-18 ETH)";; network settings :new-network "Νέο δίκτυο" :add-network "Προσθήκη δικτύου" :add-new-network "Προσθήκη νέου δικτύου" diff --git a/src/status_im/translations/en.cljs b/src/status_im/translations/en.cljs index b65ed0ded5..f685dd9047 100644 --- a/src/status_im/translations/en.cljs +++ b/src/status_im/translations/en.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.en) (def translations - { - ;;common + {;;common :members-title "Members" :not-implemented "!not implemented" :chat-name "Chat name" diff --git a/src/status_im/translations/es.cljs b/src/status_im/translations/es.cljs index 1995d2c901..1ae1ab6388 100644 --- a/src/status_im/translations/es.cljs +++ b/src/status_im/translations/es.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.es) (def translations - { - ;;common + {;;common :members-title "Miembros" :not-implemented "¡No se ha implementado!" :chat-name "Nombre del chat" @@ -327,11 +326,7 @@ :wallet-invalid-address "Dirección inválida: \n {{data}}" :wallet-browse-photos "Navegar Imágenes" :validation-amount-invalid-number "La cantidad no es un número válido" - :validation-amount-is-too-precise "La cantidad es demasiado precisa. La mínima unidad que puedes enviar es 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "La cantidad es demasiado precisa. La mínima unidad que puedes enviar es 1 Wei (1x10^-18 ETH)";; network settings :new-network "Nueva red" :add-network "Añadir red" :add-new-network "Añadir nueva red" diff --git a/src/status_im/translations/es_ar.cljs b/src/status_im/translations/es_ar.cljs index 4c239afce3..714ea9ecf1 100644 --- a/src/status_im/translations/es_ar.cljs +++ b/src/status_im/translations/es_ar.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.es-ar) (def translations - { - ;;common + {;;common :members-title "Miembros" :not-implemented "!no implementado" :chat-name "Nombre del chat" @@ -137,10 +136,7 @@ :address-explication "Tal vez, aquí debería haber alguna indicación explicando qué es una dirección y dónde buscarla" :contact-already-added "El contacto ya ha sido agregado" :can-not-add-yourself "No puedes agregarte a ti mismo(a)" - :unknown-address "Dirección desconocida" - - - ;;login + :unknown-address "Dirección desconocida";;login :connect "Conectar" :address "Dirección" :password "Contraseña" @@ -206,11 +202,8 @@ :enter-address "Ingresar dirección" :send-transaction "Enviar transacción" :delete-contact "Eliminar contacto" - :mute-notifications "Silenciar notificaciones" - - - :contact-s {:one "contacto" - :other "contactos"} + :mute-notifications "Silenciar notificaciones" :contact-s {:one "contacto" + :other "contactos"} :next "Siguiente" :from "De" :search-chats "Buscar chats" @@ -228,9 +221,6 @@ :no-statuses-found "No se encontraron estados" :browsing-open-in-web-browser "Abrir en navegador web" :delete-group-prompt "Esto no afectará a los contactos" - :edit-profile "Editar perfil" - - - :empty-topic "Tema vacío" + :edit-profile "Editar perfil" :empty-topic "Tema vacío" :to "Para" :data "Datos"}) diff --git a/src/status_im/translations/es_mx.cljs b/src/status_im/translations/es_mx.cljs index b4453f4521..5661054a37 100644 --- a/src/status_im/translations/es_mx.cljs +++ b/src/status_im/translations/es_mx.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.es-mx) (def translations - { - ;;common + {;;common :members-title "Miembros" :not-implemented "!No implementado!" :chat-name "Nombre del chat" @@ -198,10 +197,7 @@ :enter-valid-public-key "Por favor ingresa una llave pública o escanea un código QR" :contact-already-added "El contacto ya ha sido agregado" :can-not-add-yourself "No puedes agregarte a ti mismo" - :unknown-address "Dirección desconocida" - - - ;;login + :unknown-address "Dirección desconocida";;login :connect "Conectar" :address "Dirección" :password "Contraseña" diff --git a/src/status_im/translations/fi.cljs b/src/status_im/translations/fi.cljs index d8b24189c5..0e3b0e4d41 100644 --- a/src/status_im/translations/fi.cljs +++ b/src/status_im/translations/fi.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.fi) (def translations - { - ;;common + {;;common :members-title "Jäsenet" :not-implemented "!ei toteutettu" :chat-name "Keskustelun nimi" @@ -199,10 +198,7 @@ :enter-valid-public-key "Anna voimassaoleva julkinen osoite tai skannaa QR koodi" :contact-already-added "Tämä yhteystieto on jo lisätty" :can-not-add-yourself "Et voi lisätä itseäsi" - :unknown-address "Tuntematon osoite" - - - ;;login + :unknown-address "Tuntematon osoite";;login :connect "Yhdistä" :address "Osoite" :password "Salasana" diff --git a/src/status_im/translations/fr.cljs b/src/status_im/translations/fr.cljs index ae051d5786..fbe153f251 100644 --- a/src/status_im/translations/fr.cljs +++ b/src/status_im/translations/fr.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.fr) (def translations - { - ;;common + {;;common :members-title "Membres" :not-implemented "! Non disponible" :chat-name "Pseudonyme" @@ -346,11 +345,7 @@ :wallet-invalid-address "Adresse invalide: \n {{data}}" :wallet-browse-photos "Parcourir les Photos" :validation-amount-invalid-number "Le montant n'est pas un nombre valide" - :validation-amount-is-too-precise "Le montant est trop précis. La plus petite unité que vous pouvez saisir est 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "Le montant est trop précis. La plus petite unité que vous pouvez saisir est 1 Wei (1x10^-18 ETH)";; network settings :new-network "Nouveau réseau" :add-network "Ajouter un réseau" :add-new-network "Ajouter un nouveau réseau" diff --git a/src/status_im/translations/fr_ch.cljs b/src/status_im/translations/fr_ch.cljs index f9a5242433..e98dfda91d 100644 --- a/src/status_im/translations/fr_ch.cljs +++ b/src/status_im/translations/fr_ch.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.fr-ch) (def translations - { - ;;common + {;;common :members-title "Membres" :not-implemented "!pas mis en place" :chat-name "Nom de chat" @@ -132,10 +131,7 @@ :address-explication "On pourrait mettre ici un texte qui explique ce qu'est une adresse et comment la rechercher" :contact-already-added "Le contact a déjà été ajouté" :can-not-add-yourself "Vous ne pouvez pas vous ajouter vous-même" - :unknown-address "Adresse inconnue" - - - ;;login + :unknown-address "Adresse inconnue";;login :connect "Se connecter" :address "Adresse" :password "Mot de passe" @@ -203,11 +199,8 @@ :enter-address "Renseigner l'adresse" :send-transaction "Envoyer la transaction" :delete-contact "Supprimer le contact" - :mute-notifications "Désactiver le son des notifications" - - - :contact-s {:one "contact" - :other "contacts"} + :mute-notifications "Désactiver le son des notifications" :contact-s {:one "contact" + :other "contacts"} :next "Suivant" :from "De" :search-chats "Rechercher dans les discussions" @@ -226,9 +219,6 @@ :no-statuses-found "Aucun statut trouvé" :browsing-open-in-web-browser "Ouvrir dans le navigateur" :delete-group-prompt "Cela n'affectera pas les contacts" - :edit-profile "Modifier le profil" - - - :empty-topic "Sujet vide" + :edit-profile "Modifier le profil" :empty-topic "Sujet vide" :to "À" :data "Données"}) diff --git a/src/status_im/translations/fy.cljs b/src/status_im/translations/fy.cljs index 9551493ec7..89faa61956 100644 --- a/src/status_im/translations/fy.cljs +++ b/src/status_im/translations/fy.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.fy) (def translations - { - ;;common + {;;common :members-title "Leden" :not-implemented "!net ymplemintearre" :chat-name "Chatnamme" @@ -199,10 +198,7 @@ :enter-valid-public-key "Fear in jildich adres public kaai yn of scan in QR koade" :contact-already-added "De kontaktpersoan is ol tafoege" :can-not-add-yourself "Do kinst dysels net tafoegje" - :unknown-address "Ûnbekend adres" - - - ;;login + :unknown-address "Ûnbekend adres";;login :connect "Ferbine" :address "Adres" :password "Wachtwurd" diff --git a/src/status_im/translations/he.cljs b/src/status_im/translations/he.cljs index 1e7bcb1e5e..baf9b82d70 100644 --- a/src/status_im/translations/he.cljs +++ b/src/status_im/translations/he.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.he) (def translations - { - ;;common + {;;common :members-title "חבר" :not-implemented "!עדיין לא יושם" :chat-name "שם הצ'אט" @@ -200,10 +199,7 @@ :enter-valid-public-key "אנא הזן קוד פומבי תקף או סרוק ברקוד" :contact-already-added "איש הקשר כבר קיים" :can-not-add-yourself "אתה לא יכול להוסיף את עצמך" - :unknown-address "כתובת לא ידועה" - - - ;;login + :unknown-address "כתובת לא ידועה";;login :connect "התחבר" :address "כתובת" :password "סיסמא" diff --git a/src/status_im/translations/hi.cljs b/src/status_im/translations/hi.cljs index 099ba9d853..f6d1105a67 100644 --- a/src/status_im/translations/hi.cljs +++ b/src/status_im/translations/hi.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.hi) (def translations - { - ;;common + {;;common :members-title "सदस्य" :not-implemented "!कार्यान्वित नहीं" :chat-name "चैट नाम" @@ -132,10 +131,7 @@ :address-explication "संभवतः यहाँ कुछ टेक्स्ट विवरण होना चाहिए कि पता क्या है और इसे कहाँ खोजा जाए" :contact-already-added "संपर्क पहले से जोड़ लिया गया है" :can-not-add-yourself "आप अपने आपको नहीं जोड़ सकते" - :unknown-address "अज्ञात पता" - - - ;;login + :unknown-address "अज्ञात पता";;login :connect "कनेक्ट करें" :address "पता" :password "पासवर्ड" @@ -203,11 +199,8 @@ :enter-address "पता प्रविष्ट करें" :send-transaction "लेनदेन भेजें" :delete-contact "संपर्क मिटाएं" - :mute-notifications "अधिसूचनाएं म्यूट करें" - - - :contact-s {:one "संपर्क" - :other "संपर्क"} + :mute-notifications "अधिसूचनाएं म्यूट करें" :contact-s {:one "संपर्क" + :other "संपर्क"} :next "अगला" :from "द्वारा" :search-chats "चैट्स खोजें" @@ -226,9 +219,6 @@ :no-statuses-found "कोई स्टैटस नहीं मिले" :browsing-open-in-web-browser "वेब ब्राउज़र में खोलें" :delete-group-prompt "इससे संपर्क प्रभावित नहीं होंगे" - :edit-profile "प्रोफाइल का संपादन करें" - - - :empty-topic "रिक्त विषय" + :edit-profile "प्रोफाइल का संपादन करें" :empty-topic "रिक्त विषय" :to "प्रति" :data "डेटा"}) diff --git a/src/status_im/translations/hu.cljs b/src/status_im/translations/hu.cljs index da5f6099be..bbcdb72c00 100644 --- a/src/status_im/translations/hu.cljs +++ b/src/status_im/translations/hu.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.hu) (def translations - { - ;;common + {;;common :members-title "Tagok" :not-implemented "!nem végrehajtott" :chat-name "Csevegés neve" @@ -132,10 +131,7 @@ :address-explication "Itt talán szükség lenne egy kis szövegre, ami elmagyarázná, mi is az a cím és hol lehet megtalálni" :contact-already-added "A kapcsolat már hozzáadásra került" :can-not-add-yourself "Magadat nem adhatod hozzá" - :unknown-address "Ismeretlen cím" - - - ;;login + :unknown-address "Ismeretlen cím";;login :connect "Kapcsolódás" :address "Cím" :password "Jelszó" @@ -203,11 +199,8 @@ :enter-address "Cím megadása" :send-transaction "Tranzakció küldése" :delete-contact "Névjegy törlése" - :mute-notifications "Értesítések elnémítása" - - - :contact-s {:one "névjegy" - :other "névjegyek"} + :mute-notifications "Értesítések elnémítása" :contact-s {:one "névjegy" + :other "névjegyek"} :next "Következő" :from "Feladó" :search-chats "Csevegések keresése" @@ -226,9 +219,6 @@ :no-statuses-found "Nem található állapot" :browsing-open-in-web-browser "Megnyitás új böngészőben" :delete-group-prompt "Nem lesz hatással a névjegyekre" - :edit-profile "Profil szerkesztése" - - - :empty-topic "Üres téma" + :edit-profile "Profil szerkesztése" :empty-topic "Üres téma" :to "Címzett" :data "Adatok"}) diff --git a/src/status_im/translations/id.cljs b/src/status_im/translations/id.cljs index a78a37adf2..f64d05a316 100644 --- a/src/status_im/translations/id.cljs +++ b/src/status_im/translations/id.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.id) (def translations - { - ;;common + {;;common :members-title "anggota" :not-implemented "tidak diimplementasikan !" :chat-name "nama obrolan" @@ -132,10 +131,7 @@ :address-explication "mungkin harus ada beberapa konten untuk menjelaskan alamat ini dan di mana menemukannya" :contact-already-added "Kontak yang telah ditambahkan" :can-not-add-yourself "tidak dapat menambahkan anda sendiri" - :unknown-address "alamat tidak diketahui" - - - ;;login + :unknown-address "alamat tidak diketahui";;login :connect "terhubung" :address "alamat" :password "kata sandi" diff --git a/src/status_im/translations/it.cljs b/src/status_im/translations/it.cljs index bf8dc6ad2a..0099f6b7ef 100644 --- a/src/status_im/translations/it.cljs +++ b/src/status_im/translations/it.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.it) (def translations - { - ;;common + {;;common :members-title "Membri" :not-implemented "!non implementato" :chat-name "Nome della chat" @@ -327,11 +326,7 @@ :wallet-invalid-address "Indirizzo non valido: \n {{data}}" :wallet-browse-photos "Sfoglia Foto" :validation-amount-invalid-number "La Quantità è un numero invalido" - :validation-amount-is-too-precise "L'ammontare è troppo preciso. La più piccola unità che puoi inviare è 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "L'ammontare è troppo preciso. La più piccola unità che puoi inviare è 1 Wei (1x10^-18 ETH)";; network settings :new-network "Nuova rete" :add-network "Aggiungi rete" :add-new-network "Aggiungi nuova rete" diff --git a/src/status_im/translations/it_ch.cljs b/src/status_im/translations/it_ch.cljs index 52ed3167fc..dcf92b2d7d 100644 --- a/src/status_im/translations/it_ch.cljs +++ b/src/status_im/translations/it_ch.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.it-ch) (def translations - { - ;;common + {;;common :members-title "Membri" :not-implemented "!non implementato" :chat-name "Nome chat" @@ -132,10 +131,7 @@ :address-explication "Forse qui dovremmo spiegare cos'è un indirizzo e dove cercarlo" :contact-already-added "Il contatto è già stato aggiunto" :can-not-add-yourself "Non puoi aggiungere te stesso" - :unknown-address "Indirizzo sconosciuto" - - - ;;login + :unknown-address "Indirizzo sconosciuto";;login :connect "Effettua connessione" :address "Indirizzo" :password "Password" @@ -203,11 +199,8 @@ :enter-address "Inserisci indirizzo" :send-transaction "Invia transazione" :delete-contact "Elimina contatto" - :mute-notifications "Silenzia le notifiche" - - - :contact-s {:one "contatto" - :other "contatti"} + :mute-notifications "Silenzia le notifiche" :contact-s {:one "contatto" + :other "contatti"} :next "Avanti" :from "Da" :search-chats "Cerca nelle chat" @@ -226,9 +219,6 @@ :no-statuses-found "Nessuno stato trovato" :browsing-open-in-web-browser "Apri nel browser" :delete-group-prompt "Questo non intaccherà i contatti" - :edit-profile "Modifica profilo" - - - :empty-topic "Argomento non definito" + :edit-profile "Modifica profilo" :empty-topic "Argomento non definito" :to "A" :data "Dati"}) diff --git a/src/status_im/translations/ja.cljs b/src/status_im/translations/ja.cljs index 565fe210de..b96ecdd46e 100644 --- a/src/status_im/translations/ja.cljs +++ b/src/status_im/translations/ja.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.ja) (def translations - { - ;;common + {;;common :members-title "メンバー" :not-implemented "実装されていません" :chat-name "チャット名" @@ -338,10 +337,7 @@ :wallet-transaction-fee-details "Gas リミットは、取引で送付するgasの量です。 この数を増やしても、取引はより速く処理されません" :wallet-transaction-total-fee "合計料金" :validation-amount-invalid-number "金額は有効な数字ではありません" - :validation-amount-is-too-precise "金額が高すぎます。送れる最小単位は1 Wei(1x10 ^ -18 ETH)です。" - - - ;; network settings + :validation-amount-is-too-precise "金額が高すぎます。送れる最小単位は1 Wei(1x10 ^ -18 ETH)です。";; network settings :new-network "新しいネットワーク" :add-network "ネットワークを追加する" :add-new-network "新しいネットワークを追加" diff --git a/src/status_im/translations/ko.cljs b/src/status_im/translations/ko.cljs index 88e24d88e6..b444421fba 100644 --- a/src/status_im/translations/ko.cljs +++ b/src/status_im/translations/ko.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.ko) (def translations - { - ;;common + {;;common :members-title "멤버" :not-implemented "!구현되지 않음" :chat-name "채팅 이름" @@ -327,11 +326,7 @@ :wallet-invalid-address "잘못된 주소: \n {{data}}" :wallet-browse-photos "사진 보기" :validation-amount-invalid-number "잘못된 액수입니다" - :validation-amount-is-too-precise "액수가 너무 정확합니다. 최소 송금 단위는 1 Wei (1x10^-18 ETH) 입니다." - - - - ;; network settings + :validation-amount-is-too-precise "액수가 너무 정확합니다. 최소 송금 단위는 1 Wei (1x10^-18 ETH) 입니다.";; network settings :new-network "새 네트워크" :add-network "네트워크 추가" :add-new-network "새 네트워크 추가" diff --git a/src/status_im/translations/la.cljs b/src/status_im/translations/la.cljs index c5383e0bdc..cfc40a66a0 100644 --- a/src/status_im/translations/la.cljs +++ b/src/status_im/translations/la.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.la) (def translations - { - ;;common + {;;common :members-title "sodalis" :not-implemented "ne attexit" :chat-name "nomen colloquii" @@ -127,10 +126,7 @@ :address-explication "explain what adresses are" ;; TODO :contact-already-added "iste contagio jam adjunctum esse" :can-not-add-yourself "ne potest adjungere ipse!" - :unknown-address "ignotum adloquium" - - - ;;login + :unknown-address "ignotum adloquium";;login :connect "iungere" :address "adloquium" :password "signum arcanum" diff --git a/src/status_im/translations/lt.cljs b/src/status_im/translations/lt.cljs index 3cdbf985fa..d097eabc53 100644 --- a/src/status_im/translations/lt.cljs +++ b/src/status_im/translations/lt.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.lt) (def translations - { - ;;common + {;;common :members-title "Nariams" :not-implemented "neįgyvendinta" :chat-name "Pokalbio pavadinimas" @@ -329,11 +328,7 @@ :wallet-invalid-chain-id "Tinklas nesutampa su: \n {{data}}" :wallet-browse-photos "Naršyti žinutes" :validation-amount-invalid-number "Kiekio skaičius netinkamas" - :validation-amount-is-too-precise "Suma yra per daug tiksli. Mažiausias vienetas, kurį galite siųsti, yra 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "Suma yra per daug tiksli. Mažiausias vienetas, kurį galite siųsti, yra 1 Wei (1x10^-18 ETH)";; network settings :new-network "Naujas tinklas" :add-network "Pridėti tinklą" :add-new-network "Pridėti naują tinklą" diff --git a/src/status_im/translations/lv.cljs b/src/status_im/translations/lv.cljs index cb9ea880aa..6eca56b9c4 100644 --- a/src/status_im/translations/lv.cljs +++ b/src/status_im/translations/lv.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.lv) (def translations - { - ;;common + {;;common :members-title "Dalībnieki" :not-implemented "!tādas funkcijas pagaidām nav" :chat-name "Čata nosaukums" @@ -198,10 +197,7 @@ :enter-valid-public-key "Lūdzu ievadi publisko atslēgu, jeb skanē QR kodu" :contact-already-added "Kontakts jau bija pievienots" :can-not-add-yourself "Tu nevari pievienot sevi" - :unknown-address "Nezināmā adrese" - - - ;;login + :unknown-address "Nezināmā adrese";;login :connect "Savienoties" :address "Adrese" :password "Parole" diff --git a/src/status_im/translations/ms.cljs b/src/status_im/translations/ms.cljs index ebebf4a6f6..0a8ec417aa 100644 --- a/src/status_im/translations/ms.cljs +++ b/src/status_im/translations/ms.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.ms) (def translations - { - ;;common + {;;common :members-title "Ahli" :not-implemented "!tidak diimplementasikan" :chat-name "Nama perbualan" @@ -199,10 +198,7 @@ :enter-valid-public-key "Sila masukkan public key yang sah atau imbas kod QR" :contact-already-added "Kenalan telah ditambah" :can-not-add-yourself "Anda tidak boleh menambah diri anda sendiri" - :unknown-address "Address tidak diketahui" - - - ;;login + :unknown-address "Address tidak diketahui";;login :connect "Sambung" :address "Address" :password "Kata laluan" diff --git a/src/status_im/translations/nb.cljs b/src/status_im/translations/nb.cljs index c90c557d4b..e5ae840c2e 100644 --- a/src/status_im/translations/nb.cljs +++ b/src/status_im/translations/nb.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.nb) (def translations - { - ;;common + {;;common :members-title "Medlemmer" :not-implemented "!ikke implementert" :chat-name "Kallenavn" diff --git a/src/status_im/translations/ne.cljs b/src/status_im/translations/ne.cljs index a2b51f7ba3..a428292564 100644 --- a/src/status_im/translations/ne.cljs +++ b/src/status_im/translations/ne.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.ne) (def translations - { - ;;common + {;;common :members-title "सदस्यहरु" :not-implemented "कार्यान्वयन भएको छैन" :chat-name "च्याट नाम" diff --git a/src/status_im/translations/nl.cljs b/src/status_im/translations/nl.cljs index 3642373048..903e083abe 100644 --- a/src/status_im/translations/nl.cljs +++ b/src/status_im/translations/nl.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.nl) (def translations - { - ;;common + {;;common :members-title "Leden" :not-implemented "!niet geïmplementeerd" :chat-name "Chatnaam" diff --git a/src/status_im/translations/pl.cljs b/src/status_im/translations/pl.cljs index e3709e79d9..8e4ba2b629 100644 --- a/src/status_im/translations/pl.cljs +++ b/src/status_im/translations/pl.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.pl) (def translations - { - ;;common + {;;common :members-title "Użytkownicy" :not-implemented "nie wprowadzono" :chat-name "Nazwa czatu" @@ -132,10 +131,7 @@ :address-explication "Być może tutaj powinien znajdować się tekst wyjaśniający, czym jest adres i gdzie go szukać" :contact-already-added "Kontakt został już dodany" :can-not-add-yourself "Nie możesz dodać samego siebie" - :unknown-address "Nieznany adres" - - - ;;login + :unknown-address "Nieznany adres";;login :connect "Połącz" :address "Adres" :password "Hasło" @@ -203,11 +199,8 @@ :enter-address "Wprowadź adres" :send-transaction "Wyślij transakcję" :delete-contact "Usuń kontakt" - :mute-notifications "Wycisz powiadomienia" - - - :contact-s {:one "kontakt" - :other "kontakty"} + :mute-notifications "Wycisz powiadomienia" :contact-s {:one "kontakt" + :other "kontakty"} :next "Dalej" :from "Z" :search-chats "Przeszukaj czaty" @@ -226,9 +219,6 @@ :no-statuses-found "Nie znaleziono statusów" :browsing-open-in-web-browser "Otwórz w przeglądarce" :delete-group-prompt "To nie będzie miało wpływu na kontakty" - :edit-profile "Edytuj profil" - - - :empty-topic "Pusty temat" + :edit-profile "Edytuj profil" :empty-topic "Pusty temat" :to "Do" :data "Dane"}) diff --git a/src/status_im/translations/pt_br.cljs b/src/status_im/translations/pt_br.cljs index 4fbbe20ec8..b305b82763 100644 --- a/src/status_im/translations/pt_br.cljs +++ b/src/status_im/translations/pt_br.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.pt-br) (def translations - { - ;;common + {;;common :members-title "Membros" :not-implemented "não implementado" :chat-name "Nome do chat" @@ -132,10 +131,7 @@ :address-explication "Talvez aqui deveria haver algum texto explicando o que é um endereço e onde procurá-lo" :contact-already-added "O contato já foi adicionado" :can-not-add-yourself "Não é possível adicionar a si mesmo" - :unknown-address "E-mail desconhecido" - - - ;;login + :unknown-address "E-mail desconhecido";;login :connect "Conectar" :address "Endereço" :password "Senha" @@ -203,11 +199,8 @@ :enter-address "Inserir endereço" :send-transaction "Enviar transação" :delete-contact "Excluir contato" - :mute-notifications "Silenciar notificações" - - - :contact-s {:one "contato" - :other "contatos"} + :mute-notifications "Silenciar notificações" :contact-s {:one "contato" + :other "contatos"} :next "Próximo" :from "De" :search-chats "Buscar bate-papos" @@ -226,9 +219,6 @@ :no-statuses-found "Nenhum status encontrado" :browsing-open-in-web-browser "Abrir no navegador de internet" :delete-group-prompt "Isso não afetará os contatos" - :edit-profile "Editar perfil" - - - :empty-topic "Assunto vazio" + :edit-profile "Editar perfil" :empty-topic "Assunto vazio" :to "Para" :data "Dados"}) diff --git a/src/status_im/translations/pt_pt.cljs b/src/status_im/translations/pt_pt.cljs index 006c899396..4f62f79bee 100644 --- a/src/status_im/translations/pt_pt.cljs +++ b/src/status_im/translations/pt_pt.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.pt-pt) (def translations - { - ;;common + {;;common :members-title "Membros" :not-implemented "!não implementado" :chat-name "Nome no chat" @@ -132,10 +131,7 @@ :address-explication "Talvez aqui devesse aparecer algum texto a explicar o que é um endereço e onde procurá-lo" :contact-already-added "O contacto já foi adicionado" :can-not-add-yourself "Não pode adicionar-se a si mesmo" - :unknown-address "Endereço desconhecido" - - - ;;login + :unknown-address "Endereço desconhecido";;login :connect "Ligar" :address "Endereço" :password "Palavra-passe" @@ -203,11 +199,8 @@ :enter-address "Digitar o endereço" :send-transaction "Enviar a transação" :delete-contact "Apagar contacto" - :mute-notifications "Silenciar as notificações" - - - :contact-s {:one "contacto" - :other "Contactos"} + :mute-notifications "Silenciar as notificações" :contact-s {:one "contacto" + :other "Contactos"} :next "Próximo" :from "De" :search-chats "Pesquisar chats" @@ -226,9 +219,6 @@ :no-statuses-found "Nenhum estado encontrado" :browsing-open-in-web-browser "Abrir no navegador Web" :delete-group-prompt "Isto não afetará os contactos" - :edit-profile "Editar perfil" - - - :empty-topic "Tema em branco" + :edit-profile "Editar perfil" :empty-topic "Tema em branco" :to "Para" :data "Dados"}) diff --git a/src/status_im/translations/ro.cljs b/src/status_im/translations/ro.cljs index 2be596f9a4..6798f61874 100644 --- a/src/status_im/translations/ro.cljs +++ b/src/status_im/translations/ro.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.ro) (def translations - { - ;;common + {;;common :members-title "Membri" :not-implemented "!nu a fost implementat" :chat-name "Nume chat" @@ -132,10 +131,7 @@ :address-explication "Poate că aici ar trebui să fie un text care să explice ce este o adresă și unde să o cauți" :contact-already-added "Contactul a fost adăugat deja" :can-not-add-yourself "Nu te poți adăuga pe tine" - :unknown-address "Adresă necunoscută" - - - ;;login + :unknown-address "Adresă necunoscută";;login :connect "Conectare" :address "Adresă" :password "Parolă" @@ -203,11 +199,8 @@ :enter-address "Introduceți adresa" :send-transaction "Trimitere tranzacție" :delete-contact "Ștergere contact" - :mute-notifications "Notificări silențioase" - - - :contact-s {:one "contact" - :other "contacte"} + :mute-notifications "Notificări silențioase" :contact-s {:one "contact" + :other "contacte"} :next "Mai departe" :from "De la" :search-chats "Căutare discuții" @@ -226,9 +219,6 @@ :no-statuses-found "Niciun status găsit" :browsing-open-in-web-browser "Deschide în browser web" :delete-group-prompt "Aceasta nu va afecta contactele" - :edit-profile "Editare profil" - - - :empty-topic "Subiect gol" + :edit-profile "Editare profil" :empty-topic "Subiect gol" :to "Către" :data "Date"}) diff --git a/src/status_im/translations/ru.cljs b/src/status_im/translations/ru.cljs index 7e72558ea1..3747e8bb39 100644 --- a/src/status_im/translations/ru.cljs +++ b/src/status_im/translations/ru.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.ru) (def translations - { - ;;common + {;;common :members-title "Участники" :not-implemented "!не реализовано" :chat-name "Имя чата" @@ -327,11 +326,7 @@ :wallet-invalid-address "Недействительный адрес: \n {{data}}" :wallet-browse-photos "Просмотреть Фотографии" :validation-amount-invalid-number "Сумма недействительна" - :validation-amount-is-too-precise "Слишком много чисел после запятой. Наименьшая сумма, которую вы можете отправить это 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "Слишком много чисел после запятой. Наименьшая сумма, которую вы можете отправить это 1 Wei (1x10^-18 ETH)";; network settings :new-network "Новая сеть" :add-network "Добавить сеть" :add-new-network "Добавить новую сеть" diff --git a/src/status_im/translations/sl.cljs b/src/status_im/translations/sl.cljs index fae1dc9b69..6f97a1b94c 100644 --- a/src/status_im/translations/sl.cljs +++ b/src/status_im/translations/sl.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.sl) (def translations - { - ;;common + {;;common :members-title "Člani" :not-implemented "!ni implementirano" :chat-name "Ime za klepet" @@ -132,10 +131,7 @@ :address-explication "Sem morda sodi besedilo, ki razlaga, kaj je naslov ter kje ga najti" :contact-already-added "Stik je bil že dodan" :can-not-add-yourself "Sebe ni mogoče dodati" - :unknown-address "Neznan naslov" - - - ;;login + :unknown-address "Neznan naslov";;login :connect "Poveži" :address "Naslov" :password "Geslo" @@ -203,11 +199,8 @@ :enter-address "Vnesi naslov" :send-transaction "Pošlji transakcijo" :delete-contact "Izbriši stik" - :mute-notifications "Utišaj obvestila" - - - :contact-s {:one "stik" - :other "stiki"} + :mute-notifications "Utišaj obvestila" :contact-s {:one "stik" + :other "stiki"} :next "Naprej" :from "Od" :search-chats "Išči klepete" @@ -226,9 +219,6 @@ :no-statuses-found "Ni statusov" :browsing-open-in-web-browser "Odpri v spletnem brskalniku" :delete-group-prompt "To ne bo vplivalo na stike" - :edit-profile "Uredi profil" - - - :empty-topic "Prazna tema" + :edit-profile "Uredi profil" :empty-topic "Prazna tema" :to "Za" :data "Podatki"}) diff --git a/src/status_im/translations/sr_rs_cyrl.cljs b/src/status_im/translations/sr_rs_cyrl.cljs index 6a9d84a4e3..dd4f2201db 100644 --- a/src/status_im/translations/sr_rs_cyrl.cljs +++ b/src/status_im/translations/sr_rs_cyrl.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.sr-rs-cyrl) (def translations - { - ;;common + {;;common :members-title "Чланови" :not-implemented "!није имплементирано" :chat-name "Назив разговора" @@ -328,11 +327,7 @@ :wallet-invalid-address "Неисправна адреса: \n {{data}}" :wallet-browse-photos "Претражи слике" :validation-amount-invalid-number "Износ није исправан број" - :validation-amount-is-too-precise "Износ има превише децимала. Најмања јединица коју можете послати је 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "Износ има превише децимала. Најмања јединица коју можете послати је 1 Wei (1x10^-18 ETH)";; network settings :new-network "Нова мрежа" :add-network "Додај мрежу" :add-new-network "Додај нову мрежу" diff --git a/src/status_im/translations/sr_rs_latn.cljs b/src/status_im/translations/sr_rs_latn.cljs index fd7d10e7f6..5185d93422 100644 --- a/src/status_im/translations/sr_rs_latn.cljs +++ b/src/status_im/translations/sr_rs_latn.cljs @@ -68,7 +68,7 @@ (defn cyr->lat [cyr] (cond (string? cyr) (string/join - (map #(get letter-pairs (str %) (str %)) cyr)) + (map #(get letter-pairs (str %) (str %)) cyr)) (map? cyr) (into {} (map (fn [[k v]] [k (cyr->lat v)]) cyr)) :else nil)) diff --git a/src/status_im/translations/sv.cljs b/src/status_im/translations/sv.cljs index 1254703d37..b6a95d86e2 100644 --- a/src/status_im/translations/sv.cljs +++ b/src/status_im/translations/sv.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.sv) (def translations - { - ;;common + {;;common :members-title "Medlemmar" :not-implemented "!inte implementerad" :chat-name "Chattnamn" @@ -335,11 +334,7 @@ :wallet-invalid-chain-id "Felaktigt nätverk: \n {{data}}" :wallet-browse-photos "Bläddra foton" :validation-amount-invalid-number "Beloppet är inte ett giltigt tal" - :validation-amount-is-too-precise "Summan är för precis Den minsta summan du kan skicka är 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "Summan är för precis Den minsta summan du kan skicka är 1 Wei (1x10^-18 ETH)";; network settings :new-network "Nytt nätverk" :add-network "Lägg till nätverk" :add-new-network "Lägg till nytt nätverk" diff --git a/src/status_im/translations/sw.cljs b/src/status_im/translations/sw.cljs index 8a6cfb2f7f..bdb59fee6d 100644 --- a/src/status_im/translations/sw.cljs +++ b/src/status_im/translations/sw.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.sw) (def translations - { - ;;common + {;;common :members-title "Wanachama" :not-implemented "!haijatekelezwa" :chat-name "Jina la gumzo" @@ -137,10 +136,7 @@ :address-explication "Labda hapa kunapaswa kuwa na baadhi ya maandishi kueleza anwani ni nini na ni wapi pa kuitafuta" :contact-already-added "Tayari mawasiliano yameongezwa" :can-not-add-yourself "Huwezi kujiongeza mwenyewe" - :unknown-address "Anwani Haijulikani" - - - ;;login + :unknown-address "Anwani Haijulikani";;login :connect "Unganisha" :address "Anwani" :password "Nenosiri" diff --git a/src/status_im/translations/th.cljs b/src/status_im/translations/th.cljs index 38b02e758d..578c90e2e7 100644 --- a/src/status_im/translations/th.cljs +++ b/src/status_im/translations/th.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.th) (def translations - { - ;;common + {;;common :members-title "สมาชิก" :not-implemented "!ยังไม่ได้ดำเนินการ" :chat-name "ชื่อแชท" @@ -132,10 +131,7 @@ :address-explication "บางที ในที่นี้คุณควรกรอกข้อความสักเล็กน้อยเพื่อแสดงที่อยู่หรือสถานที่ที่จะมองหามันได้" :contact-already-added "ได้มีการเพิ่มผู้ติดต่อนี้แล้ว" :can-not-add-yourself "คุณไม่สามารถเพิ่มตัวคุณเอง" - :unknown-address "ที่อยู่ที่ไม่ทราบ" - - - ;;login + :unknown-address "ที่อยู่ที่ไม่ทราบ";;login :connect "เชื่อมต่อ" :address "ที่อยู่" :password "รหัสผ่าน" diff --git a/src/status_im/translations/tr.cljs b/src/status_im/translations/tr.cljs index 3eeb267423..4b8a89fc43 100644 --- a/src/status_im/translations/tr.cljs +++ b/src/status_im/translations/tr.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.tr) (def translations - { - ;;common + {;;common :members-title "Üyeler" :not-implemented "Uygulanmadı!" :chat-name "Sohbet adı" @@ -132,10 +131,7 @@ :address-explication "Burada belki de bir adresin ne olduğu ve bunu bulmak için nereye bakılmasıyla ilgili bazı metinler yer alabilir" :contact-already-added "Kişi zaten eklendi" :can-not-add-yourself "Kendinizi ekleyemezsiniz" - :unknown-address "Bilinmeyen adres" - - - ;;login + :unknown-address "Bilinmeyen adres";;login :connect "Bağlan" :address "Adres" :password "Şifre" diff --git a/src/status_im/translations/uk.cljs b/src/status_im/translations/uk.cljs index 01ad4aa3e0..26b03ab5c6 100644 --- a/src/status_im/translations/uk.cljs +++ b/src/status_im/translations/uk.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.uk) (def translations - { - ;;common + {;;common :members-title "Учасники" :not-implemented "!не реалізовано" :chat-name "Назва чату" @@ -335,11 +334,7 @@ :wallet-invalid-chain-id "Мережа не відповідає: \n {{data}}" :wallet-browse-photos "Переглянути Фотографії" :validation-amount-invalid-number "Сума недійсна" - :validation-amount-is-too-precise "Занадто багато цифр після десяткової коми. Найменша сума, яку ви можете надіслати це 1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "Занадто багато цифр після десяткової коми. Найменша сума, яку ви можете надіслати це 1 Wei (1x10^-18 ETH)";; network settings :new-network "Нова мережа" :add-network "Додати мережу" :add-new-network "Додати нову мережу" diff --git a/src/status_im/translations/ur.cljs b/src/status_im/translations/ur.cljs index 7ccda8d3d7..c89c63798f 100644 --- a/src/status_im/translations/ur.cljs +++ b/src/status_im/translations/ur.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.ur) (def translations - { - ;;common + {;;common :members-title "ممبران" :not-implemented "نافذ نہیں ہوا!" :chat-name "چیٹ کا نام" @@ -132,10 +131,7 @@ :address-explication "شائد یہاں آپ کو کچھ لکھنا چاہیے دیکھنے کے لیے کہ پتہ کیا ہے اور اسے کہاں ہونا چاہیے" :contact-already-added "کانٹیکٹ پہلے سے شامل ہے" :can-not-add-yourself "آپ خود کو شامل نہیں کر سکتے" - :unknown-address "نامعلوم پتہ" - - - ;;login + :unknown-address "نامعلوم پتہ";;login :connect "ملیں" :address "پتہ" :password "پاسورڈ" diff --git a/src/status_im/translations/vi.cljs b/src/status_im/translations/vi.cljs index b6c6707c88..54edde341c 100644 --- a/src/status_im/translations/vi.cljs +++ b/src/status_im/translations/vi.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.vi) (def translations - { - ;;common + {;;common :members-title "Các thành viên" :not-implemented "!không được thực hiện" :chat-name "Tên trò chuyện" @@ -132,10 +131,7 @@ :address-explication "Có lẽ ở đây nên có một vài nội dung để giải thích địa chỉ này là gì và phải tìm nó ở đâu" :contact-already-added "Liên hệ đã được thêm vào" :can-not-add-yourself "Bạn không thể tự thêm mình" - :unknown-address "Địa chỉ không xác định" - - - ;;login + :unknown-address "Địa chỉ không xác định";;login :connect "Kết nối" :address "Địa chỉ" :password "Mật khẩu" diff --git a/src/status_im/translations/zh_hans.cljs b/src/status_im/translations/zh_hans.cljs index f6e9d867c8..22720b2603 100644 --- a/src/status_im/translations/zh_hans.cljs +++ b/src/status_im/translations/zh_hans.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.zh-hans) (def translations - { - ;;common + {;;common :members-title "成员" :not-implemented "!未实现" :chat-name "聊天名称" @@ -328,11 +327,7 @@ :wallet-invalid-address "无效的地址: \n {{data}}" :wallet-browse-photos "浏览相册" :validation-amount-invalid-number "金额不是一个有效的数字" - :validation-amount-is-too-precise "金额过于精确,所能发送的最小单位是1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "金额过于精确,所能发送的最小单位是1 Wei (1x10^-18 ETH)";; network settings :new-network "新建网络" :add-network "添加网络" :add-new-network "添加新网络" diff --git a/src/status_im/translations/zh_hant.cljs b/src/status_im/translations/zh_hant.cljs index 81fd97ec96..51db13e5b8 100644 --- a/src/status_im/translations/zh_hant.cljs +++ b/src/status_im/translations/zh_hant.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.zh-hant) (def translations - { - ;;common + {;;common :members-title "成員" :not-implemented "!未實現" :chat-name "聊天名稱" @@ -328,11 +327,7 @@ :wallet-invalid-address "無效的地址: \n {{data}}" :wallet-browse-photos "瀏覽相冊" :validation-amount-invalid-number "金額不是一個有效的數字" - :validation-amount-is-too-precise "金額過於精確,所能發送的最小單位是1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "金額過於精確,所能發送的最小單位是1 Wei (1x10^-18 ETH)";; network settings :new-network "新建網絡" :add-network "添加網絡" :add-new-network "添加新網絡" diff --git a/src/status_im/translations/zh_hant_hk.cljs b/src/status_im/translations/zh_hant_hk.cljs index 9570e6113c..a355ceac33 100644 --- a/src/status_im/translations/zh_hant_hk.cljs +++ b/src/status_im/translations/zh_hant_hk.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.zh-hant-hk) (def translations - { - ;;common + {;;common :members-title "成員" :not-implemented "!未實現" :chat-name "聊天名稱" @@ -328,11 +327,7 @@ :wallet-invalid-address "無效的地址: \n {{data}}" :wallet-browse-photos "瀏覽相冊" :validation-amount-invalid-number "金額不是一個有效的數字" - :validation-amount-is-too-precise "金額過於精確,所能發送的最小單位是1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "金額過於精確,所能發送的最小單位是1 Wei (1x10^-18 ETH)";; network settings :new-network "新建網絡" :add-network "添加網絡" :add-new-network "添加新網絡" diff --git a/src/status_im/translations/zh_hant_sg.cljs b/src/status_im/translations/zh_hant_sg.cljs index cab84858ba..14dcf09e30 100644 --- a/src/status_im/translations/zh_hant_sg.cljs +++ b/src/status_im/translations/zh_hant_sg.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.zh-hant-sg) (def translations - { - ;;common + {;;common :members-title "成員" :not-implemented "!未實現" :chat-name "聊天名稱" @@ -328,11 +327,7 @@ :wallet-invalid-address "無效的地址: \n {{data}}" :wallet-browse-photos "瀏覽相簿" :validation-amount-invalid-number "金額不是一個有效的數字" - :validation-amount-is-too-precise "金額過於精確,所能傳送的最小單位是1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "金額過於精確,所能傳送的最小單位是1 Wei (1x10^-18 ETH)";; network settings :new-network "新建網路" :add-network "新增網路" :add-new-network "新增新網路" diff --git a/src/status_im/translations/zh_hant_tw.cljs b/src/status_im/translations/zh_hant_tw.cljs index 8bc2419606..5472bd11dc 100644 --- a/src/status_im/translations/zh_hant_tw.cljs +++ b/src/status_im/translations/zh_hant_tw.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.zh-hant-tw) (def translations - { - ;;common + {;;common :members-title "成員" :not-implemented "!未實現" :chat-name "聊天名稱" @@ -328,11 +327,7 @@ :wallet-invalid-address "無效的地址: \n {{data}}" :wallet-browse-photos "瀏覽相簿" :validation-amount-invalid-number "金額不是一個有效的數字" - :validation-amount-is-too-precise "金額過於精確,所能傳送的最小單位是1 Wei (1x10^-18 ETH)" - - - - ;; network settings + :validation-amount-is-too-precise "金額過於精確,所能傳送的最小單位是1 Wei (1x10^-18 ETH)";; network settings :new-network "新建網路" :add-network "新增網路" :add-new-network "新增新網路" diff --git a/src/status_im/translations/zh_wuu.cljs b/src/status_im/translations/zh_wuu.cljs index 34d43aec7a..57866db810 100644 --- a/src/status_im/translations/zh_wuu.cljs +++ b/src/status_im/translations/zh_wuu.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.zh-wuu) (def translations - { - ;;common + {;;common :members-title "会员" :not-implemented "!未实现" :chat-name "聊天名称" @@ -199,10 +198,7 @@ :enter-valid-public-key "请输入有效公钥或扫描QR码" :contact-already-added "联系人已被添加" :can-not-add-yourself "您不能添加您自己" - :unknown-address "未知地址" - - - ;;login + :unknown-address "未知地址";;login :connect "连接" :address "地址" :password "密码" diff --git a/src/status_im/translations/zh_yue.cljs b/src/status_im/translations/zh_yue.cljs index c348913efd..3a7320aca8 100644 --- a/src/status_im/translations/zh_yue.cljs +++ b/src/status_im/translations/zh_yue.cljs @@ -1,8 +1,7 @@ (ns status-im.translations.zh-yue) (def translations - { - ;;common + {;;common :members-title "會員" :not-implemented "!未能實現" :chat-name "用戶名稱" @@ -199,10 +198,7 @@ :enter-valid-public-key "請輸入有效公鑰或掃描QR碼" :contact-already-added "此聯繫人已添加" :can-not-add-yourself "你不能添加自己" - :unknown-address "未知地址" - - - ;;login + :unknown-address "未知地址";;login :connect "連接" :address "地址" :password "密碼" diff --git a/src/status_im/transport/core.cljs b/src/status_im/transport/core.cljs index 0c897d82c0..a5eb788661 100644 --- a/src/status_im/transport/core.cljs +++ b/src/status_im/transport/core.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "API to init and stop whisper messaging"} - status-im.transport.core + status-im.transport.core (:require [cljs.spec.alpha :as spec] [re-frame.core :as re-frame] [status-im.constants :as constants] @@ -27,13 +27,13 @@ :sym-key-id sym-key-id}])) topic (transport.utils/get-topic constants/contact-discovery)] (handlers-macro/merge-fx cofx - {:shh/add-discovery-filter {:web3 web3 - :private-key-id public-key - :topic topic} - :shh/restore-sym-keys {:web3 web3 - :transport (:transport/chats db) - :on-success sym-key-added-callback}} - (inbox/initialize-offline-inbox))))) + {:shh/add-discovery-filter {:web3 web3 + :private-key-id public-key + :topic topic} + :shh/restore-sym-keys {:web3 web3 + :transport (:transport/chats db) + :on-success sym-key-added-callback}} + (inbox/initialize-offline-inbox))))) ;;TODO (yenda) remove once go implements persistence ;;Since symkeys are not persisted, we restore them via add sym-keys, @@ -41,17 +41,17 @@ ;;it saves the sym-key-id in app-db to send messages later ;;and starts a filter to receive messages (handlers/register-handler-fx - ::sym-key-added - (fn [{:keys [db]} [_ {:keys [chat-id sym-key sym-key-id]}]] - (let [web3 (:web3 db) - {:keys [topic] :as chat} (get-in db [:transport/chats chat-id])] - {:db (assoc-in db [:transport/chats chat-id :sym-key-id] sym-key-id) - :data-store.transport/save {:chat-id chat-id - :chat (assoc chat :sym-key-id sym-key-id)} - :shh/add-filter {:web3 web3 - :sym-key-id sym-key-id - :topic topic - :chat-id chat-id}}))) + ::sym-key-added + (fn [{:keys [db]} [_ {:keys [chat-id sym-key sym-key-id]}]] + (let [web3 (:web3 db) + {:keys [topic] :as chat} (get-in db [:transport/chats chat-id])] + {:db (assoc-in db [:transport/chats chat-id :sym-key-id] sym-key-id) + :data-store.transport/save {:chat-id chat-id + :chat (assoc chat :sym-key-id sym-key-id)} + :shh/add-filter {:web3 web3 + :sym-key-id sym-key-id + :topic topic + :chat-id chat-id}}))) ;;TODO (yenda) uncomment and rework once go implements persistence #_(doseq [[chat-id {:keys [sym-key-id topic] :as chat}] transport] diff --git a/src/status_im/transport/db.cljs b/src/status_im/transport/db.cljs index fa5ec99ea0..03c2eaf94b 100644 --- a/src/status_im/transport/db.cljs +++ b/src/status_im/transport/db.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "DB spec and utils for the transport layer"} - status-im.transport.db + status-im.transport.db (:require-macros [status-im.utils.db :refer [allowed-keys]]) (:require [cljs.spec.alpha :as spec])) @@ -22,7 +22,6 @@ (spec/def :transport/chats (spec/map-of :global/not-empty-string :transport/chat)) (spec/def :transport/discovery-filter (spec/nilable any?)) - (defn create-chat "Initialize datastructure for chat representation at the transport level Currently only :topic is actually used" diff --git a/src/status_im/transport/filters.cljs b/src/status_im/transport/filters.cljs index bc2c08d567..ada813a699 100644 --- a/src/status_im/transport/filters.cljs +++ b/src/status_im/transport/filters.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "API for whisper filters"} - status-im.transport.filters + status-im.transport.filters (:require [re-frame.core :as re-frame] [status-im.utils.handlers :as handlers] [status-im.transport.utils :as utils] @@ -28,44 +28,44 @@ (add-shh-filter! web3 options callback))) (re-frame/reg-fx - :shh/add-filter - (fn [{:keys [web3 sym-key-id topic chat-id]}] - (when-let [filter (add-filter! web3 - {:topics [topic] - :symKeyID sym-key-id} - (fn [js-error js-message] - (re-frame/dispatch [:protocol/receive-whisper-message js-error js-message chat-id])))] - (re-frame/dispatch [::filter-added chat-id filter])))) + :shh/add-filter + (fn [{:keys [web3 sym-key-id topic chat-id]}] + (when-let [filter (add-filter! web3 + {:topics [topic] + :symKeyID sym-key-id} + (fn [js-error js-message] + (re-frame/dispatch [:protocol/receive-whisper-message js-error js-message chat-id])))] + (re-frame/dispatch [::filter-added chat-id filter])))) (handlers/register-handler-db - ::filter-added - [re-frame/trim-v] - (fn [db [chat-id filter]] - (assoc-in db [:transport/chats chat-id :filter] filter))) + ::filter-added + [re-frame/trim-v] + (fn [db [chat-id filter]] + (assoc-in db [:transport/chats chat-id :filter] filter))) (re-frame/reg-fx - :shh/add-discovery-filter - (fn [{:keys [web3 private-key-id topic]}] - (when-let [filter (add-filter! web3 - {:topics [topic] - :privateKeyID private-key-id} - (fn [js-error js-message] - (re-frame/dispatch [:protocol/receive-whisper-message js-error js-message])))] - (re-frame/dispatch [::discovery-filter-added filter])))) + :shh/add-discovery-filter + (fn [{:keys [web3 private-key-id topic]}] + (when-let [filter (add-filter! web3 + {:topics [topic] + :privateKeyID private-key-id} + (fn [js-error js-message] + (re-frame/dispatch [:protocol/receive-whisper-message js-error js-message])))] + (re-frame/dispatch [::discovery-filter-added filter])))) (handlers/register-handler-db - ::discovery-filter-added - [re-frame/trim-v] - (fn [db [filter]] - (assoc db :transport/discovery-filter filter))) + ::discovery-filter-added + [re-frame/trim-v] + (fn [db [filter]] + (assoc db :transport/discovery-filter filter))) (re-frame/reg-fx - :shh/remove-filter - (fn [filter] - (when filter (remove-filter! filter)))) + :shh/remove-filter + (fn [filter] + (when filter (remove-filter! filter)))) (re-frame/reg-fx - :shh/remove-filters - (fn [filters] - (doseq [filter filters] - (remove-filter! filter)))) + :shh/remove-filters + (fn [filters] + (doseq [filter filters] + (remove-filter! filter)))) diff --git a/src/status_im/transport/handlers.cljs b/src/status_im/transport/handlers.cljs index 82df33d3cb..7d4dab16ff 100644 --- a/src/status_im/transport/handlers.cljs +++ b/src/status_im/transport/handlers.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Events for message handling"} - status-im.transport.handlers + status-im.transport.handlers (:require [re-frame.core :as re-frame] [status-im.utils.handlers :as handlers] [status-im.transport.message.core :as message] @@ -18,27 +18,27 @@ [status-im.transport.message.v1.group-chat :as v1.group-chat])) (handlers/register-handler-fx - :protocol/receive-whisper-message - [re-frame/trim-v (re-frame/inject-cofx :random-id)] - (fn [cofx [js-error js-message chat-id]] - (let [{:keys [payload sig]} (js->clj js-message :keywordize-keys true) - status-message (-> payload - transport.utils/to-utf8 - transit/deserialize)] - (when (and sig status-message) - (message/receive status-message (or chat-id sig) sig cofx))))) + :protocol/receive-whisper-message + [re-frame/trim-v (re-frame/inject-cofx :random-id)] + (fn [cofx [js-error js-message chat-id]] + (let [{:keys [payload sig]} (js->clj js-message :keywordize-keys true) + status-message (-> payload + transport.utils/to-utf8 + transit/deserialize)] + (when (and sig status-message) + (message/receive status-message (or chat-id sig) sig cofx))))) (handlers/register-handler-fx - :protocol/send-status-message-success - [re-frame/trim-v] - (fn [{:keys [db] :as cofx} [_ resp]] - (log/debug :send-status-message-success resp))) + :protocol/send-status-message-success + [re-frame/trim-v] + (fn [{:keys [db] :as cofx} [_ resp]] + (log/debug :send-status-message-success resp))) (handlers/register-handler-fx - :protocol/send-status-message-error - [re-frame/trim-v] - (fn [{:keys [db] :as cofx} [err]] - (log/error :send-status-message-error err))) + :protocol/send-status-message-error + [re-frame/trim-v] + (fn [{:keys [db] :as cofx} [err]] + (log/error :send-status-message-error err))) (handlers/register-handler-fx :contact/send-new-sym-key @@ -91,7 +91,6 @@ :timestamp (str (inst-ms (js/Date.)))}) chat-id))))) - (handlers/register-handler-fx :group/unsubscribe-from-chat [re-frame/trim-v] diff --git a/src/status_im/transport/inbox.cljs b/src/status_im/transport/inbox.cljs index e8a040f182..e8ffe7983c 100644 --- a/src/status_im/transport/inbox.cljs +++ b/src/status_im/transport/inbox.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Offline inboxing events and API"} - status-im.transport.inbox + status-im.transport.inbox (:require [re-frame.core :as re-frame] [status-im.native-module.core :as status] [status-im.utils.handlers :as handlers] @@ -122,111 +122,109 @@ (error-fn err topic)))))))) (re-frame/reg-fx - ::add-peer - (fn [{:keys [wnode]}] - (add-peer wnode - #(re-frame/dispatch [:inbox/fetch-peers]) - #(log/error "offline inbox: add-peer error" %)))) + ::add-peer + (fn [{:keys [wnode]}] + (add-peer wnode + #(re-frame/dispatch [:inbox/fetch-peers]) + #(log/error "offline inbox: add-peer error" %)))) (re-frame/reg-fx - ::fetch-peers - (fn [retries] - (fetch-peers #(re-frame/dispatch [:inbox/check-peer-added % retries]) - #(log/error "offline inbox: fetch-peers error" %)))) + ::fetch-peers + (fn [retries] + (fetch-peers #(re-frame/dispatch [:inbox/check-peer-added % retries]) + #(log/error "offline inbox: fetch-peers error" %)))) (re-frame/reg-fx - ::mark-trusted-peer - (fn [{:keys [wnode web3]}] - (mark-trusted-peer web3 - wnode - #(re-frame/dispatch [:inbox/connection-success %]) - #(log/error "offline inbox: mark-trusted-peer error" % wnode)))) - -(re-frame/reg-fx - ::request-messages - (fn [{:keys [wnode topics to from sym-key-id web3]}] - (request-messages web3 + ::mark-trusted-peer + (fn [{:keys [wnode web3]}] + (mark-trusted-peer web3 wnode - topics - to - from - sym-key-id - #(log/info "offline inbox: request-messages response" %) - #(log/error "offline inbox: request-messages error" %1 %2 to from)))) + #(re-frame/dispatch [:inbox/connection-success %]) + #(log/error "offline inbox: mark-trusted-peer error" % wnode)))) + +(re-frame/reg-fx + ::request-messages + (fn [{:keys [wnode topics to from sym-key-id web3]}] + (request-messages web3 + wnode + topics + to + from + sym-key-id + #(log/info "offline inbox: request-messages response" %) + #(log/error "offline inbox: request-messages error" %1 %2 to from)))) ;;;; Handlers (handlers/register-handler-fx - :inbox/add-peer + :inbox/add-peer ;; This event adds a wnode to the list of peers - (fn [_ [_ wnode]] - {::add-peer {:wnode wnode}})) + (fn [_ [_ wnode]] + {::add-peer {:wnode wnode}})) (handlers/register-handler-fx - :inbox/fetch-peers + :inbox/fetch-peers ;; This event fetches the list of peers ;; We want it to check if the node has been added - (fn [_ [_ retries]] - {::fetch-peers (or retries 0)})) + (fn [_ [_ retries]] + {::fetch-peers (or retries 0)})) (handlers/register-handler-fx - :inbox/check-peer-added + :inbox/check-peer-added ;; We check if the wnode is part of the peers list ;; if not we dispatch a new fetch-peer event for later - (fn [{:keys [db]} [_ peers retries]] - (let [web3 (:web3 db) - wnode (get-current-wnode-address db)] - (log/info "offline inbox: fetch-peers response" peers) - (if (registered-peer? peers wnode) - {::mark-trusted-peer {:web3 web3 - :wnode wnode}} - (do - (log/info "Peer" wnode "is not registered. Retrying fetch peers.") - (let [delay (if (< retries 3) 300 5000)] - (if (> retries 10) - (do (log/error :mailserver-connection-error) - (utils/show-popup (i18n/label :t/error) - (i18n/label :t/mailserver-connection-error))) - {:dispatch-later [{:ms delay :dispatch [:inbox/fetch-peers (inc retries)]}]}))))))) - - + (fn [{:keys [db]} [_ peers retries]] + (let [web3 (:web3 db) + wnode (get-current-wnode-address db)] + (log/info "offline inbox: fetch-peers response" peers) + (if (registered-peer? peers wnode) + {::mark-trusted-peer {:web3 web3 + :wnode wnode}} + (do + (log/info "Peer" wnode "is not registered. Retrying fetch peers.") + (let [delay (if (< retries 3) 300 5000)] + (if (> retries 10) + (do (log/error :mailserver-connection-error) + (utils/show-popup (i18n/label :t/error) + (i18n/label :t/mailserver-connection-error))) + {:dispatch-later [{:ms delay :dispatch [:inbox/fetch-peers (inc retries)]}]}))))))) (handlers/register-handler-fx - :inbox/get-sym-key - (fn [{:keys [db]} _] - (let [web3 (:web3 db) - wnode (get-current-wnode-address db) - password (:inbox/password db)] - {:shh/generate-sym-key-from-password {:password password - :web3 web3 - :on-success (fn [_ sym-key-id] - (re-frame/dispatch [:inbox/get-sym-key-success sym-key-id])) - :on-error #(log/error "offline inbox: get-sym-key error" %)}}))) + :inbox/get-sym-key + (fn [{:keys [db]} _] + (let [web3 (:web3 db) + wnode (get-current-wnode-address db) + password (:inbox/password db)] + {:shh/generate-sym-key-from-password {:password password + :web3 web3 + :on-success (fn [_ sym-key-id] + (re-frame/dispatch [:inbox/get-sym-key-success sym-key-id])) + :on-error #(log/error "offline inbox: get-sym-key error" %)}}))) (handlers/register-handler-fx - :inbox/get-sym-key-success - (fn [{:keys [db]} [_ sym-key-id]] - {:db (assoc db :inbox/sym-key-id sym-key-id)})) + :inbox/get-sym-key-success + (fn [{:keys [db]} [_ sym-key-id]] + {:db (assoc db :inbox/sym-key-id sym-key-id)})) (handlers/register-handler-fx - :inbox/connection-success - (fn [{:keys [db]} _] - {:db (assoc db :mailserver-status :connected)})) + :inbox/connection-success + (fn [{:keys [db]} _] + {:db (assoc db :mailserver-status :connected)})) (handlers/register-handler-fx - :inbox/request-messages - (fn [{:keys [db now]} [_ {:keys [from topics]}]] - (let [web3 (:web3 db) - wnode (get-current-wnode-address db) - topics (or topics - (map #(:topic %) (vals (:transport/chats db)))) - from (or from (:inbox/last-request db) nil) - sym-key-id (:inbox/sym-key-id db)] - {::request-messages {:wnode wnode - :topics topics + :inbox/request-messages + (fn [{:keys [db now]} [_ {:keys [from topics]}]] + (let [web3 (:web3 db) + wnode (get-current-wnode-address db) + topics (or topics + (map #(:topic %) (vals (:transport/chats db)))) + from (or from (:inbox/last-request db) nil) + sym-key-id (:inbox/sym-key-id db)] + {::request-messages {:wnode wnode + :topics topics ;;TODO (yenda) fix from, right now mailserver is dropping us ;;when we send a requestMessage with a from field ;;:from from - :sym-key-id sym-key-id - :web3 web3} - :db (assoc db :inbox/last-request (quot now 1000))}))) + :sym-key-id sym-key-id + :web3 web3} + :db (assoc db :inbox/last-request (quot now 1000))}))) diff --git a/src/status_im/transport/message/core.cljs b/src/status_im/transport/message/core.cljs index 38221ddd8b..28a6de13a6 100644 --- a/src/status_im/transport/message/core.cljs +++ b/src/status_im/transport/message/core.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Definition of the StatusMessage protocol"} - status-im.transport.message.core) + status-im.transport.message.core) (defprotocol StatusMessage "Protocol for the messages that are sent through the transport layer" diff --git a/src/status_im/transport/message/transit.cljs b/src/status_im/transport/message/transit.cljs index df72e68792..b638c6eec1 100644 --- a/src/status_im/transport/message/transit.cljs +++ b/src/status_im/transport/message/transit.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Transit custom readers and writers, required when adding a new record implementing StatusMessage protocol"} - status-im.transport.message.transit + status-im.transport.message.transit (:require [status-im.transport.message.v1.contact :as v1.contact] [status-im.transport.message.v1.protocol :as v1.protocol] [status-im.transport.message.v1.group-chat :as v1.group-chat] @@ -111,7 +111,6 @@ "g3" (fn [_] (v1.group-chat/GroupLeave.))}})) - (defn serialize "Serializes a record implementing the StatusMessage protocol using the custom writers" [o] diff --git a/src/status_im/transport/message/v1/contact.cljs b/src/status_im/transport/message/v1/contact.cljs index d0e1dac6eb..8179924579 100644 --- a/src/status_im/transport/message/v1/contact.cljs +++ b/src/status_im/transport/message/v1/contact.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Contact request and update API"} - status-im.transport.message.v1.contact + status-im.transport.message.v1.contact (:require [re-frame.core :as re-frame] [status-im.transport.message.core :as message] [status-im.transport.message.v1.protocol :as protocol] @@ -22,10 +22,10 @@ :topic topic :message message}]))] (handlers-macro/merge-fx cofx - {:shh/add-new-sym-key {:web3 (get-in cofx [:db :web3]) - :sym-key sym-key - :on-success on-success}} - (protocol/init-chat chat-id topic))))) + {:shh/add-new-sym-key {:web3 (get-in cofx [:db :web3]) + :sym-key sym-key + :on-success on-success}} + (protocol/init-chat chat-id topic))))) (defrecord ContactRequest [name profile-image address fcm-token] message/StatusMessage @@ -40,33 +40,33 @@ :topic topic :message this}]))] (handlers-macro/merge-fx cofx - {:shh/get-new-sym-key {:web3 (:web3 db) - :on-success on-success}} - (protocol/init-chat chat-id topic) - #_(protocol/requires-ack message-id chat-id)))) + {:shh/get-new-sym-key {:web3 (:web3 db) + :on-success on-success}} + (protocol/init-chat chat-id topic) + #_(protocol/requires-ack message-id chat-id)))) (receive [this chat-id signature {:keys [db] :as cofx}] (let [message-id (transport.utils/message-id this)] (when (protocol/is-new? message-id) (handlers-macro/merge-fx cofx - #_(protocol/ack message-id chat-id) - (contacts/receive-contact-request signature - this)))))) + #_(protocol/ack message-id chat-id) + (contacts/receive-contact-request signature + this)))))) (defrecord ContactRequestConfirmed [name profile-image address fcm-token] message/StatusMessage (send [this chat-id cofx] (let [message-id (transport.utils/message-id this)] (handlers-macro/merge-fx cofx - #_(protocol/requires-ack message-id chat-id) - (protocol/send {:chat-id chat-id - :payload this})))) + #_(protocol/requires-ack message-id chat-id) + (protocol/send {:chat-id chat-id + :payload this})))) (receive [this chat-id signature cofx] (let [message-id (transport.utils/message-id this)] (when (protocol/is-new? message-id) (handlers-macro/merge-fx cofx - #_(protocol/ack message-id chat-id) - (contacts/receive-contact-request-confirmation signature - this)))))) + #_(protocol/ack message-id chat-id) + (contacts/receive-contact-request-confirmation signature + this)))))) (defrecord ContactUpdate [name profile-image] message/StatusMessage @@ -74,12 +74,12 @@ (let [message-id (transport.utils/message-id this) public-keys (remove nil? (map :public-key (vals (:contacts/contacts db))))] (handlers-macro/merge-fx cofx - (protocol/multi-send-with-pubkey {:public-keys public-keys - :payload this})))) + (protocol/multi-send-with-pubkey {:public-keys public-keys + :payload this})))) (receive [this chat-id signature cofx] (let [message-id (transport.utils/message-id this)] (when (protocol/is-new? message-id) (handlers-macro/merge-fx cofx - (contacts/receive-contact-update chat-id - signature - this)))))) + (contacts/receive-contact-update chat-id + signature + this)))))) diff --git a/src/status_im/transport/message/v1/group_chat.cljs b/src/status_im/transport/message/v1/group_chat.cljs index e23d475623..622bb209b2 100644 --- a/src/status_im/transport/message/v1/group_chat.cljs +++ b/src/status_im/transport/message/v1/group_chat.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Group chat API"} - status-im.transport.message.v1.group-chat + status-im.transport.message.v1.group-chat (:require [clojure.set :as set] [re-frame.core :as re-frame] [status-im.utils.handlers-macro :as handlers-macro] @@ -11,7 +11,6 @@ [status-im.transport.message.v1.protocol :as protocol] [status-im.transport.utils :as transport.utils])) - ;; NOTE: We ignore the chat-id from the send and receive method. ;; The chat-id is usually deduced from the filter the message comes from but not in that case because it is sent ;; individually to each participant of the group. @@ -27,15 +26,15 @@ cofx))) (receive [this _ signature {:keys [db] :as cofx}] (handlers-macro/merge-fx cofx - {:shh/add-new-sym-key {:web3 (:web3 db) - :sym-key sym-key - :on-success (fn [sym-key sym-key-id] - (re-frame/dispatch [:group/add-new-sym-key {:chat-id chat-id - :signature signature - :sym-key sym-key - :sym-key-id sym-key-id - :message message}]))}} - (protocol/init-chat chat-id)))) + {:shh/add-new-sym-key {:web3 (:web3 db) + :sym-key sym-key + :on-success (fn [sym-key sym-key-id] + (re-frame/dispatch [:group/add-new-sym-key {:chat-id chat-id + :signature signature + :sym-key sym-key + :sym-key-id sym-key-id + :message message}]))}} + (protocol/init-chat chat-id)))) (defn- user-is-group-admin? [chat-id cofx] (= (get-in cofx [:db :chats chat-id :group-admin]) @@ -46,9 +45,9 @@ {:shh/get-new-sym-key {:web3 (get-in cofx [:db :web3]) :on-success (fn [sym-key sym-key-id] (re-frame/dispatch [:group/send-new-sym-key {:chat-id chat-id - :sym-key sym-key - :sym-key-id sym-key-id - :message message}]))}})) + :sym-key sym-key + :sym-key-id sym-key-id + :message message}]))}})) (defn- prepare-system-message [admin-name added-participants removed-participants contacts] (let [added-participants-names (map #(get-in contacts [% :name] %) added-participants) @@ -78,8 +77,8 @@ message/StatusMessage (send [this chat-id cofx] (handlers-macro/merge-fx cofx - (init-chat-if-new chat-id) - (send-new-group-key this chat-id))) + (init-chat-if-new chat-id) + (send-new-group-key this chat-id))) (receive [this chat-id signature {:keys [now db random-id] :as cofx}] (let [me (:current-public-key db)] ;; we have to check if we already have a chat, or it's a new one @@ -92,22 +91,22 @@ group-admin)] (if (removed me) ;; we were removed (handlers-macro/merge-fx cofx - (models.message/receive - (models.message/system-message chat-id random-id now - (str admin-name " " (i18n/label :t/removed-from-chat)))) - (models.chat/upsert-chat {:chat-id chat-id - :removed-from-at now - :is-active false}) - (transport.utils/unsubscribe-from-chat chat-id)) + (models.message/receive + (models.message/system-message chat-id random-id now + (str admin-name " " (i18n/label :t/removed-from-chat)))) + (models.chat/upsert-chat {:chat-id chat-id + :removed-from-at now + :is-active false}) + (transport.utils/unsubscribe-from-chat chat-id)) (handlers-macro/merge-fx cofx - (models.message/receive - (models.message/system-message chat-id random-id now - (prepare-system-message admin-name - added - removed - (:contacts/contacts db)))) - (group/participants-added chat-id added) - (group/participants-removed chat-id removed))))) + (models.message/receive + (models.message/system-message chat-id random-id now + (prepare-system-message admin-name + added + removed + (:contacts/contacts db)))) + (group/participants-added chat-id added) + (group/participants-removed chat-id removed))))) ;; first time we hear about chat -> create it if we are among participants (when (get (set participants) me) (models.chat/add-group-chat chat-id chat-name signature participants cofx)))))) @@ -125,9 +124,9 @@ signature)] (when (get-in db [:chats chat-id]) ;; chat is present (handlers-macro/merge-fx cofx - (models.message/receive - (models.message/system-message chat-id random-id now - (str participant-leaving-name " " (i18n/label :t/left)))) - (group/participants-removed chat-id #{signature}) - (send-new-group-key nil chat-id)))))) + (models.message/receive + (models.message/system-message chat-id random-id now + (str participant-leaving-name " " (i18n/label :t/left)))) + (group/participants-removed chat-id #{signature}) + (send-new-group-key nil chat-id)))))) diff --git a/src/status_im/transport/message/v1/protocol.cljs b/src/status_im/transport/message/v1/protocol.cljs index c040f78000..6587c8ae46 100644 --- a/src/status_im/transport/message/v1/protocol.cljs +++ b/src/status_im/transport/message/v1/protocol.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Protocol API and protocol utils"} - status-im.transport.message.v1.protocol + status-im.transport.message.v1.protocol (:require [status-im.utils.config :as config] [status-im.constants :as constants] [status-im.chat.core :as chat] diff --git a/src/status_im/transport/message/v1/public_chat.cljs b/src/status_im/transport/message/v1/public_chat.cljs index 89a5a7bc3b..71fcd44215 100644 --- a/src/status_im/transport/message/v1/public_chat.cljs +++ b/src/status_im/transport/message/v1/public_chat.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Public chat API"} - status-im.transport.message.v1.public-chat + status-im.transport.message.v1.public-chat (:require [re-frame.core :as re-frame] [status-im.utils.handlers :as handlers] [status-im.utils.handlers-macro :as handlers-macro] @@ -19,25 +19,25 @@ :sym-key sym-key :sym-key-id sym-key-id}]))] (handlers-macro/merge-fx cofx - {:shh/generate-sym-key-from-password {:web3 (:web3 db) - :password chat-id - :on-success on-success}} - (protocol/init-chat chat-id))))) + {:shh/generate-sym-key-from-password {:web3 (:web3 db) + :password chat-id + :on-success on-success}} + (protocol/init-chat chat-id))))) (handlers/register-handler-fx - ::add-new-sym-key - (fn [{:keys [db] :as cofx} [_ {:keys [sym-key-id sym-key chat-id]}]] - (let [{:keys [web3]} db - topic (transport.utils/get-topic chat-id)] - {:db (assoc-in db [:transport/chats chat-id :sym-key-id] sym-key-id) - :shh/add-filter {:web3 web3 - :sym-key-id sym-key-id - :topic topic - :chat-id chat-id} - :data-store.transport/save {:chat-id chat-id - :chat (-> (get-in db [:transport/chats chat-id]) - (assoc :sym-key-id sym-key-id) + ::add-new-sym-key + (fn [{:keys [db] :as cofx} [_ {:keys [sym-key-id sym-key chat-id]}]] + (let [{:keys [web3]} db + topic (transport.utils/get-topic chat-id)] + {:db (assoc-in db [:transport/chats chat-id :sym-key-id] sym-key-id) + :shh/add-filter {:web3 web3 + :sym-key-id sym-key-id + :topic topic + :chat-id chat-id} + :data-store.transport/save {:chat-id chat-id + :chat (-> (get-in db [:transport/chats chat-id]) + (assoc :sym-key-id sym-key-id) ;;TODO (yenda) remove once go implements persistence - (assoc :sym-key sym-key))} - :dispatch [:inbox/request-messages {:topics [topic] - :from 0}]}))) + (assoc :sym-key sym-key))} + :dispatch [:inbox/request-messages {:topics [topic] + :from 0}]}))) diff --git a/src/status_im/transport/message_cache.cljs b/src/status_im/transport/message_cache.cljs index 39aee88988..48b12f0def 100644 --- a/src/status_im/transport/message_cache.cljs +++ b/src/status_im/transport/message_cache.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Message caching API for message deduplication"} - status-im.transport.message-cache + status-im.transport.message-cache (:refer-clojure :exclude [exists?])) (defonce messages-set (atom #{})) diff --git a/src/status_im/transport/shh.cljs b/src/status_im/transport/shh.cljs index 5f47b3328b..1b933a2716 100644 --- a/src/status_im/transport/shh.cljs +++ b/src/status_im/transport/shh.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Whisper API and events for managing keys and posting messages"} - status-im.transport.shh + status-im.transport.shh (:require [taoensso.timbre :as log] [re-frame.core :as re-frame] [status-im.transport.utils :as transport.utils] @@ -16,11 +16,11 @@ (on-error "web3 not available."))) (re-frame/reg-fx - :shh/get-new-key-pair - (fn [{:keys [web3 success-event error-event]}] - (get-new-key-pair {:web3 web3 - :on-success #(re-frame/dispatch [success-event %]) - :on-error #(re-frame/dispatch [error-event %])}))) + :shh/get-new-key-pair + (fn [{:keys [web3 success-event error-event]}] + (get-new-key-pair {:web3 web3 + :on-success #(re-frame/dispatch [success-event %]) + :on-error #(re-frame/dispatch [error-event %])}))) (defn get-public-key [{:keys [web3 key-pair-id on-success on-error]}] (if (and web3 key-pair-id) @@ -33,12 +33,12 @@ (on-error "web3 or key-pair id not available."))) (re-frame/reg-fx - :shh/get-public-key - (fn [{:keys [web3 key-pair-id success-event error-event]}] - (get-public-key {:web3 web3 - :key-pair-id key-pair-id - :on-success #(re-frame/dispatch [success-event %]) - :on-error #(re-frame/dispatch [error-event %])}))) + :shh/get-public-key + (fn [{:keys [web3 key-pair-id success-event error-event]}] + (get-public-key {:web3 web3 + :key-pair-id key-pair-id + :on-success #(re-frame/dispatch [success-event %]) + :on-error #(re-frame/dispatch [error-event %])}))) (defn generate-sym-key-from-password [{:keys [web3 password on-success on-error]}] @@ -59,16 +59,16 @@ (on-error err)))))) (re-frame/reg-fx - :shh/post - (fn [{:keys [web3 message success-event error-event] - :or {error-event :protocol/send-status-message-error}}] - (post-message {:web3 web3 - :whisper-message (update message :payload (comp transport.utils/from-utf8 - transit/serialize)) - :on-success (if success-event - #(re-frame/dispatch (conj success-event %)) - #(log/debug :shh/post-success)) - :on-error #(re-frame/dispatch [error-event %])}))) + :shh/post + (fn [{:keys [web3 message success-event error-event] + :or {error-event :protocol/send-status-message-error}}] + (post-message {:web3 web3 + :whisper-message (update message :payload (comp transport.utils/from-utf8 + transit/serialize)) + :on-success (if success-event + #(re-frame/dispatch (conj success-event %)) + #(log/debug :shh/post-success)) + :on-error #(re-frame/dispatch [error-event %])}))) ;; This event params contain a recipients key because it's a vector of map with public-key and topic keys. ;; the :shh/post event has public-key and topic keys at the top level of the args map. @@ -77,20 +77,20 @@ ;; We want to change the symmetric key but we can't do that in the group topic with the old key ;; otherwise leavers can still eavesdrop / joiners can read past history." (re-frame/reg-fx - :shh/multi-post - (fn [{:keys [web3 message recipients success-event error-event] - :or {error-event :protocol/send-status-message-error}}] - (let [whisper-message (update message :payload (comp transport.utils/from-utf8 - transit/serialize))] - (doseq [{:keys [sym-key-id topic]} recipients] - (post-message {:web3 web3 - :whisper-message (assoc whisper-message - :topic topic - :symKeyID sym-key-id) - :on-success (if success-event - #(re-frame/dispatch success-event) - #(log/debug :shh/post-success)) - :on-error #(re-frame/dispatch [error-event %])}))))) + :shh/multi-post + (fn [{:keys [web3 message recipients success-event error-event] + :or {error-event :protocol/send-status-message-error}}] + (let [whisper-message (update message :payload (comp transport.utils/from-utf8 + transit/serialize))] + (doseq [{:keys [sym-key-id topic]} recipients] + (post-message {:web3 web3 + :whisper-message (assoc whisper-message + :topic topic + :symKeyID sym-key-id) + :on-success (if success-event + #(re-frame/dispatch success-event) + #(log/debug :shh/post-success)) + :on-error #(re-frame/dispatch [error-event %])}))))) (defn add-sym-key [{:keys [web3 sym-key on-success on-error]}] @@ -122,48 +122,47 @@ (defn log-error [error] (log/error :shh/get-new-sym-key-error error)) - ;;TODO (yenda) remove once go implements persistence (re-frame/reg-fx - :shh/restore-sym-keys - (fn [{:keys [web3 transport on-success]}] - (doseq [[chat-id {:keys [sym-key]}] transport] - (add-sym-key {:web3 web3 - :sym-key sym-key - :on-success (fn [sym-key-id] - (on-success chat-id sym-key sym-key-id)) - :on-error log-error})))) + :shh/restore-sym-keys + (fn [{:keys [web3 transport on-success]}] + (doseq [[chat-id {:keys [sym-key]}] transport] + (add-sym-key {:web3 web3 + :sym-key sym-key + :on-success (fn [sym-key-id] + (on-success chat-id sym-key sym-key-id)) + :on-error log-error})))) (re-frame/reg-fx - :shh/add-new-sym-key - (fn [{:keys [web3 sym-key on-success]}] - (add-sym-key {:web3 web3 - :sym-key sym-key - :on-success (fn [sym-key-id] - (on-success sym-key sym-key-id)) - :on-error log-error}))) + :shh/add-new-sym-key + (fn [{:keys [web3 sym-key on-success]}] + (add-sym-key {:web3 web3 + :sym-key sym-key + :on-success (fn [sym-key-id] + (on-success sym-key sym-key-id)) + :on-error log-error}))) (re-frame/reg-fx - :shh/get-new-sym-key - (fn [{:keys [web3 on-success]}] - (new-sym-key {:web3 web3 - :on-success (fn [sym-key-id] - (get-sym-key {:web3 web3 - :sym-key-id sym-key-id - :on-success (fn [sym-key] - (on-success sym-key sym-key-id)) - :on-error log-error})) - :on-error log-error}))) + :shh/get-new-sym-key + (fn [{:keys [web3 on-success]}] + (new-sym-key {:web3 web3 + :on-success (fn [sym-key-id] + (get-sym-key {:web3 web3 + :sym-key-id sym-key-id + :on-success (fn [sym-key] + (on-success sym-key sym-key-id)) + :on-error log-error})) + :on-error log-error}))) (re-frame/reg-fx - :shh/generate-sym-key-from-password - (fn [{:keys [web3 password on-success]}] - (generate-sym-key-from-password {:web3 web3 - :password password - :on-success (fn [sym-key-id] - (get-sym-key {:web3 web3 - :sym-key-id sym-key-id - :on-success (fn [sym-key] - (on-success sym-key sym-key-id)) - :on-error log-error})) - :on-error log-error}))) + :shh/generate-sym-key-from-password + (fn [{:keys [web3 password on-success]}] + (generate-sym-key-from-password {:web3 web3 + :password password + :on-success (fn [sym-key-id] + (get-sym-key {:web3 web3 + :sym-key-id sym-key-id + :on-success (fn [sym-key] + (on-success sym-key sym-key-id)) + :on-error log-error})) + :on-error log-error}))) diff --git a/src/status_im/transport/utils.cljs b/src/status_im/transport/utils.cljs index 32604cb38e..3fa9f0e1ef 100644 --- a/src/status_im/transport/utils.cljs +++ b/src/status_im/transport/utils.cljs @@ -1,5 +1,5 @@ (ns ^{:doc "Utils for transport layer"} - status-im.transport.utils + status-im.transport.utils (:require [cljs-time.coerce :refer [to-long]] [cljs-time.core :refer [now]] [clojure.string :as string]