Skip to content

Commit

Permalink
v3.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mytonwalletorg committed Dec 27, 2024
1 parent 5c0e756 commit 3b6a29d
Show file tree
Hide file tree
Showing 339 changed files with 13,443 additions and 4,210 deletions.
30 changes: 30 additions & 0 deletions .github/actions/prepare_node/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Prepare the Node environment

description: Shared steps to prepare the Node environment and the NPM packages

inputs:
dont-install-npm-packages:
default: false

runs:
using: composite
steps:
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22

- name: Cache Node modules
if: inputs.dont-install-npm-packages != 'true'
id: npm-cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-build-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-
- name: Install dependencies
if: inputs.dont-install-npm-packages != 'true' && steps.npm-cache.outputs.cache-hit != 'true'
run: npm ci
shell: bash
94 changes: 17 additions & 77 deletions .github/workflows/package-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22

- name: Cache node modules
id: npm-cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-build-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-
- name: Install dependencies
if: steps.npm-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Prepare the Node environment
uses: ./.github/actions/prepare_node

- name: Import MacOS signing certificate
env:
Expand Down Expand Up @@ -178,23 +163,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22

- name: Cache node modules
id: npm-cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-build-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-
- name: Install dependencies
if: steps.npm-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Prepare the Node environment
uses: ./.github/actions/prepare_node

- name: Build and package
run: |
Expand Down Expand Up @@ -228,10 +198,10 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Use Node.js 22
uses: actions/setup-node@v4
- name: Prepare the Node environment
uses: ./.github/actions/prepare_node
with:
node-version: 22
dont-install-npm-packages: true

- name: Set environment variables
id: variables
Expand Down Expand Up @@ -262,10 +232,10 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Use Node.js 22
uses: actions/setup-node@v4
- name: Prepare the Node environment
uses: ./.github/actions/prepare_node
with:
node-version: 22
dont-install-npm-packages: true

- name: Set environment variables
id: variables
Expand Down Expand Up @@ -304,10 +274,10 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Use Node.js 22
uses: actions/setup-node@v4
- name: Prepare the Node environment
uses: ./.github/actions/prepare_node
with:
node-version: 22
dont-install-npm-packages: true

- name: Set environment variables
id: variables
Expand Down Expand Up @@ -364,23 +334,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22

- name: Cache node modules
id: npm-cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-build-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-
- name: Install dependencies
if: steps.npm-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Prepare the Node environment
uses: ./.github/actions/prepare_node

- name: Build and sync mobile project
run: |
Expand Down Expand Up @@ -460,23 +415,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22

- name: Cache node modules
id: npm-cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-build-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-
- name: Install dependencies
if: steps.npm-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Prepare the Node environment
uses: ./.github/actions/prepare_node

- name: Build and sync mobile project
run: |
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Test

on:
push:
branches:
- master
pull_request:

jobs:
test:
name: Simple tests
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Prepare the Node environment
uses: ./.github/actions/prepare_node

- name: Test
run: npm test
57 changes: 36 additions & 21 deletions capacitor.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,37 @@ import type { CapacitorConfig } from '@capacitor/cli';

const { APP_ENV = 'production' } = process.env;

const COMMON_PLUGINS = [
'@capacitor-community/bluetooth-le',
'@capacitor-mlkit/barcode-scanning',
'@capacitor/app',
'@capacitor/app-launcher',
'@capacitor/clipboard',
'@capacitor/filesystem',
'@capacitor/haptics',
'@capacitor/push-notifications',
'@capacitor/share',
'@capgo/capacitor-native-biometric',
'@capgo/native-audio',
'@mauricewegner/capacitor-navigation-bar',
'@sina_kh/mtw-capacitor-status-bar',
'capacitor-native-settings',
'capacitor-plugin-safe-area',
'capacitor-secure-storage-plugin',
'cordova-plugin-inappbrowser',
'mtw-capacitor-usb-hid',
'native-bottom-sheet',
'native-dialog',
];

const IOS_PLUGINS = [
'@sina_kh/mtw-capacitor-splash-screen',
];

const ANDROID_PLUGINS = [
'@capacitor/keyboard',
];

const config: CapacitorConfig = {
appId: 'org.mytonwallet.app',
appName: 'MyTonWallet',
Expand All @@ -12,31 +43,12 @@ const config: CapacitorConfig = {
},
android: {
path: 'mobile/android',
includePlugins: [
'@capacitor-community/bluetooth-le',
'@capacitor-mlkit/barcode-scanning',
'@capacitor/app',
'@capacitor/filesystem',
'@capacitor/clipboard',
'@capacitor/share',
'@capacitor/haptics',
'@capgo/capacitor-native-biometric',
'@capgo/native-audio',
'@mauricewegner/capacitor-navigation-bar',
'@sina_kh/mtw-capacitor-status-bar',
'capacitor-native-settings',
'capacitor-plugin-safe-area',
'cordova-plugin-inappbrowser',
'mtw-capacitor-usb-hid',
'native-dialog',
'native-bottom-sheet',
'capacitor-secure-storage-plugin',
'@capacitor/app-launcher',
],
includePlugins: COMMON_PLUGINS.concat(ANDROID_PLUGINS),
webContentsDebuggingEnabled: APP_ENV !== 'production',
},
ios: {
path: 'mobile/ios',
includePlugins: COMMON_PLUGINS.concat(IOS_PLUGINS),
scheme: 'MyTonWallet',
webContentsDebuggingEnabled: APP_ENV !== 'production',
},
Expand All @@ -47,6 +59,9 @@ const config: CapacitorConfig = {
CapacitorHttp: {
enabled: true,
},
PushNotifications: {
presentationOptions: [],
},
},
};

Expand Down
1 change: 1 addition & 0 deletions changelogs/3.1.5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Bug fixes and performance improvements
9 changes: 9 additions & 0 deletions changelogs/3.2.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
As the New Year approaches, we’re thrilled to introduce MyTonWallet v3.2—major update with a range of exciting features!

• Unprecedented interface personalization with exquisite MyTonWallet Cards.

• Push notifications to track transfers and staking interest.

• Manual app lock to protect your wallet from prying eyes.

• Private key export, LP tokens support, improved UI, and much more.
6 changes: 3 additions & 3 deletions docs/electron.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,9 +163,9 @@ The same test scenarios as when "Auto-Updates" is turned on, but instead of relo

#### Toggling "Auto-Updates" feature

Toggle is located in Settings > Security with "Enable Auto-Updates" name.
Toggle is located in Settings > Security with "Auto-Updates" name.

**Expected behaviour:** application content is being reloaded, application state clears, all settings and session are kept. In case "Update" button is displayed, it's logic changes depending on "Enable Auto-Updates" setting value.
**Expected behaviour:** application content is being reloaded, application state clears, all settings and session are kept. In case "Update" button is displayed, it's logic changes depending on "Auto-Updates" setting value.


#### User has version of application older that the one where Auto-Updates were introduced
Expand All @@ -185,4 +185,4 @@ C:\Users\<Your Username>\AppData\Roaming\<Your App Name>

- Download and install (manually or with "Update" button) new version with "Auto-Updates" feature

**Expected behaviour:** session and all settings are kept, "Enable Auto-Updates" is turned on in the Settings, "Update" button is not visible
**Expected behaviour:** session and all settings are kept, "Auto-Updates" is turned on in the Settings, "Update" button is not visible
3 changes: 1 addition & 2 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,9 @@ module.exports = {
testPathIgnorePatterns: [
'<rootDir>/tests/playwright/',
'<rootDir>/node_modules/',
'<rootDir>/legacy_notes_and_workbook/',
'<rootDir>/client/src/stylesheets/',
],
testEnvironment: 'jsdom',
testEnvironment: 'jest-environment-jsdom',
transform: {
'\\.(jsx?|tsx?)$': 'babel-jest',
'\\.txt$': 'jest-raw-loader',
Expand Down
3 changes: 3 additions & 0 deletions mobile/android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
namespace "org.mytonwallet.app"
Expand Down Expand Up @@ -41,6 +42,8 @@ dependencies {
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
implementation project(':capacitor-cordova-android-plugins')
implementation "com.google.mlkit:barcode-scanning:$mlkitBarcodeScanningVersion"
implementation platform('com.google.firebase:firebase-bom:33.5.1')
implementation 'com.google.firebase:firebase-messaging'
}

apply from: 'capacitor.build.gradle'
Expand Down
12 changes: 7 additions & 5 deletions mobile/android/app/capacitor.build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,23 @@ dependencies {
implementation project(':capacitor-community-bluetooth-le')
implementation project(':capacitor-mlkit-barcode-scanning')
implementation project(':capacitor-app')
implementation project(':capacitor-filesystem')
implementation project(':capacitor-app-launcher')
implementation project(':capacitor-clipboard')
implementation project(':capacitor-share')
implementation project(':capacitor-filesystem')
implementation project(':capacitor-haptics')
implementation project(':capacitor-push-notifications')
implementation project(':capacitor-share')
implementation project(':capgo-capacitor-native-biometric')
implementation project(':capgo-native-audio')
implementation project(':mauricewegner-capacitor-navigation-bar')
implementation project(':sina_kh-mtw-capacitor-status-bar')
implementation project(':capacitor-native-settings')
implementation project(':capacitor-plugin-safe-area')
implementation project(':capacitor-secure-storage-plugin')
implementation project(':mtw-capacitor-usb-hid')
implementation project(':native-dialog')
implementation project(':native-bottom-sheet')
implementation project(':capacitor-secure-storage-plugin')
implementation project(':capacitor-app-launcher')
implementation project(':native-dialog')
implementation project(':capacitor-keyboard')

}

Expand Down
29 changes: 29 additions & 0 deletions mobile/android/app/google-services.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "155616896352",
"project_id": "mytonwallet-19cac",
"storage_bucket": "mytonwallet-19cac.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:155616896352:android:ee6a74c4ae7b7e2d7eaa05",
"android_client_info": {
"package_name": "org.mytonwallet.app"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyDxJvcFF4J9UaNcrTa480Acb9aBbyNnZSM"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}
Loading

0 comments on commit 3b6a29d

Please sign in to comment.