Skip to content

Commit 0ec77ac

Browse files
authored
Merge pull request #974 from liquality/develop
Release 0.82.5 to master
2 parents 6940404 + 607ca18 commit 0ec77ac

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+2915
-1788
lines changed

.env

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,7 @@ VUE_APP_FIREBASE_APP_ID=
2121
VUE_APP_FIREBASE_MEASUREMENT_ID=
2222
VUE_APP_FIREBASE_DATABASE_URL=
2323
VUE_APP_MAX_ERROR_LOG_SIZE=100
24-
VUE_APP_REPORT_TARGETS=
24+
VUE_APP_REPORT_TARGETS=Sentry
25+
VUE_APP_NPM_PACKAGE_VERSION=0_81_0
26+
VUE_APP_SENTRY_DSN=https://2c52b9d6e67741cf9d4eabe32369827a@o241807.ingest.sentry.io/5444900
27+

.github/workflows/release.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ env:
3131
FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
3232
FIREBASE_MEASUREMENT_ID: ${{ secrets.FIREBASE_MEASUREMENT_ID }}
3333
FIREBASE_DATABASE_URL: ${{ secrets.FIREBASE_DATABASE_URL }}
34+
NODE_OPTIONS: "--max_old_space_size=4096"
3435

3536
jobs:
3637
build:

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,7 @@ artifacts
4040
.yarn/cache
4141
.yarn/versions
4242
.yarn/install-state.gz
43-
.yarn/unplugged
43+
.yarn/unplugged
44+
45+
yalc.lock
46+
.yalc

package.json

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "liquality-wallet",
3-
"version": "0.81.0",
3+
"version": "0.82.5",
44
"private": true,
55
"author": "Liquality <info@liquality.io>",
66
"scripts": {
@@ -10,6 +10,7 @@
1010
"build:staging": "vue-cli-service build --mode staging",
1111
"clean": "rm -rf node_modules",
1212
"dev": "vue-cli-service build --mode development --watch",
13+
"dev:tools": "vue-devtools & vue-cli-service build --mode development --watch",
1314
"jest": "jest",
1415
"postinstall": "husky install",
1516
"sync-versions": "node script/sync-versions.js",
@@ -18,15 +19,17 @@
1819
"test:mainnet:prodagent": "NODE_ENV=mainnet NODE_AGENT=prodagent node_modules/mocha/bin/mocha --grep 'MAINNET'",
1920
"test:mainnet:prodagent:release": "NODE_ENV=mainnet NODE_AGENT=prodagent node_modules/mocha/bin/mocha --grep 'MAINNET_RELEASE'",
2021
"test:pullrequest": "node_modules/mocha/bin/mocha --grep 'PULL_REQUEST_TEST'",
21-
"test-full-regression": "node_modules/mocha/bin/mocha"
22+
"test-full-regression": "node_modules/mocha/bin/mocha",
23+
"devtools": "node_modules/.bin/vue-devtools"
2224
},
2325
"dependencies": {
24-
"@liquality/cryptoassets": "2.1.0-next.2",
25-
"@liquality/error-parser": "2.0.1-next.2",
26+
"@chainify/hw-ledger": "2.2.0",
27+
"@liquality/cryptoassets": "2.1.0",
28+
"@liquality/error-parser": "2.0.1",
2629
"@liquality/ethereum-utils": "^1.13.12",
2730
"@liquality/terra-networks": "^1.13.12",
2831
"@liquality/types": "^1.13.12",
29-
"@liquality/wallet-core": "3.0.0",
32+
"@liquality/wallet-core": "4.1.0",
3033
"@terra-money/terra.js": "^3.1.6",
3134
"@testing-library/vue": "^5.8.2",
3235
"amplitude-js": "8.18.2",
@@ -76,6 +79,7 @@
7679
"@vue/cli-plugin-unit-jest": "^4.5.8",
7780
"@vue/cli-plugin-vuex": "4.5.15",
7881
"@vue/cli-service": "4.5.15",
82+
"@vue/devtools": "^6.4.5",
7983
"@vue/eslint-config-prettier": "^6.0.0",
8084
"@vue/test-utils": "1.3.3",
8185
"babel-eslint": "^10.1.0",
@@ -119,5 +123,11 @@
119123
"repository": {
120124
"type": "git",
121125
"url": "git@github.com:liquality/wallet.git"
126+
},
127+
"resolutions": {
128+
"@ledgerhq/devices": "6.27.1",
129+
"@ledgerhq/hw-transport": "6.27.1",
130+
"@ledgerhq/hw-transport-webhid": "6.27.1",
131+
"@ledgerhq/hw-app-eth": "6.26.0"
122132
}
123133
}

src/App.vue

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
<template>
22
<div id="app">
33
<template v-if="brokerReady && localesLoaded">
4-
<Head v-if="unlockedAt" :show-dapp-connections="showDappConnections" />
4+
<template v-if="unlockedAt && termsAcceptedAt">
5+
<Head :show-dapp-connections="showDappConnections" />
6+
<GlobalModals />
7+
</template>
58
<router-view />
6-
<GlobalModals v-if="unlockedAt && termsAcceptedAt" />
79
</template>
810
<div class="login-wrapper spinner-container" v-else>
911
<SpinnerIcon class="btn-loading" />
@@ -14,12 +16,11 @@
1416
<script>
1517
import { mapState, mapActions } from 'vuex'
1618
import Head from '@/components/Head.vue'
17-
import GlobalModals from '@/components/GlobalModals.vue'
1819
import SpinnerIcon from '@/assets/icons/spinner.svg'
1920
export default {
2021
components: {
2122
Head,
22-
GlobalModals,
23+
GlobalModals: () => import('@/components/GlobalModals.vue'),
2324
SpinnerIcon
2425
},
2526
data() {
@@ -50,32 +51,30 @@ export default {
5051
...mapActions(['initializeAnalytics']),
5152
...mapActions('app', ['setLocalePreference', 'getBrowserLocale', 'setWhatsNewModalContent'])
5253
},
53-
async created() {
54-
await this.initializeAnalytics()
55-
if (this.locale) {
56-
await this.changeLocale(this.locale)
57-
} else {
58-
const browserLocale = await this.getBrowserLocale()
59-
const _locale = this.locales.includes(browserLocale)
60-
? browserLocale
61-
: process.env.VUE_APP_DEFAULT_LOCALE
62-
await this.changeLocale(_locale)
63-
// store the locale in state
64-
await this.setLocalePreference({ locale: this.currentLocale })
65-
}
66-
if (
67-
this.whatsNewModalVersion !== this.appVersion ||
68-
process.env.VUE_APP_SHOW_WHATS_NEW_ALWAYS
69-
) {
70-
const content = await import(`@/locales/${this.currentLocale}/whats_new.json`)
71-
await this.setWhatsNewModalContent({ content: content.default })
72-
}
73-
this.localesLoaded = true
74-
},
75-
watch: {
76-
localeKey(newVal, oldVal) {
77-
console.log('localeKey', newVal, oldVal)
78-
}
54+
mounted() {
55+
this.initializeAnalytics()
56+
setTimeout(async () => {
57+
if (this.locale) {
58+
await this.changeLocale(this.locale)
59+
} else {
60+
const browserLocale = await this.getBrowserLocale()
61+
const _locale = this.locales.includes(browserLocale)
62+
? browserLocale
63+
: process.env.VUE_APP_DEFAULT_LOCALE
64+
await this.changeLocale(_locale)
65+
// store the locale in state
66+
await this.setLocalePreference({ locale: _locale })
67+
}
68+
69+
if (
70+
this.whatsNewModalVersion !== this.appVersion ||
71+
process.env.VUE_APP_SHOW_WHATS_NEW_ALWAYS
72+
) {
73+
const content = await import(`@/locales/${this.currentLocale}/whats_new.json`)
74+
this.setWhatsNewModalContent({ content: content.default })
75+
}
76+
this.localesLoaded = true
77+
}, 1000)
7978
}
8079
}
8180
</script>

src/assets/scss/style.scss

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -872,6 +872,11 @@ svg.qr-icon {
872872
z-index: 9999;
873873
}
874874

875+
876+
.modal-dialog {
877+
min-width: 320px !important;
878+
}
879+
875880
.modal-dialog-bottom {
876881
display: flex;
877882
align-items: flex-end;
@@ -981,3 +986,12 @@ svg.qr-icon {
981986
.custom-control-input:checked ~ .custom-control-label::after {
982987
background-image: none !important;
983988
}
989+
990+
.fade-enter-active,
991+
.fade-leave-active {
992+
transition: opacity 0.1s ease;
993+
}
994+
.fade-enter-from,
995+
.fade-leave-to {
996+
opacity: 0;
997+
}

src/background.js

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ function asyncLoop(fn, delay) {
1616
.then(() => asyncLoop(fn, delay))
1717
}
1818

19-
chrome.runtime.onInstalled.addListener((details) => {
20-
if (details.reason === 'install') {
21-
chrome.runtime.setUninstallURL('https://liquality.typeform.com/feedbackuninst')
22-
}
23-
})
19+
if (process.env.NODE_ENV !== 'development') {
20+
chrome.runtime.onInstalled.addListener((details) => {
21+
if (details.reason === 'install') {
22+
chrome.runtime.setUninstallURL('https://liquality.typeform.com/feedbackuninst')
23+
}
24+
})
25+
}
2426

2527
function getBalance(state) {
2628
let total = 0
@@ -32,7 +34,7 @@ function getBalance(state) {
3234
return total
3335
}
3436

35-
store.subscribe(async ({ type, payload }, state) => {
37+
store.subscribe(({ type, payload }, state) => {
3638
let currentState = _.cloneDeep(state)
3739
const { dispatch, getters } = store
3840

@@ -79,7 +81,7 @@ store.subscribe(async ({ type, payload }, state) => {
7981
network: state.activeNetwork,
8082
walletId: state.activeWalletId
8183
})
82-
await dispatch('app/trackAnalytics', {
84+
dispatch('app/trackAnalytics', {
8385
event: `Change Active Network to ${state.activeNetwork}`,
8486
properties: {
8587
walletVersion,
@@ -99,7 +101,7 @@ store.subscribe(async ({ type, payload }, state) => {
99101
dispatch('updateMarketData', { network: state.activeNetwork })
100102
break
101103
case 'LOCK_WALLET':
102-
await dispatch('app/trackAnalytics', {
104+
dispatch('app/trackAnalytics', {
103105
event: 'Wallet locked successfully',
104106
properties: {
105107
walletVersion,
@@ -154,7 +156,7 @@ store.subscribe(async ({ type, payload }, state) => {
154156
// eslint-disable-next-line no-case-declarations
155157
let toAmountValue = unitToCurrency(cryptoassets[payload.swap.to], payload.swap.toAmount)
156158

157-
await dispatch('app/trackAnalytics', {
159+
dispatch('app/trackAnalytics', {
158160
event: 'New SWAP',
159161
properties: {
160162
category: 'Swaps',
@@ -177,7 +179,7 @@ store.subscribe(async ({ type, payload }, state) => {
177179
cryptoassets[payload.transaction.from],
178180
payload.transaction.amount
179181
)
180-
await dispatch('app/trackAnalytics', {
182+
dispatch('app/trackAnalytics', {
181183
event: `User send funds`,
182184
properties: {
183185
walletVersion,
@@ -193,7 +195,7 @@ store.subscribe(async ({ type, payload }, state) => {
193195
})
194196
break
195197
case 'ADD_EXTERNAL_CONNECTION':
196-
await dispatch('app/trackAnalytics', {
198+
dispatch('app/trackAnalytics', {
197199
event: 'Connect to Dapps',
198200
properties: {
199201
walletVersion,
@@ -206,7 +208,7 @@ store.subscribe(async ({ type, payload }, state) => {
206208
})
207209
break
208210
case 'ADD_CUSTOM_TOKEN':
209-
await dispatch('app/trackAnalytics', {
211+
dispatch('app/trackAnalytics', {
210212
event: 'Custom Token Added',
211213
properties: {
212214
walletVersion,
@@ -224,7 +226,7 @@ store.subscribe(async ({ type, payload }, state) => {
224226
})
225227
break
226228
case 'REMOVE_CUSTOM_TOKEN':
227-
await dispatch('app/trackAnalytics', {
229+
dispatch('app/trackAnalytics', {
228230
event: 'Custom Token Removed',
229231
properties: {
230232
walletVersion,
@@ -240,7 +242,7 @@ store.subscribe(async ({ type, payload }, state) => {
240242
const item = getters.historyItemById(payload.network, payload.walletId, payload.id)
241243
if (item.type === 'SWAP' && payload.updates) {
242244
if (payload.updates.status !== 'undefined') {
243-
await dispatch('app/trackAnalytics', {
245+
dispatch('app/trackAnalytics', {
244246
event: 'Swap status change',
245247
properties: {
246248
walletVersion,
@@ -256,7 +258,7 @@ store.subscribe(async ({ type, payload }, state) => {
256258
}
257259
if (item.type === 'SEND' && payload.updates) {
258260
if (payload.updates.status !== 'undefined') {
259-
await dispatch('app/trackAnalytics', {
261+
dispatch('app/trackAnalytics', {
260262
event: 'Send status change',
261263
properties: {
262264
walletVersion,
@@ -270,7 +272,7 @@ store.subscribe(async ({ type, payload }, state) => {
270272
}
271273
if (item.type === 'NFT' && payload.updates) {
272274
if (payload.updates.status !== 'undefined') {
273-
await dispatch('app/trackAnalytics', {
275+
dispatch('app/trackAnalytics', {
274276
event: 'Send NFT status change',
275277
properties: {
276278
walletVersion,
@@ -289,7 +291,7 @@ store.subscribe(async ({ type, payload }, state) => {
289291
const newBalance = getBalance(currentState)
290292
// Only trigger event for the first time when user funds their wallet, any subsequent balance updates are ignored.
291293
if (prevBalance === 0 && newBalance > prevBalance) {
292-
await dispatch('app/trackAnalytics', {
294+
dispatch('app/trackAnalytics', {
293295
event: 'User funded wallet',
294296
properties: {
295297
walletVersion,
@@ -302,7 +304,7 @@ store.subscribe(async ({ type, payload }, state) => {
302304
prevState = currentState
303305
break
304306
case 'TOGGLE_EXPERIMENT':
305-
await dispatch('app/trackAnalytics', {
307+
dispatch('app/trackAnalytics', {
306308
event: `User on Experiment feature ${payload.name}`,
307309
properties: {
308310
walletVersion,
@@ -313,7 +315,7 @@ store.subscribe(async ({ type, payload }, state) => {
313315
})
314316
break
315317
case 'CHANGE_PASSWORD':
316-
await dispatch('app/trackAnalytics', {
318+
dispatch('app/trackAnalytics', {
317319
walletVersion,
318320
event: 'Change Password',
319321
properties: {
@@ -323,7 +325,7 @@ store.subscribe(async ({ type, payload }, state) => {
323325
})
324326
break
325327
case 'DISABLE_ASSETS':
326-
await dispatch('app/trackAnalytics', {
328+
dispatch('app/trackAnalytics', {
327329
walletVersion,
328330
event: 'User Disable Asset',
329331
properties: {
@@ -334,7 +336,7 @@ store.subscribe(async ({ type, payload }, state) => {
334336
})
335337
break
336338
case 'DISABLE_ETHEREUM_INJECTION':
337-
await dispatch('app/trackAnalytics', {
339+
dispatch('app/trackAnalytics', {
338340
walletVersion,
339341
event: 'User Disable Default Web3 Wallet Injection',
340342
properties: {
@@ -344,7 +346,7 @@ store.subscribe(async ({ type, payload }, state) => {
344346
})
345347
break
346348
case 'ENABLE_ETHEREUM_INJECTION':
347-
await dispatch('app/trackAnalytics', {
349+
dispatch('app/trackAnalytics', {
348350
walletVersion,
349351
event: 'User Enable Default Web3 Wallet Injection',
350352
properties: {

0 commit comments

Comments
 (0)