Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
89d7f4a950 | ||
|
|
c96d3f427a | ||
|
|
1d3e0be2e2 | ||
|
|
52cbdf2aaa | ||
|
|
32fe1a04e1 | ||
|
|
0dab5b47ad | ||
|
|
ec58e7e3c4 | ||
|
|
7d60849b13 | ||
|
|
cb1f807841 |
@@ -36,3 +36,4 @@ SHOW_NOT_IMPLEMENTED_FEATURES=0
|
|||||||
ENABLE_ALERT_BANNER=0
|
ENABLE_ALERT_BANNER=0
|
||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
API_LOGGING_ENABLED=1
|
API_LOGGING_ENABLED=1
|
||||||
|
SENTRY_ENVIRONMENT=ci-main
|
||||||
|
|||||||
@@ -40,3 +40,4 @@ ENABLE_ALERT_BANNER=0
|
|||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
MOBILE_DATA_SYNCING_TOGGLE_ENABLE=0
|
MOBILE_DATA_SYNCING_TOGGLE_ENABLE=0
|
||||||
API_LOGGING_ENABLED=1
|
API_LOGGING_ENABLED=1
|
||||||
|
SENTRY_ENVIRONMENT=ci-main
|
||||||
|
|||||||
@@ -37,3 +37,4 @@ TEST_NETWORKS_ENABLED=1
|
|||||||
ENABLE_ALERT_BANNER=1
|
ENABLE_ALERT_BANNER=1
|
||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
API_LOGGING_ENABLED=1
|
API_LOGGING_ENABLED=1
|
||||||
|
SENTRY_ENVIRONMENT=ci-main
|
||||||
|
|||||||
@@ -24,3 +24,4 @@ TEST_NETWORKS_ENABLED=0
|
|||||||
ENABLE_ALERT_BANNER=1
|
ENABLE_ALERT_BANNER=1
|
||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
API_LOGGING_ENABLED=0
|
API_LOGGING_ENABLED=0
|
||||||
|
SENTRY_ENVIRONMENT=ci-nightly
|
||||||
|
|||||||
@@ -21,3 +21,4 @@ TEST_NETWORKS_ENABLED=0
|
|||||||
STATUS_PROXY_STAGE_NAME=prod
|
STATUS_PROXY_STAGE_NAME=prod
|
||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
API_LOGGING_ENABLED=0
|
API_LOGGING_ENABLED=0
|
||||||
|
SENTRY_ENVIRONMENT=production
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.9.13'
|
library 'status-jenkins-lib@v1.9.15'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
@@ -41,6 +41,7 @@ pipeline {
|
|||||||
BUILD_ENV = 'prod'
|
BUILD_ENV = 'prod'
|
||||||
NIX_CONF_DIR = "${env.WORKSPACE}/nix"
|
NIX_CONF_DIR = "${env.WORKSPACE}/nix"
|
||||||
FASTLANE_DISABLE_COLORS = 1
|
FASTLANE_DISABLE_COLORS = 1
|
||||||
|
SENTRY_PRODUCTION = "${utils.isReleaseBuild() ? 'true' : 'false'}"
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.9.13'
|
library 'status-jenkins-lib@v1.9.15'
|
||||||
|
|
||||||
import groovy.json.JsonBuilder
|
import groovy.json.JsonBuilder
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.9.13'
|
library 'status-jenkins-lib@v1.9.15'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
@@ -41,6 +41,7 @@ pipeline {
|
|||||||
NIX_CONF_DIR = "${env.WORKSPACE}/nix"
|
NIX_CONF_DIR = "${env.WORKSPACE}/nix"
|
||||||
FASTLANE_DISABLE_COLORS = 1
|
FASTLANE_DISABLE_COLORS = 1
|
||||||
BUNDLE_PATH = "${HOME}/.bundle"
|
BUNDLE_PATH = "${HOME}/.bundle"
|
||||||
|
SENTRY_PRODUCTION = "${utils.isReleaseBuild() ? 'true' : 'false'}"
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
|
|||||||
+9
@@ -108,6 +108,15 @@ class StatusModule(private val reactContext: ReactApplicationContext, private va
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ReactMethod
|
||||||
|
fun intendedPanic(message: String) {
|
||||||
|
StatusBackendClient.executeStatusGoRequest(
|
||||||
|
endpoint = "IntendedPanic",
|
||||||
|
requestBody = "",
|
||||||
|
statusgoFunction = { Statusgo.intendedPanic(message) },
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
@ReactMethod
|
@ReactMethod
|
||||||
fun addCentralizedMetric(request: String, callback: Callback) {
|
fun addCentralizedMetric(request: String, callback: Callback) {
|
||||||
StatusBackendClient.executeStatusGoRequestWithCallback(
|
StatusBackendClient.executeStatusGoRequestWithCallback(
|
||||||
|
|||||||
@@ -109,6 +109,13 @@ RCT_EXPORT_METHOD(getNodeConfig:(RCTResponseSenderBlock)callback) {
|
|||||||
callback:callback];
|
callback:callback];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RCT_EXPORT_METHOD(intendedPanic:(NSString *)message) {
|
||||||
|
#if DEBUG
|
||||||
|
NSLog(@"IntendedPanic() method called");
|
||||||
|
#endif
|
||||||
|
StatusgoIntendedPanic(message);
|
||||||
|
}
|
||||||
|
|
||||||
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(fleets) {
|
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(fleets) {
|
||||||
return [StatusBackendClient executeStatusGoRequestWithResult:@"Fleets"
|
return [StatusBackendClient executeStatusGoRequestWithResult:@"Fleets"
|
||||||
body:@""
|
body:@""
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
, outputFileName ? "status-go-${source.shortRev}-${platform}.aar" }:
|
, outputFileName ? "status-go-${source.shortRev}-${platform}.aar" }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) concatStringsSep optionalString optional splitString;
|
inherit (lib) concatStringsSep optionalString optional splitString fileContents;
|
||||||
isIOS = platform == "ios";
|
isIOS = platform == "ios";
|
||||||
isAndroid = platform == "android";
|
isAndroid = platform == "android";
|
||||||
enforceXCodeAvailable = callPackage ./enforceXCodeAvailable.nix { };
|
enforceXCodeAvailable = callPackage ./enforceXCodeAvailable.nix { };
|
||||||
@@ -46,6 +46,10 @@ in buildGoPackage rec {
|
|||||||
# TODO: try removing when go is upgraded to 1.22
|
# TODO: try removing when go is upgraded to 1.22
|
||||||
GODEBUG = "netdns=cgo+2";
|
GODEBUG = "netdns=cgo+2";
|
||||||
|
|
||||||
|
# Sentry for status-go
|
||||||
|
SENTRY_CONTEXT_NAME = "status-mobile";
|
||||||
|
SENTRY_CONTEXT_VERSION = fileContents ../../../VERSION;
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
echo 'Generate static files'
|
echo 'Generate static files'
|
||||||
pushd go/src/$goPackagePath
|
pushd go/src/$goPackagePath
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ SECRETS_ENV_VARS=(
|
|||||||
'MIXPANEL_APP_ID'
|
'MIXPANEL_APP_ID'
|
||||||
'MIXPANEL_TOKEN'
|
'MIXPANEL_TOKEN'
|
||||||
'POKT_TOKEN'
|
'POKT_TOKEN'
|
||||||
|
'SENTRY_DSN_STATUS_GO'
|
||||||
)
|
)
|
||||||
|
|
||||||
# Secrets like this can't be passed via args or they end up in derivation.
|
# Secrets like this can't be passed via args or they end up in derivation.
|
||||||
|
|||||||
+2
-1
@@ -123,7 +123,8 @@
|
|||||||
status-im.config/ALCHEMY_ARBITRUM_MAINNET_TOKEN #shadow/env "ALCHEMY_ARBITRUM_MAINNET_TOKEN"
|
status-im.config/ALCHEMY_ARBITRUM_MAINNET_TOKEN #shadow/env "ALCHEMY_ARBITRUM_MAINNET_TOKEN"
|
||||||
status-im.config/ALCHEMY_ARBITRUM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_ARBITRUM_SEPOLIA_TOKEN"
|
status-im.config/ALCHEMY_ARBITRUM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_ARBITRUM_SEPOLIA_TOKEN"
|
||||||
status-im.config/ALCHEMY_OPTIMISM_MAINNET_TOKEN #shadow/env "ALCHEMY_OPTIMISM_MAINNET_TOKEN"
|
status-im.config/ALCHEMY_OPTIMISM_MAINNET_TOKEN #shadow/env "ALCHEMY_OPTIMISM_MAINNET_TOKEN"
|
||||||
status-im.config/ALCHEMY_OPTIMISM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_OPTIMISM_SEPOLIA_TOKEN"}
|
status-im.config/ALCHEMY_OPTIMISM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_OPTIMISM_SEPOLIA_TOKEN"
|
||||||
|
status-im.config/SENTRY_DSN_STATUS_GO #shadow/env "SENTRY_DSN_STATUS_GO"}
|
||||||
:compiler-options {:output-feature-set :es6
|
:compiler-options {:output-feature-set :es6
|
||||||
;;disable for android build as there
|
;;disable for android build as there
|
||||||
;;is an intermittent warning with deftype
|
;;is an intermittent warning with deftype
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
(ns legacy.status-im.ui.screens.advanced-settings.views
|
(ns legacy.status-im.ui.screens.advanced-settings.views
|
||||||
(:require
|
(:require
|
||||||
|
[clojure.string :as string]
|
||||||
[legacy.status-im.ui.components.core :as components]
|
[legacy.status-im.ui.components.core :as components]
|
||||||
[legacy.status-im.ui.components.list.item :as list.item]
|
[legacy.status-im.ui.components.list.item :as list.item]
|
||||||
[legacy.status-im.ui.components.list.views :as list]
|
[legacy.status-im.ui.components.list.views :as list]
|
||||||
[quo.core :as quo]
|
[quo.core :as quo]
|
||||||
[re-frame.core :as re-frame]
|
[re-frame.core :as re-frame]
|
||||||
|
[status-im.config :as config]
|
||||||
|
[status-im.feature-flags :as ff]
|
||||||
[utils.i18n :as i18n]
|
[utils.i18n :as i18n]
|
||||||
[utils.re-frame :as rf])
|
[utils.re-frame :as rf])
|
||||||
(:require-macros [legacy.status-im.utils.views :as views]))
|
(:require-macros [legacy.status-im.utils.views :as views]))
|
||||||
@@ -22,7 +25,23 @@
|
|||||||
peer-syncing-enabled?]}]
|
peer-syncing-enabled?]}]
|
||||||
(keep
|
(keep
|
||||||
identity
|
identity
|
||||||
[{:size :small
|
[;; TODO(ilmotta): REMOVE BEFORE MERGE
|
||||||
|
{:size :small
|
||||||
|
:title (str "Is MixPanel token set?"
|
||||||
|
(if (string/blank? config/mixpanel-token)
|
||||||
|
"No"
|
||||||
|
"Yes"))
|
||||||
|
:on-press identity}
|
||||||
|
(when (ff/enabled? ::ff/app-monitoring.intentional-crash)
|
||||||
|
{:size :small
|
||||||
|
:title (str "Force crash immediately"
|
||||||
|
(when (string/blank? config/sentry-dsn-status-go)
|
||||||
|
" (Sentry DSN is not set)"))
|
||||||
|
:accessibility-label :intended-panic
|
||||||
|
:on-press (fn []
|
||||||
|
(re-frame/dispatch [:app-monitoring/intended-panic
|
||||||
|
"status-mobile intentional panic"]))})
|
||||||
|
{:size :small
|
||||||
:title (i18n/label :t/log-level)
|
:title (i18n/label :t/log-level)
|
||||||
:accessibility-label :log-level-settings-button
|
:accessibility-label :log-level-settings-button
|
||||||
:on-press
|
:on-press
|
||||||
|
|||||||
@@ -581,3 +581,7 @@
|
|||||||
(.createAccountFromPrivateKey ^js (account-manager)
|
(.createAccountFromPrivateKey ^js (account-manager)
|
||||||
(types/clj->json {:privateKey private-key})
|
(types/clj->json {:privateKey private-key})
|
||||||
callback)))
|
callback)))
|
||||||
|
|
||||||
|
(defn intended-panic
|
||||||
|
[message]
|
||||||
|
(.intendedPanic ^js (status) message))
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
(ns status-im.common.app-monitoring.effects
|
||||||
|
(:require
|
||||||
|
[native-module.core :as native-module]
|
||||||
|
[utils.re-frame :as rf]))
|
||||||
|
|
||||||
|
(rf/reg-fx :effects.app-monitoring/intended-panic
|
||||||
|
(fn [message]
|
||||||
|
(native-module/intended-panic message)))
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
(ns status-im.common.app-monitoring.events
|
||||||
|
(:require
|
||||||
|
status-im.common.app-monitoring.effects
|
||||||
|
[utils.re-frame :as rf]))
|
||||||
|
|
||||||
|
(rf/reg-event-fx :app-monitoring/intended-panic
|
||||||
|
(fn [_ [message]]
|
||||||
|
{:fx [[:effects.app-monitoring/intended-panic message]]}))
|
||||||
@@ -150,3 +150,8 @@
|
|||||||
(goog-define STATUS_BACKEND_SERVER_ROOT_DATA_DIR "")
|
(goog-define STATUS_BACKEND_SERVER_ROOT_DATA_DIR "")
|
||||||
;; if you're using android simulator, I suggest set the env variable to "http://10.0.2.2:"
|
;; if you're using android simulator, I suggest set the env variable to "http://10.0.2.2:"
|
||||||
(goog-define STATUS_BACKEND_SERVER_IMAGE_SERVER_URI_PREFIX "https://localhost:")
|
(goog-define STATUS_BACKEND_SERVER_IMAGE_SERVER_URI_PREFIX "https://localhost:")
|
||||||
|
|
||||||
|
;;;; Sentry
|
||||||
|
;; Documentation: status-go/internal/sentry/README.md
|
||||||
|
(goog-define SENTRY_DSN_STATUS_GO "")
|
||||||
|
(def sentry-dsn-status-go SENTRY_DSN_STATUS_GO)
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
{:dataDir (native-module/backup-disabled-data-dir)
|
{:dataDir (native-module/backup-disabled-data-dir)
|
||||||
:mixpanelAppId config/mixpanel-app-id
|
:mixpanelAppId config/mixpanel-app-id
|
||||||
:mixpanelToken config/mixpanel-token
|
:mixpanelToken config/mixpanel-token
|
||||||
|
:sentryDSN config/sentry-dsn-status-go
|
||||||
:mediaServerEnableTLS (config/enabled? config/STATUS_BACKEND_SERVER_MEDIA_SERVER_ENABLE_TLS)
|
:mediaServerEnableTLS (config/enabled? config/STATUS_BACKEND_SERVER_MEDIA_SERVER_ENABLE_TLS)
|
||||||
:logEnabled (not (string/blank? config/log-level))
|
:logEnabled (not (string/blank? config/log-level))
|
||||||
:logLevel config/log-level
|
:logLevel config/log-level
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
(:require
|
(:require
|
||||||
status-im.common.alert-banner.events
|
status-im.common.alert-banner.events
|
||||||
status-im.common.alert.effects
|
status-im.common.alert.effects
|
||||||
|
status-im.common.app-monitoring.events
|
||||||
status-im.common.async-storage.effects
|
status-im.common.async-storage.effects
|
||||||
status-im.common.emoji-picker.events
|
status-im.common.emoji-picker.events
|
||||||
status-im.common.font.events
|
status-im.common.font.events
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
(def ^:private initial-flags
|
(def ^:private initial-flags
|
||||||
{::community.edit-account-selection (enabled-in-env? :FLAG_EDIT_ACCOUNT_SELECTION_ENABLED)
|
{::community.edit-account-selection (enabled-in-env? :FLAG_EDIT_ACCOUNT_SELECTION_ENABLED)
|
||||||
|
::app-monitoring.intentional-crash true ; (enabled-in-env? :FLAG_INTENTIONAL_CRASH_ENABLED)
|
||||||
|
|
||||||
;; Feature toggled (off by default) because the desktop app disabled this
|
;; Feature toggled (off by default) because the desktop app disabled this
|
||||||
;; feature and we want both clients in sync. We keep the code because it
|
;; feature and we want both clients in sync. We keep the code because it
|
||||||
|
|||||||
@@ -126,12 +126,9 @@
|
|||||||
|
|
||||||
(def status
|
(def status
|
||||||
(clj->js
|
(clj->js
|
||||||
{:getNodeConfig
|
{:intendedPanic identity
|
||||||
(fn [] (types/clj->json {:WakuV2Config ""}))
|
:getNodeConfig (fn [] (types/clj->json {:WakuV2Config ""}))
|
||||||
:addCentralizedMetric
|
:addCentralizedMetric (fn [_ callback]
|
||||||
(fn [_ callback]
|
(callback))
|
||||||
(callback))
|
:fleets (fn [] (.fleets native-status))
|
||||||
:fleets
|
:startLocalNotifications identity}))
|
||||||
(fn [] (.fleets native-status))
|
|
||||||
:startLocalNotifications
|
|
||||||
identity}))
|
|
||||||
|
|||||||
Reference in New Issue
Block a user