From 413f9c2fad988c69e777a1b9da5701931b63bdcf Mon Sep 17 00:00:00 2001 From: Oskar Thoren Date: Mon, 8 Jan 2018 17:18:58 +0900 Subject: [PATCH] Introduce OFFLINE_INBOX_MANY_ENABLED flag for perf quickfix Since offline inboxing and desktop were introduced, we went from testing with ~10 messages to ~1000 messages. This surfaced inefficiencies such as this issue. It also means someone who joins a public channel such as #status will experience significant lag when signing in. To remedy this, we put offline inboxing for public/group chats under a flag until the underlying perf issue has been resolved. --- .env | 1 + .env.jenkins | 1 + .env.prod | 1 + src/status_im/protocol/group.cljs | 3 ++- src/status_im/utils/config.cljs | 1 + 5 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.env b/.env index 491608bf4e..6d5464b2cd 100644 --- a/.env +++ b/.env @@ -4,6 +4,7 @@ ETHEREUM_DEV_CLUSTER=1 MAINNET_NETWORKS_ENABLED=1 ERC20_ENABLED=1 OFFLINE_INBOX_ENABLED=1 +OFFLINE_INBOX_MANY_ENABLED=1 LOG_LEVEL=debug LOG_LEVEL_STATUS_GO=info JSC_ENABLED=1 diff --git a/.env.jenkins b/.env.jenkins index a2c112431c..b8247e6498 100644 --- a/.env.jenkins +++ b/.env.jenkins @@ -4,6 +4,7 @@ ETHEREUM_DEV_CLUSTER=1 MAINNET_NETWORKS_ENABLED=1 ERC20_ENABLED=1 OFFLINE_INBOX_ENABLED=1 +OFFLINE_INBOX_MANY_ENABLED=0 LOG_LEVEL=debug LOG_LEVEL_STATUS_GO=info JSC_ENABLED=1 diff --git a/.env.prod b/.env.prod index 2e078c330c..da8af70d50 100644 --- a/.env.prod +++ b/.env.prod @@ -4,6 +4,7 @@ ETHEREUM_DEV_CLUSTER=0 MAINNET_NETWORKS_ENABLED=0 ERC20_ENABLED=0 OFFLINE_INBOX_ENABLED=0 +OFFLINE_INBOX_MANY_ENABLED=0 LOG_LEVEL=info LOG_LEVEL_STATUS_GO=info JSC_ENABLED=0 diff --git a/src/status_im/protocol/group.cljs b/src/status_im/protocol/group.cljs index a6a25bacbe..249bb291a1 100644 --- a/src/status_im/protocol/group.cljs +++ b/src/status_im/protocol/group.cljs @@ -137,7 +137,8 @@ (fn [key-id] (f/add-filter! web3 - (if config/offline-inbox-enabled? + (if (and config/offline-inbox-enabled? + config/offline-inbox-many-enabled?) {:topics [f/status-topic] :key key-id :allowP2P true diff --git a/src/status_im/utils/config.cljs b/src/status_im/utils/config.cljs index e42b2c1277..000e0e2d14 100644 --- a/src/status_im/utils/config.cljs +++ b/src/status_im/utils/config.cljs @@ -24,6 +24,7 @@ (def mainnet-networks-enabled? (enabled? (get-config :MAINNET_NETWORKS_ENABLED 0))) (def erc20-enabled? (enabled? (get-config :ERC20_ENABLED 0))) (def offline-inbox-enabled? (enabled? (get-config :OFFLINE_INBOX_ENABLED 0))) +(def offline-inbox-many-enabled? (enabled? (get-config :OFFLINE_INBOX_MANY_ENABLED 0))) (def log-level (-> (get-config :LOG_LEVEL "error") string/lower-case