Feature/hide browser behind feature flag #20022 (#20082)

This commit is contained in:
flexsurfer 2024-05-23 10:12:39 +02:00 committed by GitHub
parent c19f170239
commit 5eba373c3c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 197 additions and 195 deletions

View File

@ -36,5 +36,4 @@ STICKERS_TEST_ENABLED=1
LOCAL_PAIRING_ENABLED=1 LOCAL_PAIRING_ENABLED=1
FAST_CREATE_COMMUNITY_ENABLED=1 FAST_CREATE_COMMUNITY_ENABLED=1
TEST_NETWORKS_ENABLED=1 TEST_NETWORKS_ENABLED=1
SHOW_NOT_IMPLEMENTED_FEATURES=1
ENABLE_ALERT_BANNER=1 ENABLE_ALERT_BANNER=1

View File

@ -11,9 +11,11 @@
[legacy.status-im.utils.random :as random] [legacy.status-im.utils.random :as random]
[native-module.core :as native-module] [native-module.core :as native-module]
[re-frame.core :as re-frame] [re-frame.core :as re-frame]
[react-native.core :as react]
[react-native.platform :as platform] [react-native.platform :as platform]
[status-im.common.json-rpc.events :as json-rpc] [status-im.common.json-rpc.events :as json-rpc]
[status-im.common.universal-links :as links] [status-im.common.universal-links :as links]
[status-im.config :as config]
[status-im.constants :as constants] [status-im.constants :as constants]
[status-im.contexts.chat.events :as chat.events] [status-im.contexts.chat.events :as chat.events]
[status-im.navigation.events :as navigation] [status-im.navigation.events :as navigation]
@ -302,6 +304,7 @@
:history [normalized-url]}] :history [normalized-url]}]
(if (links/universal-link? normalized-url) (if (links/universal-link? normalized-url)
{:dispatch [:universal-links/handle-url normalized-url]} {:dispatch [:universal-links/handle-url normalized-url]}
(if config/show-not-implemented-features?
(rf/merge cofx (rf/merge cofx
{:db (assoc db {:db (assoc db
:browser/options :browser/options
@ -311,7 +314,8 @@
(chat.events/close-chat) (chat.events/close-chat)
(navigation/change-tab :browser-stack) (navigation/change-tab :browser-stack)
(update-browser browser) (update-browser browser)
(resolve-url nil))))) (resolve-url nil))
(.openURL ^js react/linking (url/normalize-url url))))))
(rf/defn open-existing-browser (rf/defn open-existing-browser
"Opens an existing browser with it's history" "Opens an existing browser with it's history"

View File

@ -1,8 +1,5 @@
(ns legacy.status-im.browser.core-test (ns legacy.status-im.browser.core-test
(:require (:require
[cljs.test :refer-macros [deftest is testing]]
[legacy.status-im.browser.core :as browser]
[utils.i18n :as i18n]
[utils.url :as url])) [utils.url :as url]))
(defn has-wrong-properties? (defn has-wrong-properties?
@ -21,7 +18,7 @@
(some #(when (= (url/normalize-and-decode-url dapp-url) (first (:history %))) (:browser-id %)) (some #(when (= (url/normalize-and-decode-url dapp-url) (first (:history %))) (:browser-id %))
(vals (get-in result [:db :browser/browsers])))) (vals (get-in result [:db :browser/browsers]))))
(deftest browser-test #_(deftest browser-test
(let [dapp1-url "cryptokitties.co" (let [dapp1-url "cryptokitties.co"
dapp2-url "http://test2.com"] dapp2-url "http://test2.com"]
@ -102,7 +99,8 @@
dapp1-id dapp1-id
{:browser-id dapp1-id {:browser-id dapp1-id
:history-index 0 :history-index 0
:history ["https://cryptokitties.co" dapp1-url2] :history ["https://cryptokitties.co"
dapp1-url2]
:dapp? false :dapp? false
:name (i18n/label :t/browser)})) :name (i18n/label :t/browser)}))
"some properties of the browser are not correct") "some properties of the browser are not correct")
@ -115,7 +113,8 @@
dapp1-id dapp1-id
{:browser-id dapp1-id {:browser-id dapp1-id
:history-index 1 :history-index 1
:history ["https://cryptokitties.co" dapp1-url2] :history ["https://cryptokitties.co"
dapp1-url2]
:dapp? false :dapp? false
:name (i18n/label :t/browser)})) :name (i18n/label :t/browser)}))
"some properties of the browser are not correct")))))))))))) "some properties of the browser are not correct"))))))))))))

View File

@ -1,12 +1,6 @@
(ns legacy.status-im.browser.permissions-test (ns legacy.status-im.browser.permissions-test)
(:require
[cljs.test :refer-macros [deftest is testing]]
[legacy.status-im.browser.core :as browser]
[legacy.status-im.browser.core-test :as core.tests]
[legacy.status-im.browser.permissions :as permissions]
[legacy.status-im.utils.deprecated-types :as types]))
(deftest permissions-test #_(deftest permissions-test
(let [dapp-name "test.com" (let [dapp-name "test.com"
dapp-name2 "test2.org" dapp-name2 "test2.org"
cofx {:db (assoc-in (:db (browser/open-url {:db {}} dapp-name)) cofx {:db (assoc-in (:db (browser/open-url {:db {}} dapp-name))

View File

@ -5,6 +5,7 @@
[legacy.status-im.ui.components.react :as react] [legacy.status-im.ui.components.react :as react]
[re-frame.core :as re-frame] [re-frame.core :as re-frame]
[react-native.platform :as platform] [react-native.platform :as platform]
[status-im.config :as config]
[utils.i18n :as i18n] [utils.i18n :as i18n]
[utils.url :as url])) [utils.url :as url]))
@ -27,10 +28,13 @@
(defn browse (defn browse
[link] [link]
(show {:title (i18n/label :t/browsing-title) (show {:title (i18n/label :t/browsing-title)
:options [{:label (i18n/label :t/browsing-open-in-status) :options (if config/show-not-implemented-features?
[{:label (i18n/label :t/browsing-open-in-status)
:action #(re-frame/dispatch [:browser.ui/open-url link])} :action #(re-frame/dispatch [:browser.ui/open-url link])}
{:label (i18n/label (platform-web-browser)) {:label (i18n/label (platform-web-browser))
:action #(.openURL ^js react/linking (url/normalize-url link))}] :action #(.openURL ^js react/linking (url/normalize-url link))}]
[{:label (i18n/label (platform-web-browser))
:action #(.openURL ^js react/linking (url/normalize-url link))}])
:cancel-text (i18n/label :t/browsing-cancel)})) :cancel-text (i18n/label :t/browsing-cancel)}))
(defn browse-in-web-browser (defn browse-in-web-browser

View File

@ -6,6 +6,7 @@
[react-native.gesture :as gesture] [react-native.gesture :as gesture]
[react-native.platform :as platform] [react-native.platform :as platform]
[react-native.reanimated :as reanimated] [react-native.reanimated :as reanimated]
[status-im.config :as config]
[status-im.contexts.shell.jump-to.animation :as animation] [status-im.contexts.shell.jump-to.animation :as animation]
[status-im.contexts.shell.jump-to.components.bottom-tabs.style :as style] [status-im.contexts.shell.jump-to.components.bottom-tabs.style :as style]
[status-im.contexts.shell.jump-to.constants :as shell.constants] [status-im.contexts.shell.jump-to.constants :as shell.constants]
@ -70,4 +71,5 @@
[gesture/gesture-detector {:gesture messages-double-tap-gesture} [gesture/gesture-detector {:gesture messages-double-tap-gesture}
[bottom-tab :i/messages :chats-stack shared-values notifications-data]] [bottom-tab :i/messages :chats-stack shared-values notifications-data]]
[bottom-tab :i/wallet :wallet-stack shared-values notifications-data] [bottom-tab :i/wallet :wallet-stack shared-values notifications-data]
[bottom-tab :i/browser :browser-stack shared-values notifications-data]]]])) (when config/show-not-implemented-features?
[bottom-tab :i/browser :browser-stack shared-values notifications-data])]]]))