Compare commits

...
Author SHA1 Message Date
Icaro Motta 9326fc5121 Demonstrate latency even with fake rectangles instead of notifications 2022-10-12 13:21:42 -03:00
Icaro Motta 2eddeb0753 Controllable performance degradation 2022-10-12 13:15:21 -03:00
Icaro Motta 2e0a594d63 Add timestamps 2022-10-12 11:48:44 -03:00
Ibrahem Khalil 6991f213af [#13569] Page Nav (#13773) 2022-10-11 15:01:28 +02:00
flexsurfer 35eae4587b clean deps and fix warnings (#14141) 2022-10-11 12:20:37 +02:00
Parvesh Monu 46fd30597a Implementation of Dynamic Button Component (#14127) 2022-10-11 14:10:54 +05:30
Icaro Motta af5f979443 [#13968] Fetch and reconcile notifications by type and read status (#14125)
- Extract tabs component from the main screen component to reduce rendering cost when switching tabs.
- Display empty state component when there are no notifications.
- Fix screen flickering due to quickly flushing and filling the db state.
- Display top bar as a sticky header.
- Namespace icon keywords.
- Correctly sorts notifications during reconciliation.
- Remove warning about children without unique key.
2022-10-10 16:33:42 -03:00
Omar Basem adfb0ddb5d feat: reply to message new ui (#14098)
* feat: reply to messsage new ui
2022-10-10 19:55:02 +04:00
Mohamed Javid 0a282b3a47 [Feature] Added floating button to scroll down in chat (#14129)
* [Feature][#14063] Added floating button to scroll down in chat

* [Fix][#14063] Crash on pressing floating button to scroll down in chat
2022-10-10 22:33:53 +08:00
Roman Volosovskyi 5f98e96d23 Use a single geth.log file for all networks on iOS 2022-10-09 16:09:18 +02:00
Churikova Tetiana 823fce2457 e2e: exception and new custom network 2022-10-07 00:31:34 +02:00
Jamie Caprani 1d5e1479f7 chore: add components to communities overview (#14108) 2022-10-06 09:32:45 -07:00
erikseppanen c2c281d9c6 [13939] Implement system message into quo2 components (#14061) 2022-10-06 10:59:39 -04:00
Parvesh Monu 1f6ebbb5e8 remove ens banner component (#14112) 2022-10-06 12:31:07 +05:30
Icaro Motta 73983b2abd [#13967] Displays filtering tabs and read/unread filter (#14105) 2022-10-05 14:44:37 -03:00
Ibrahem Khalilandjakub 390ac858dc Update starting guide doc (#14107)
* Update starting guide doc

* Fix bad placement of tut

* formatting and style fixes

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* add adb link

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: Jakub Sokołowski <jakub@status.im>
2022-10-05 15:39:28 +02:00
John Ngei 69c49a5557 Renamed filter-tag/filter-tags to tag/tags and refactored token-tag tag to match figma naming (#14028) 2022-10-05 15:22:36 +03:00
Churikova Tetiana 2ed3b50663 e2e: dbs, improvements 2022-10-04 17:46:18 +02:00
Roman Volosovskyi 8dd75205f3 [#14021] Add goerli geth.log to logs archive on iOS 2022-10-04 13:33:33 +02:00
jakub 081f1a2115 ci: bump jenkins lib to use generalized nix library
Necessary so other repos can use the Nix functions.

Realted to:
https://github.com/status-im/nwaku/pull/1216

Depends on:
https://github.com/status-im/status-jenkins-lib/pull/50

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-03 15:43:11 +02:00
Parvesh Monu 99b2809532 Implementation of Top Nav Component (#14094) 2022-10-01 02:55:41 +05:30
Roman Volosovskyi 7f1e83672e [#13992] Delete account only after moving keys to keyacard 2022-09-30 11:20:32 +02:00
Jamie Caprani faaf6d5f94 feat: add disclaimer component to quo 2 library (#14084)
* feat: add disclaimer component to quo 2 library

* chore: move state of selectors to be internal
2022-09-29 08:28:32 -07:00
jakub 0e3b645695 scripts/fdroid-pr.sh: fix version name log message
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-29 12:54:48 +02:00
jakub bcf919fcbb nix: use android-sdk shell for fdroid-pr target
Also renamed `android-env` shell to `android-sdk` to be more descriptive.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-29 12:54:47 +02:00
Parvesh Monu f7fedf1338 fix quo2 colors and button component (#14083) 2022-09-29 13:51:22 +05:30
Jamie Caprani 7f71c01460 feat: implement selectors for quo2 (#14078)
* feat: implement selectors for quo2
2022-09-28 08:19:32 -07:00
Ibrahem Khalil b4d95b240d [issue-13557] Network breakdown and Network amount components (#13781) 2022-09-28 13:01:35 +02:00
Jamie Caprani 260f342bb7 fix: channel list mute icon now showing (#14079) 2022-09-28 02:14:38 -07:00
Parvesh Monu 20ac0eb2c7 Implemention of quo2 bottom-nav-tab (#14077) 2022-09-28 01:27:06 +05:30
Roman Volosovskyi 30e7ad585a [#14059] Show effective gas price 2022-09-27 20:53:44 +02:00
Icaro Motta ca144fbe1b [#13965 #13966 #13969] Implement accept/decline/open chat for contact requests (#14073)
Notification reconciliation is now implemented, which means new notifications
are "merged" with existing app db notifications. The original implementation was
not compatible with the way notifications are fetched by read/unread status.

Unit tests were written to cover event handlers in the new
status-im.activity-center.core namespace. New test utilities were added for two
main reasons: 1) reduce test clutter to arrange data, and 2) to spy on effects
to make sure they are dispatched correctly.
2022-09-27 10:05:03 -03:00
Brian Sztamfater ba1ff91cdd fix: appearance switch resets to old ui when new ui is activated
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-09-26 12:06:42 -03:00
Brian Sztamfater 5fa203c6f2 feat: implement new message context drawer
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-09-26 12:01:35 -03:00
Jamie Caprani 1fb71bdfc8 Jc/add channel list item (#14040)
* feat: add list item - channel component to quo2 library

* fix: adjust size and position of icon for lock in channel avatar
2022-09-23 07:55:34 -07:00
pavloburykh 1d3a44b933 e2e: fixed 702185 2022-09-23 16:42:04 +03:00
pavloburykh 9fea5c9704 e2e: e2e fixes 2022-09-23 13:05:55 +03:00
Churikova Tetiana 9a1f0a337e e2e: web3 2022-09-23 11:17:24 +02:00
jakub fac5301ace docs/FDROID: not to create the PR as draft first
Otherwise F-Droid reviewers can merge the PR before we have a final
release version ready with all the fixes included.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-23 11:13:39 +02:00
pavloburykh 3d2c6a9333 e2e: new e2e and fixes 2022-09-22 16:55:13 +03:00
flexsurfer 5422c02da3 [#14056] Error '1.20.0 (20220922040832) is not a function' when opening About screen (#14058) 2022-09-22 15:51:08 +02:00
Parvesh Monu d707230b17 dismiss keyboard inside quo2 screen on pressing outside (#14055)
also, fixes New component preview area isn't using the full width available (#13913)
2022-09-22 18:25:01 +05:30
Parvesh Monu e582ba4169 Add expire time to ens banner (#14057) 2022-09-22 14:58:54 +05:30
flexsurfer 2266d87ade subs refactor (#14054) 2022-09-21 16:03:06 +02:00
Parvesh Monu 147958dd13 Allow disabling Hermes engine by passing flag while building app (#14041) 2022-09-21 14:56:26 +05:30
andrey 17fd6df773 Revert "subs refactor (#14049)"
This reverts commit c4eeda5df0.
2022-09-21 07:02:45 +02:00
Brian Sztamfater 6794273dbf Integrate reactions to messages in the new UI
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-09-20 16:31:45 -03:00
jakub c4da42b4d2 scripts/fdroid-pr.sh: fix typo in vars and directory
Doesn't affect functioning, but it's unsightly.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-20 20:23:47 +02:00
flexsurfer c4eeda5df0 subs refactor (#14049)
* subs refactor
2022-09-20 20:13:32 +02:00
jakub 17bb87bb87 nix: upgrade from 2.8.0 to 2.11.1
This also includes the fix for too low `LimitNOFILE`:
https://github.com/NixOS/nix/pull/6553

https://github.com/NixOS/nix/releases/tag/2.11.1

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-20 19:03:10 +02:00
Audrius Molis 36c4052039 Fix null pointer exception on password when migrating to a keykard by disabling the back button in process. (#13977) 2022-09-20 19:52:41 +03:00
Ibrahem Khalil 468d827aa2 [issue-13578] Dropdown component (#13866) 2022-09-20 18:32:58 +02:00
Siddarth Kumar f32781a8e9 add account-selector component to sandbox (#13816)
refactor to accomodate changes in colors ns

squashing everything

amending it

addressing feedback

using quo2/text component instead of rn/text

addressing feedback

fix namespaces

lint fix and removing unused resources

addressing design feedback

make lint happy

some animation progress in peaking accounts
2022-09-20 19:21:13 +05:30
Audrius Molis 8ba4f9ebae Migrate to API 31 for android (#14032) 2022-09-20 13:50:16 +03:00
jakub d97a7fb325 nix: drop KEYSTORE_PATH from extra-sandbox-paths
This is no longer necessary as we sign APKs in a separate step using the
`scripts/sign-android.sh` script, and this causes issues for F-Droid builds.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-20 12:11:47 +02:00
pavloburykh b47fdc6698 e2e: fixed failing e2e 2022-09-20 11:10:46 +03:00
Michele Balistreri 56cb2b747a bump keycard module
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2022-09-19 20:22:19 +02:00
Icaro Motta afbdb4c0b4 [#13964 #13962] Display contact requests (#14014) 2022-09-19 11:08:21 -03:00
Jamie Caprani 528d05eec1 fix: comment out context tag in communities redesign as its causing issues (#14029) 2022-09-19 11:57:40 +02:00
Parvesh Monu 0c83801209 Implementation of switcher cards (#13854) 2022-09-19 15:01:13 +05:30
Parvesh Monu 552c85d6c7 fix quo2 colors (#14006) 2022-09-19 14:34:45 +05:30
yqrashawn 6c135e2570 fix: remove annoying deref in lazy seq warning (#14033) 2022-09-19 10:04:02 +02:00
Mohamed Javid 8b809ec1bc [Feature][#13905] Added Divider Label Component
* [Feature][#13905] Added Divider Label Component

* [Improvements][#13905] Changed bg color for preview screen from Quo to Quo2

* [Fixes][#13905] Naming Conventions for Divider Label Component

* [Chore][#13905] Grouping for Divider-Label component

* [Chores][#13905] Component params cleanup

* [Fix] Removed unused namespace causing lint check to fail
2022-09-19 13:07:57 +08:00
342 changed files with 9798 additions and 5518 deletions
+7 -7
View File
@@ -176,7 +176,7 @@ fdroid-fix-tmp: ##@prepare Fix TMPDIR permissions so Vagrant user is the owner
fdroid-build-env: fdroid-max-watches fdroid-nix-dir fdroid-fix-tmp ##@prepare Setup build environment for F-Droud build
fdroid-pr: export TARGET := android
fdroid-pr: export TARGET := android-sdk
fdroid-pr: ##@prepare Create F-Droid release PR
ifndef APK
$(error APK env var not defined)
@@ -285,7 +285,7 @@ endif
lint: export TARGET := clojure
lint: ##@test Run code style checks
yarn clj-kondo --confg .clj-kondo/config.edn --lint src && \
yarn clj-kondo --config .clj-kondo/config.edn --cache false --lint src && \
TARGETS=$$(git diff --diff-filter=d --cached --name-only src && echo src) && \
clojure -Scp "$$CLASS_PATH" -m cljfmt.main check --indents indentation.edn $$TARGETS
@@ -314,7 +314,7 @@ test: ##@test Run tests once in NodeJS
# Other
#--------------
geth-connect: export TARGET := android-env
geth-connect: export TARGET := android-sdk
geth-connect: ##@other Connect to Geth on the device
adb forward tcp:8545 tcp:8545 && \
build/bin/geth attach http://localhost:8545
@@ -324,22 +324,22 @@ android-clean: ##@prepare Clean Gradle state
git clean -dxf -f ./android/app/build; \
[[ -d android/.gradle ]] && cd android && ./gradlew clean
android-ports: export TARGET := android-env
android-ports: export TARGET := android-sdk
android-ports: ##@other Add proxies to Android Device/Simulator
adb reverse tcp:8081 tcp:8081 && \
adb reverse tcp:3449 tcp:3449 && \
adb reverse tcp:4567 tcp:4567 && \
adb forward tcp:5561 tcp:5561
android-devices: export TARGET := android-env
android-devices: export TARGET := android-sdk
android-devices: ##@other Invoke adb devices
adb devices
android-logcat: export TARGET := android-env
android-logcat: export TARGET := android-sdk
android-logcat: ##@other Read status-mobile logs from Android phone using adb
adb logcat | grep -e RNBootstrap -e ReactNativeJS -e ReactNative -e StatusModule -e StatusNativeLogs -e 'F DEBUG :' -e 'Go :' -e 'GoLog :' -e 'libc :'
android-install: export TARGET := android-env
android-install: export TARGET := android-sdk
android-install: export BUILD_TYPE ?= release
android-install: ##@other Install APK on device using adb
adb install result/app-$(BUILD_TYPE).apk
+10 -1
View File
@@ -76,13 +76,22 @@ import com.sun.org.apache.xalan.internal.xsltc.compiler.Copy
* extraPackagerArgs: []
* ]
*/
/*
Enabling Hermes on x86 devices is crashing the app after a few reloads,
this flag can be used to disable Hermes while building app.
https://github.com/status-im/status-mobile/issues/14031
*/
def disableHermes = System.getenv('DISABLE_HERMES') == 'true'
project.ext.react = [
nodeExecutableAndArgs: ["node", "--max-old-space-size=16384"],
entryFile: "index.js",
/* NOTE: Hermes engine is required for Android 64-bit builds running on 64 devices,
* to guard against a hang in the UI thread after invoking status-go.
* Also a clean and rebuild is required when changing this. */
enableHermes: true,
enableHermes: !disableHermes,
/* Disable 'The first definition was here.' warnings */
hermesFlagsRelease: ["-w"],
bundleInPr: true,
+1
View File
@@ -36,6 +36,7 @@
<meta-data android:name="commitHash" android:value="${commitHash}"/>
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize"
+2 -2
View File
@@ -23,8 +23,8 @@
# Version requirements used throughout the Gradle scripts
kotlinVersion=1.3.50
minSdkVersion=23
compileSdkVersion=30
targetSdkVersion=30
compileSdkVersion=31
targetSdkVersion=31
buildToolsVersion=31.0.0
supportLibVersion=28.0.0
# This should match version from nix/mobile/android/maven-and-npm-deps/maven/default.nix
+2 -2
View File
@@ -1,10 +1,10 @@
library 'status-jenkins-lib@v1.5.5'
library 'status-jenkins-lib@v1.6.0'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
pipeline {
agent { label 'linux && x86_64 && nix-2.8' }
agent { label 'linux && x86_64 && nix-2.11' }
options {
timestamps()
+1 -1
View File
@@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.5.5'
library 'status-jenkins-lib@v1.6.0'
pipeline {
agent { label 'linux' }
+2 -2
View File
@@ -1,10 +1,10 @@
library 'status-jenkins-lib@v1.5.5'
library 'status-jenkins-lib@v1.6.0'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
pipeline {
agent { label 'macos && x86_64 && nix-2.8 && xcode-13.4' }
agent { label 'macos && x86_64 && nix-2.11 && xcode-13.4' }
parameters {
string(
+1 -1
View File
@@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.5.5'
library 'status-jenkins-lib@v1.6.0'
pipeline {
agent { label params.AGENT_LABEL }
+2 -2
View File
@@ -1,10 +1,10 @@
library 'status-jenkins-lib@v1.5.5'
library 'status-jenkins-lib@v1.6.0'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
pipeline {
agent { label 'linux && x86_64 && nix-2.8' }
agent { label 'linux && x86_64 && nix-2.11' }
options {
timestamps()
+1 -1
View File
@@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.5.5'
library 'status-jenkins-lib@v1.6.0'
pipeline {
+1 -1
View File
@@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.5.5'
library 'status-jenkins-lib@v1.6.0'
pipeline {
agent { label 'macos' }
+1 -1
View File
@@ -1,4 +1,4 @@
library 'status-jenkins-lib@v1.5.5'
library 'status-jenkins-lib@v1.6.0'
pipeline {
agent { label 'linux' }
+2 -1
View File
@@ -84,7 +84,8 @@ At the bottom of the file you should also update the following keys:
* `CurrentVersion` - Same as the new `versionName` added
* `CurrentVersionCode` - Same as the `versionCode` added
Then submit a merge request to the [fdroid/fdroiddata](https://gitlab.com/fdroid/fdroiddata) repository.
Then submit a merge request with `Draft: ` prefix to the [fdroid/fdroiddata](https://gitlab.com/fdroid/fdroiddata) repository.
Prefix is necessary to avoid F-Droid people merging the PR before it's ready.
:warning: __WARNING__: Currently GitLab PR builds will fail due to running as `root` instead of `vagrant` and failing to install Nix.
+29 -4
View File
@@ -14,14 +14,25 @@ This step will take a while the first time as it will download all dependencies.
There are three steps necessary to start development, in this case for Android:
1. `make run-clojure` - Compiles Clojure into JavaScript, watches for changes on cljs files, and hot-reloads code in the app
2. `make run-metro` - Starts metro bundler and watches JavaScript code
3. `make run-android` - Builds the Android app and starts it on the device
1. `make run-clojure` - Compiles Clojure into JavaScript, watches for changes on cljs files, and hot-reloads code in the app.
2. `make run-metro` - Starts metro bundler and watches JavaScript code.
3. `make run-android` or `make run-ios` - Builds the Android/iOS app and starts it on the device.
The first two will continue watching for changes and keep re-building the app. They need to be ready first.
The last one will exit once the app is up and ready.
You need to have your emulator or real devices running and visible to adb, before you run `make run-android`.
## Simulators and Devices
### Android
You need to have an emulator like [AVD](https://developer.android.com/studio/run/emulator), or [Genymotion](#genymotion-virtualization), or a real device running and visible to [adb](https://developer.android.com/studio/command-line/adb), before you run `make run-android`.
### iOS
You can specify the simulator type by adding the `SIMULATOR` flag:
```sh
make run-ios SIMULATOR="iPhone 11 Pro"
```
Some manual steps are necesary for [developing on a physical iOS Device](#physical-ios-device).
# Build release
@@ -71,3 +82,17 @@ Steps:
2. [Setup Git to use your GPG key](https://help.github.com/en/github/authenticating-to-github/telling-git-about-your-signing-key)
3. [Setup Git to sign commits](https://help.github.com/en/github/authenticating-to-github/signing-commits)
4. [Setup GitHub to validate commits](https://help.github.com/en/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account)
## Physical iOS Device
To use a physical iPhone your device UDID must be added to provisioning profiles and your Apple account invited as Developer to Status team.
1. [Get your UDID of your iPhone.](https://www.extentia.com/post/finding-the-udid-of-an-ios-device)
2. Request from someone with access like @cammellos or @jakubgs to
- Add the UDID to development devices on Apple Developer Portal.
- Invite your Apple account to be Developer in Status team.
3. Run a build in XCode using the project from `status-mobile/ios` directory.
- You might see error: `Select a development team in the Signing & Capabilities editor`
- Select `STATUS HOLDINGS PTE. LTD.` as the development team and rebuild again.
Once build finishes Status should start on your iPhone with its logs in terminal running `make run-metro`.
+29
View File
@@ -97,3 +97,32 @@ System's local adb and Nix's adb differ. As adb include of server/client process
Always use respective `make` commands, e.g. `make android-ports`, `make android-devices`, etc.
Alternatively, run adb commands only from `make shell TARGET=android` shell. Don't forget the `TARGET=android` env var setting - otherwise `adb` will still be selected from the system's default location. You can double-check this by running `which adb`.
# Hot Reloading Crashes
## APP Crashes on reloading changes
### Cause
Status-mobile uses `shadow-cljs` for hot reloading changes and uses its own [reloader](https://github.com/status-im/status-mobile/blob/develop/src/status_im/reloader.cljs) for updating them in the running app. If react-native's fast refresh is also enabled then it creates conflicts and crashes the app.
### Solution
Open react native's [In-App Developer Menu](https://reactnative.dev/docs/debugging#accessing-the-in-app-developer-menu) and press "Disable Fast Refresh" or "Disable Hot Reloading"
## App Crashes after few reloads
### Cause
For x86 CPU architecture Android Devices, Hermes is creating the issue and the app crashes after a few reloads.
([Original Issue](https://github.com/status-im/status-mobile/issues/14031))
<details>
<summary>How to Find CPU architecture</summary>
CPU architecture of android device can be found using
- `adb shell uname -m` or
- `adb shell getprop ro.product.cpu.abilist`
</details>
### Solution
Disable Hermes while building the app
`make run-android DISABLE_HERMES=true`
+3 -3
View File
@@ -238,7 +238,7 @@ PODS:
- React
- react-native-status (1.0.0):
- React
- react-native-status-keycard (2.5.37):
- react-native-status-keycard (2.5.38):
- Keycard
- React
- react-native-webview (11.16.0):
@@ -640,7 +640,7 @@ SPEC CHECKSUMS:
FBLazyVector: 3bb422f41b18121b71783a905c10e58606f7dc3e
FBReactNativeSpec: f2c97f2529dd79c083355182cc158c9f98f4bd6e
Folly: b73c3869541e86821df3c387eb0af5f65addfab4
glog: 64a900d72fb14cd1b2cdf3b717a5555ceb889d49
glog: 36ce0530c6d2c3a5a4326885ef4069564887a1db
HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352
Keycard: ac6df4d91525c3c82635ac24d4ddd9a80aca5fc8
libwebp: 60305b2e989864154bd9be3d772730f08fc6a59c
@@ -671,7 +671,7 @@ SPEC CHECKSUMS:
react-native-shake: de052eaa3eadc4a326b8ddd7ac80c06e8d84528c
react-native-slider: 12bd76d3d568c9c5500825db54123d44b48e4ad4
react-native-status: 21f75d492fd311dc111303da38a7a2b23a8a8466
react-native-status-keycard: 961d01ca190889ddf220206822fd752f8f4f3f7a
react-native-status-keycard: f60ca57d789aad6875c64ece81ab06ef0609e0d3
react-native-webview: 28a8636d97ee641f2ee8f20492d7a6c269c1d703
React-RCTActionSheet: 89a0ca9f4a06c1f93c26067af074ccdce0f40336
React-RCTAnimation: 1bde3ecc0c104c55df246eda516e0deb03c4e49b
@@ -78,9 +78,10 @@ public class ForegroundService extends Service {
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_MUTABLE);
Intent stopIntent = new Intent(PushNotificationHelper.ACTION_TAP_STOP);
PendingIntent stopPendingIntent = PendingIntent.getBroadcast(context, 0, stopIntent, PendingIntent.FLAG_CANCEL_CURRENT);
PendingIntent stopPendingIntent = PendingIntent.getBroadcast(context, 0, stopIntent,
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_stat_notify_status)
@@ -522,7 +522,7 @@ public class PushNotificationHelper {
actionIntent.setPackage(packageName);
PendingIntent pendingActionIntent = PendingIntent.getBroadcast(context, notificationID, actionIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
notification.addAction(new NotificationCompat.Action.Builder(icon, action, pendingActionIntent).build());
@@ -708,26 +708,30 @@ public class PushNotificationHelper {
Intent intent = new Intent(ACTION_DELETE_NOTIFICATION);
intent.putExtra("im.status.ethereum.deepLink", deepLink);
intent.putExtra("im.status.ethereum.groupId", groupId);
return PendingIntent.getBroadcast(context.getApplicationContext(), notificationId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
return PendingIntent.getBroadcast(context.getApplicationContext(), notificationId, intent,
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
}
private PendingIntent createGroupOnTapIntent(Context context, int notificationId, String groupId, String deepLink) {
Intent intent = new Intent(ACTION_TAP_NOTIFICATION);
intent.putExtra("im.status.ethereum.deepLink", deepLink);
intent.putExtra("im.status.ethereum.groupId", groupId);
return PendingIntent.getBroadcast(context.getApplicationContext(), notificationId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
return PendingIntent.getBroadcast(context.getApplicationContext(), notificationId, intent,
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
}
private PendingIntent createOnTapIntent(Context context, int notificationId, String deepLink) {
Intent intent = new Intent(ACTION_TAP_NOTIFICATION);
intent.putExtra("im.status.ethereum.deepLink", deepLink);
return PendingIntent.getBroadcast(context.getApplicationContext(), notificationId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
return PendingIntent.getBroadcast(context.getApplicationContext(), notificationId, intent,
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
}
private PendingIntent createOnDismissedIntent(Context context, int notificationId, String deepLink) {
Intent intent = new Intent(ACTION_DELETE_NOTIFICATION);
intent.putExtra("im.status.ethereum.deepLink", deepLink);
return PendingIntent.getBroadcast(context.getApplicationContext(), notificationId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
return PendingIntent.getBroadcast(context.getApplicationContext(), notificationId, intent,
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
}
public void removeStatusMessage(Bundle bundle) {
@@ -164,9 +164,22 @@ RCT_EXPORT_METHOD(sendLogs:(NSString *)dbJson
NSString *networkDirPath = @"ethereum/mainnet_rpc";
#endif
#if DEBUG
NSString *goerliNetworkDirPath = @"ethereum/goerli_rpc_dev";
#else
NSString *goerliNetworkDirPath = @"ethereum/goerli_rpc";
#endif
NSURL *networkDir = [rootUrl URLByAppendingPathComponent:networkDirPath];
NSURL *originalGethLogsFile = [networkDir URLByAppendingPathComponent:@"geth.log"];
NSURL *gethLogsFile = [logsFolderName URLByAppendingPathComponent:@"geth.log"];
NSURL *gethLogsFile = [logsFolderName URLByAppendingPathComponent:@"mainnet_geth.log"];
NSURL *goerliNetworkDir = [rootUrl URLByAppendingPathComponent:goerliNetworkDirPath];
NSURL *goerliGethLogsFile = [goerliNetworkDir URLByAppendingPathComponent:@"geth.log"];
NSURL *goerliLogsFile = [logsFolderName URLByAppendingPathComponent:@"goerli_geth.log"];
NSURL *mainGethLogsFile = [rootUrl URLByAppendingPathComponent:@"geth.log"];
NSURL *mainLogsFile = [logsFolderName URLByAppendingPathComponent:@"geth.log"];
[dbJson writeToFile:dbFile.path atomically:YES encoding:NSUTF8StringEncoding error:nil];
[jsLogs writeToFile:jsLogsFile.path atomically:YES encoding:NSUTF8StringEncoding error:nil];
@@ -174,6 +187,8 @@ RCT_EXPORT_METHOD(sendLogs:(NSString *)dbJson
//NSString* gethLogs = StatusgoExportNodeLogs();
//[gethLogs writeToFile:gethLogsFile.path atomically:YES encoding:NSUTF8StringEncoding error:nil];
[fileManager copyItemAtPath:originalGethLogsFile.path toPath:gethLogsFile.path error:nil];
[fileManager copyItemAtPath:goerliGethLogsFile.path toPath:goerliLogsFile.path error:nil];
[fileManager copyItemAtPath:mainGethLogsFile.path toPath:mainLogsFile.path error:nil];
[SSZipArchive createZipFileAtPath:zipFile.path withContentsOfDirectory:logsFolderName.path];
[fileManager removeItemAtPath:logsFolderName.path error:nil];
@@ -411,12 +426,10 @@ RCT_EXPORT_METHOD(multiAccountDeriveAddresses:(NSString *)json
NSString *relativeDataDir = [configJSON objectForKey:@"DataDir"];
NSString *absDataDir = [rootUrl.path stringByAppendingString:relativeDataDir];
NSURL *absDataDirUrl = [NSURL fileURLWithPath:absDataDir];
NSURL *dataDirUrl = [NSURL fileURLWithPath:relativeDataDir];
NSURL *logUrl = [dataDirUrl URLByAppendingPathComponent:@"geth.log"];
NSString *keystoreDir = [@"/keystore/" stringByAppendingString:keyUID];
[configJSON setValue:keystoreDir forKey:@"KeyStoreDir"];
[configJSON setValue:@"" forKey:@"LogDir"];
[configJSON setValue:logUrl.path forKey:@"LogFile"];
[configJSON setValue:@"geth.log" forKey:@"LogFile"];
NSString *resultingConfig = [configJSON bv_jsonStringWithPrettyPrint:NO];
NSLog(@"node config %@", resultingConfig);
@@ -426,7 +439,7 @@ RCT_EXPORT_METHOD(multiAccountDeriveAddresses:(NSString *)json
withIntermediateDirectories:YES attributes:nil error:nil];
}
NSLog(@"logUrlPath %@ rootDir %@", logUrl.path, rootUrl.path);
NSLog(@"logUrlPath %@ rootDir %@", @"geth.log", rootUrl.path);
NSURL *absLogUrl = [absDataDirUrl URLByAppendingPathComponent:@"geth.log"];
if(![fileManager fileExistsAtPath:absLogUrl.path]) {
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
+3 -7
View File
@@ -20,14 +20,10 @@ And use `sudo sysctl --system` to load these new settings.
### Multi-User Installation
The other reason why this error could appear are limits fo `nix-daemon` service:
https://github.com/NixOS/nix/issues/6007
This has been fixed in Nix `2.9.0`:
Since Systemd services ignore system-wide limits you will have to add the following line:
```
LimitNOFILE=4096:1048576
```
To the `/etc/systemd/system/nix-daemon.service` service definition.
* https://github.com/NixOS/nix/issues/6007
* https://github.com/NixOS/nix/pull/6553
## Cache Downloads Timing Out
+1 -1
View File
@@ -11,7 +11,7 @@ androidenv.composeAndroidPackages {
toolsVersion = "26.1.1";
platformToolsVersion = "33.0.1";
buildToolsVersions = [ "31.0.0" ];
platformVersions = [ "30" ];
platformVersions = [ "31" ];
cmakeVersions = [ "3.18.1" ];
ndkVersion = "22.1.7171670";
includeNDK = true;
+1 -1
View File
@@ -1,7 +1,7 @@
{ mkShell, openjdk, androidPkgs }:
mkShell {
name = "android-env-shell";
name = "android-sdk-shell";
shellHook = ''
export JAVA_HOME="${openjdk}"
+2 -2
View File
@@ -6,9 +6,9 @@ GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel)
source "${GIT_ROOT}/nix/scripts/lib.sh"
source "${GIT_ROOT}/scripts/colors.sh"
NIX_VERSION="2.8.0"
NIX_VERSION="2.11.1"
NIX_INSTALL_URL="https://nixos.org/releases/nix/nix-${NIX_VERSION}/install"
NIX_INSTALL_SHA256="f43bfedfca9151479462d8bc11f238615a2d52f19b14894d8e2b59980e75ef72"
NIX_INSTALL_SHA256="4569a01dc5f62056f29f3195673bc3242fc70bf2474927fb5d8549c4d997402d"
NIX_INSTALL_PATH="/tmp/nix-install-${NIX_VERSION}"
install_nix() {
+2 -2
View File
@@ -56,8 +56,8 @@ let
buildInputs = with pkgs; [ openjdk8 apksigner ];
};
# for targets that need 'adb' and other SDK/NDK tools
android-env = pkgs.androidShell;
# for targets needing 'adb', 'apkanalyzer' and other SDK/NDK tools
android-sdk = pkgs.androidShell;
# helpers for use with target argument
ios = targets.mobile.ios.shell;
+3 -6
View File
@@ -27,13 +27,11 @@
"@walletconnect/client": "^2.0.0-beta.23",
"@walletconnect/client-legacy": "npm:@walletconnect/client@^1.7.1",
"bignumber.js": "git+https://github.com/status-im/bignumber.js.git#refs/tags/v4.0.2-status",
"buffer": "^5.4.2",
"chance": "^1.1.0",
"create-react-class": "^15.6.2",
"emojilib": "^2.4.0",
"eth-phishing-detect": "^1.1.13",
"eth-phishing-detect": "^1.2.0",
"functional-red-black-tree": "^1.0.1",
"hi-base32": "^0.5.0",
"i18n-js": "^3.3.0",
"node-libs-react-native": "^1.2.1",
"qrcode": "^1.4.1",
@@ -68,12 +66,11 @@
"react-native-safe-area-context": "^2.0.0",
"react-native-shake": "^3.3.1",
"react-native-share": "^7.0.1",
"react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.5.37",
"react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.5.38",
"react-native-svg": "^9.8.4",
"react-native-touch-id": "^4.4.1",
"react-native-webview": "git+https://github.com/status-im/react-native-webview.git#refs/tags/v11.16.0-status",
"rn-emoji-keyboard": "git+https://github.com/status-im/rn-emoji-keyboard.git#refs/tags/v0.4.3",
"tdigest": "^0.1.1",
"web3-utils": "^1.2.1"
},
"devDependencies": {
@@ -83,7 +80,7 @@
"@babel/preset-env": "7.1.0",
"@babel/register": "7.0.0",
"@mapbox/node-pre-gyp": "^1.0.9",
"clj-kondo": "^2020.1.13",
"clj-kondo": "^2022.9.8",
"jest": "^25.1.0",
"nodemon": "^2.0.16",
"nyc": "^14.1.1",
Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 940 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1010 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1010 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 995 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 903 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 B

After

Width:  |  Height:  |  Size: 913 B

Some files were not shown because too many files have changed in this diff Show More