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