diff --git a/.env.jenkins b/.env.jenkins index c0b7efba4f..f0b8aff35d 100644 --- a/.env.jenkins +++ b/.env.jenkins @@ -1,6 +1,6 @@ CACHED_WEBVIEWS_ENABLED=1 DEBUG_WEBVIEW=1 -DEFAULT_NETWORK=mainnet_rpc +DEFAULT_NETWORK=testnet_rpc ERC20_CONTRACT_WARNINGS=0 ETHEREUM_DEV_CLUSTER=1 EXTENSIONS=0 @@ -18,11 +18,13 @@ RPC_NETWORKS_ONLY=0 PARTITIONED_TOPIC=0 CONTRACT_NODES=1 STATUS_GO_ENABLE_NIMBUS=0 +COMMANDS_ENABLED=1 KEYCARD_TEST_MENU=0 ENABLE_ROOT_ALERT=1 ENABLE_REFERRAL_INVITE=1 DISABLE_WALLET_ON_MOBILE_NETWORK=1 APN_TOPIC=im.status.ethereum.pr +VERIFY_TRANSACTION_CHAIN_ID=3 BLANK_PREVIEW=0 MAX_IMAGES_BATCH=5 GOOGLE_FREE=0 diff --git a/ios/StatusIm/Info.plist b/ios/StatusIm/Info.plist index 37a03a47af..c8e89e8bbb 100644 --- a/ios/StatusIm/Info.plist +++ b/ios/StatusIm/Info.plist @@ -78,6 +78,8 @@ Location access is required for some DApps to function properly. NSPhotoLibraryUsageDescription Photos access is required to give you the ability to send images. + NSPhotoLibraryAddUsageDescription + Photos access is required to give you the ability to save images. NSMicrophoneUsageDescription Need microphone access for sending audio messages. UIAppFonts diff --git a/ios/StatusImPR/Info.plist b/ios/StatusImPR/Info.plist index 6d292ddc57..a98eed5d40 100644 --- a/ios/StatusImPR/Info.plist +++ b/ios/StatusImPR/Info.plist @@ -83,6 +83,8 @@ Location access is required for some DApps to function properly. NSPhotoLibraryUsageDescription Photos access is required to give you the ability to send images. + NSPhotoLibraryAddUsageDescription + Photos access is required to give you the ability to save images. NSMicrophoneUsageDescription Need microphone access for sending audio messages. UIAppFonts diff --git a/src/status_im/chat/models/images.cljs b/src/status_im/chat/models/images.cljs index 576f00907c..070b9aa9cf 100644 --- a/src/status_im/chat/models/images.cljs +++ b/src/status_im/chat/models/images.cljs @@ -9,6 +9,8 @@ [status-im.utils.image-processing :as image-processing] [taoensso.timbre :as log] [clojure.string :as string] + [status-im.i18n.i18n :as i18n] + [status-im.utils.utils :as utils] [status-im.utils.platform :as platform] [status-im.chat.models :as chat])) @@ -35,24 +37,36 @@ (.-localIdentifier result) (.-path result))) +(defn android-save-image-to-gallery [base64-uri] + (react/image-get-size + base64-uri + (fn [width height] + (image-processing/resize + base64-uri + width + height + 100 + (fn [^js resized-image] + (let [path (.-path resized-image) + path (if (string/starts-with? path "file") path (str "file://" path))] + (.saveToCameraRoll CameraRoll path))) + #(log/error "could not resize image" %))))) + (re-frame/reg-fx ::save-image-to-gallery (fn [base64-uri] (if platform/ios? - (.saveToCameraRoll CameraRoll base64-uri) - (react/image-get-size - base64-uri - (fn [width height] - (image-processing/resize - base64-uri - width - height - 100 - (fn [^js resized-image] - (let [path (.-path resized-image) - path (if (string/starts-with? path "file") path (str "file://" path))] - (.saveToCameraRoll CameraRoll path))) - #(log/error "could not resize image" %))))))) + (-> (.saveToCameraRoll CameraRoll base64-uri) + (.catch #(utils/show-popup (i18n/label :t/error) + (i18n/label :t/external-storage-denied)))) + (permissions/request-permissions + {:permissions [:write-external-storage] + :on-allowed #(android-save-image-to-gallery base64-uri) + :on-denied (fn [] + (utils/set-timeout + #(utils/show-popup (i18n/label :t/error) + (i18n/label :t/external-storage-denied)) + 50))})))) (re-frame/reg-fx ::chat-open-image-picker-camera diff --git a/status-go-version.json b/status-go-version.json index 334804e700..716ffd951f 100644 --- a/status-go-version.json +++ b/status-go-version.json @@ -2,7 +2,7 @@ "_comment": "DO NOT EDIT THIS FILE BY HAND. USE 'scripts/update-status-go.sh ' instead", "owner": "status-im", "repo": "status-go", - "version": "v0.85.0", - "commit-sha1": "0c0e02e93af31207fedb04f98ae6161cd4bcb3df", - "src-sha256": "1dzx8f0gjn5kbwkrfidnfacvahw79p85ampmps57bp0yszvq4rnl" + "version": "v0.86.2", + "commit-sha1": "d8d5d797dafdb5d042f0ec9eb27d0395840c57e6", + "src-sha256": "0pl75amwyydj58l2ff8f4nv148vnsz19nhpdas6y60g145h2nfqw" }