Compare commits
8
Commits
develop
...
release/1.1.x
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b64a99b20 | ||
|
|
a12a6b263c | ||
|
|
e93525563d | ||
|
|
aed0307f57 | ||
|
|
e006d4b550 | ||
|
|
a84fa74357 | ||
|
|
1d909ced1c | ||
|
|
005a85445c |
@@ -21,6 +21,8 @@
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
||||
|
||||
<uses-permission android:name="com.android.vending.BILLING" />
|
||||
|
||||
<!-- these permissions should be removed -->
|
||||
<!-- React Native unnecessary permissions (https://github.com/facebook/react-native/issues/5886) -->
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/>
|
||||
|
||||
@@ -108,8 +108,6 @@ pipeline {
|
||||
}
|
||||
/* build type specific */
|
||||
switch (btype) {
|
||||
case 'release':
|
||||
android.uploadToPlayStore(); break;
|
||||
case 'nightly':
|
||||
env.DIAWI_URL = android.uploadToDiawi(); break;
|
||||
case 'e2e':
|
||||
|
||||
@@ -76,7 +76,7 @@ pipeline {
|
||||
steps { script {
|
||||
switch (btype) {
|
||||
case 'nightly': build(job: 'misc/status.im', wait: false); break
|
||||
case 'release': gh.publishReleaseMobile(); break
|
||||
//case 'release': gh.publishReleaseMobile(); break
|
||||
}
|
||||
} }
|
||||
}
|
||||
|
||||
@@ -116,7 +116,6 @@
|
||||
(when (and current-chat?
|
||||
(or (not cursor-clock-value)
|
||||
(<= cursor-clock-value clock-value)))
|
||||
;; Not in the current view, offload to db and update cursor if necessary
|
||||
(if (or (not @view.state/viewable-item)
|
||||
(not= current-chat-id
|
||||
(:chat-id @view.state/viewable-item))
|
||||
@@ -124,10 +123,11 @@
|
||||
clock-value))
|
||||
(add-message cofx {:message message
|
||||
:current-chat? current-chat?})
|
||||
;; Not in the current view, offload to db and update cursor if necessary
|
||||
(when (and (< clock-value
|
||||
cursor-clock-value)
|
||||
(= current-chat-id
|
||||
(:chat-id (.-item view.state/viewable-item))))
|
||||
(:chat-id @view.state/viewable-item)))
|
||||
{:db (assoc-in db [:chats chat-id :cursor] (chat-loading/clock-value->cursor clock-value))})))))
|
||||
|
||||
(defn- add-to-chat?
|
||||
|
||||
@@ -210,23 +210,26 @@
|
||||
|
||||
(fx/defn new-transfers
|
||||
{:events [::new-transfers]}
|
||||
[{:keys [db] :as cofx} transfers {:keys [address historical? limit]}]
|
||||
[{:keys [db] :as cofx} transfers {:keys [address limit]}]
|
||||
(log/debug "[transfers] new-transfers"
|
||||
"address" address
|
||||
"count" (count transfers)
|
||||
"limit" limit)
|
||||
(let [checksum (eip55/address->checksum address)
|
||||
min-known-block (or (get-min-known-block db address)
|
||||
(:ethereum/current-block db))
|
||||
effects (cond-> [(when (seq transfers)
|
||||
(set-lowest-fetched-block checksum transfers))]
|
||||
|
||||
(seq transfers)
|
||||
(concat (mapv add-transfer transfers))
|
||||
;;NOTE: we only update the balance for new transfers and not
|
||||
;; historical ones
|
||||
(not historical?)
|
||||
|
||||
true
|
||||
(conj (wallet/update-balances
|
||||
(into [] (reduce (fn [acc {:keys [address]}]
|
||||
(conj acc address))
|
||||
(into [] (reduce (fn [acc {:keys [address block]}]
|
||||
(if (> block min-known-block)
|
||||
(conj acc address)
|
||||
acc))
|
||||
#{}
|
||||
transfers))))
|
||||
|
||||
|
||||
@@ -52,22 +52,27 @@
|
||||
{:events [::store-multiaccount-success]
|
||||
:interceptors [(re-frame/inject-cofx :random-guid-generator)
|
||||
(re-frame/inject-cofx ::multiaccounts.create/get-signing-phrase)]}
|
||||
[{:keys [db] :as cofx} password]
|
||||
(let [{:keys [key-uid] :as multiaccount} (get-in db [:intro-wizard :root-key])
|
||||
keycard-multiaccount? (boolean (get-in db [:multiaccounts/multiaccounts key-uid :keycard-pairing]))]
|
||||
(if keycard-multiaccount?
|
||||
;; trying to recover multiaccount created with keycard
|
||||
{:db (-> db
|
||||
(update :intro-wizard assoc
|
||||
:processing? false
|
||||
:passphrase-error :recover-keycard-multiaccount-not-supported)
|
||||
(update :intro-wizard dissoc
|
||||
:passphrase-valid?))}
|
||||
(let [multiaccount (assoc multiaccount :derived (get-in db [:intro-wizard :derived]))]
|
||||
(multiaccounts.create/on-multiaccount-created cofx
|
||||
multiaccount
|
||||
password
|
||||
{})))))
|
||||
[{:keys [db] :as cofx} result password]
|
||||
(let [{:keys [error]} (types/json->clj result)]
|
||||
(if error
|
||||
{:utils/show-popup {:title (i18n/label :t/multiaccount-exists-title)
|
||||
:content (i18n/label :t/multiaccount-exists-title)
|
||||
:on-dismiss #(re-frame/dispatch [:navigate-to :multiaccounts])}}
|
||||
(let [{:keys [key-uid] :as multiaccount} (get-in db [:intro-wizard :root-key])
|
||||
keycard-multiaccount? (boolean (get-in db [:multiaccounts/multiaccounts key-uid :keycard-pairing]))]
|
||||
(if keycard-multiaccount?
|
||||
;; trying to recover multiaccount created with keycard
|
||||
{:db (-> db
|
||||
(update :intro-wizard assoc
|
||||
:processing? false
|
||||
:passphrase-error :recover-keycard-multiaccount-not-supported)
|
||||
(update :intro-wizard dissoc
|
||||
:passphrase-valid?))}
|
||||
(let [multiaccount (assoc multiaccount :derived (get-in db [:intro-wizard :derived]))]
|
||||
(multiaccounts.create/on-multiaccount-created cofx
|
||||
multiaccount
|
||||
password
|
||||
{})))))))
|
||||
|
||||
(fx/defn store-multiaccount
|
||||
{:events [::recover-multiaccount-confirmed]}
|
||||
@@ -75,7 +80,7 @@
|
||||
(let [password (get-in db [:intro-wizard :key-code])
|
||||
{:keys [root-key]} (:intro-wizard db)
|
||||
{:keys [id]} root-key
|
||||
callback #(re-frame/dispatch [::store-multiaccount-success password])
|
||||
callback #(re-frame/dispatch [::store-multiaccount-success % password])
|
||||
hashed-password (ethereum/sha3 (security/safe-unmask-data password))]
|
||||
{:db (assoc-in db [:intro-wizard :processing?] true)
|
||||
::multiaccounts.create/store-multiaccount [id hashed-password callback]}))
|
||||
|
||||
@@ -53,7 +53,10 @@
|
||||
(seq contacts)
|
||||
(let [contact (.pop contacts)]
|
||||
(fx/merge cofx
|
||||
{:utils/dispatch-later [{:ms 20 :dispatch [::process response-js]}]}
|
||||
;;TODO temporary fix for release, we have and issue with contacts updates , UI is really slow
|
||||
;;we need to inspect all subsctiptions and views, but for now to temporary make it better
|
||||
;; we use dispatch instead dispatch-later
|
||||
{:dispatch [::process response-js]}
|
||||
(handle-contact (-> contact (types/js->clj) (data-store.contacts/<-rpc)))))
|
||||
|
||||
(seq chats)
|
||||
|
||||
@@ -305,13 +305,18 @@
|
||||
(defonce messages-list-ref (atom nil))
|
||||
|
||||
(defn on-viewable-items-changed [e]
|
||||
(reset! state/viewable-item
|
||||
(let [element (->> (.-viewableItems e)
|
||||
reverse
|
||||
(filter (fn [e]
|
||||
(= :message (:type (.-item e)))))
|
||||
first)]
|
||||
(when element (.-item element))))
|
||||
(when @messages-list-ref
|
||||
(reset! state/viewable-item
|
||||
(when-let [last-visible-element (aget (.-viewableItems e) (dec (.-length (.-viewableItems e))))]
|
||||
(let [index (.-index last-visible-element)
|
||||
;; Get first not visible element, if it's a datemark/gap
|
||||
;; we might unnecessarely add messages on receiving as
|
||||
;; they do not have a clock value, but most of the times
|
||||
;; it will be a message
|
||||
first-not-visible (aget (.-data (.-props @messages-list-ref)) (inc index))]
|
||||
(when (and first-not-visible
|
||||
(= :message (:type first-not-visible)))
|
||||
first-not-visible)))))
|
||||
(debounce/debounce-and-dispatch [:chat.ui/message-visibility-changed e] 5000))
|
||||
|
||||
(defview messages-view
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"_comment": "DO NOT EDIT THIS FILE BY HAND. USE 'scripts/update-status-go.sh <tag>' instead",
|
||||
"owner": "status-im",
|
||||
"repo": "status-go",
|
||||
"version": "v0.48.3",
|
||||
"commit-sha1": "7be1fcb978ad3a640b9eb6372eea4caf4e1bfb03",
|
||||
"src-sha256": "100dls7fcddcfziw1rhdb2aaj0lpwi2ri6bnr503sxbjaac1zmnb"
|
||||
"version": "v0.49.0",
|
||||
"commit-sha1": "d7bb02540a4356fb507a08ed73491c659b076fb1",
|
||||
"src-sha256": "0i6s085qq67aiyzjs2lrjfnaqvbh1v1jxdsi84c176y150lwb8lw"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user