Commit Graph

9170 Commits

Author SHA1 Message Date
Siddarth Kumar 5a7bfc61cc
fix: make run-ios-device script (#18845)
fixes #16310

We used to reply on `react-native cli` and would pass a `--device` flag to deploy the debug variant of `iOS` app on connected `iPhone`.
`react-native cli` under the hood uses `ios-deploy` library to achieve this functionality.
This showed many weird issues, specifically in locating connected devices and failures at build step with ambiguous error messages.

This commit fixes it by using our custom script `run-ios-devices.sh` which does not rely on `ios-deploy`.
We use `libimobiledevice` to identify `UDID` of a connected `iPhone`.
We use `xcrun devicectl device install app` and `xcrun devicectl device process launch` to install and launch the app.

This works well with `Xcode 15` and `iOS 17.x`.
We can now remove `ios-deploy` from `iOS` shell and `nix` overlay.
We also set up a logs folder and add a Readme.

## Review notes

- connect your iPhone to your Laptop via a cable
- `make run-clojure`
- `make run-ios-device`
(note: no need to pass device name now)

## Platforms
- iOS
2024-02-20 10:54:09 +05:30
yqrashawn 50f6c1ef1b
fix: password input triggers re-render of whole login view (#18728) 2024-02-20 10:11:22 +08:00
Siddarth Kumar 3c6b38aeea
fix: improve iOS simulator selection (#18880)
## Summary

Improve iOS Simulator selection via `make run-ios` command.
Currently : `make run-ios SIMULATOR="iPhone SE (3rd generation)"` would fail because of our scripts inability to deal with this kind of a pattern.

This commit fixes that and makes this script more robust by storing output of `xcrun simctl list devices` in a json file `ios_simulators_list.json` and then using `jq` to properly get `UDIDs` of those simulators.

This script will now also prompt you to download a simulator image if you do not already have it.

The file `ios_simulators_list.json` will also help in future debugging when we want to check a quick summary of iOS simulator status of devs in the future.

We also append `-verbose` to `xcodebuild` for debug `iOS` builds, this helps debugging.

## Review notes
try such options -> `make run-ios SIMULATOR="iPhone SE (3rd generation)"`

## Platform 
- iOS
2024-02-20 07:16:54 +05:30
Siddarth Kumar c44ba69676
fix: we need to tunnel 8081 for connected devices (#18862)
`make run-android` would fail for connected Android devices because the android device was not able to talk to metro bundler.
This was discovered by @J-Son89
This was easily fixed by reverse tcping port 8081.

## Review notes
connect Android device by USB or Wifi
- `make run-clojure`
- `make run-android`
status app must run without any errors on the connected Android device.

we also replace during install on emulator.

otherwise on old emulators `make run-android` fails with :

```
adb: failed to install ./result/app-debug.apk: Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install im.status.ethereum.debug without first uninstalling.]
```
2024-02-20 00:52:29 +05:30
Parvesh Monu f394fcc3d5
fix android hardware back button is not working for nested sheet-screens (#18886) 2024-02-19 22:42:34 +05:30
Siddarth Kumar 107f263fb1
chore: improve android & iOS build step (#18900)
fixes #18888

## Summary
`make run-android` was sometimes flaky because we used to send metro to background via `nohup` and then bring it back to foreground after we read metro logs.

Now we do not send metro to background. We first wait for a successful build.
we then install the app on the simulator. After this is done we give command to sleep until metro server has started, Once metro server has started we open the installed app.

In this workflow the command to open the installed app goes in background and metro stays in foreground.
The new workflow should now be less flaky.

## Review notes
`make run-clojure`
`make run-android` OR `make run-ios` should just work 

#### Platforms
- Android
- iOS
2024-02-19 21:11:36 +05:30
Ajay Sivan 678bc548ca
Use quo/bottom-actions component in addresses for permissions screen (#18863) 2024-02-19 07:06:35 -08:00
mmilad75 d77033e346
Wallet - Add malli spec to Quo Wallet components (batch 3) (#18783)
* draft

* add account_card

* add account-origin

* add account_overview

* add account_permission

* add address_text

* add confirmation_progress

* wrapping up

* resolve comments and fix ci issues

* fix ci issues

* fix transaction_progress tests

* fix all tests

* fix lint issues

* add network-link

* add token-input

* add wallet-overview

* add context-tag

* add wallet-activity

* add transaction-progress

* add transaction-summary

* add default value to render-with-theme-provider

* draft

* add default value to context-tag schema

* fix lint issues

* resolve comments

* add :string type to image type

* update ?image-source schema
2024-02-19 18:01:07 +03:30
Parvesh Monu 8f85e3c726
fix first tap doesn't work when selecting a photo in the gallery (#18885) 2024-02-19 19:05:31 +05:30
Shivek Khurana ed427cf485
🧪 Extract schema to dedicated namespace (#18858)
* 🧪 Extract schema to dedicated namespace

* ✏️ Fix syntax errors and dep issue

* 🦞 Follow guidelines
2024-02-19 13:16:17 +00:00
BalogunofAfrica 9362d12bbd
fix: communities review (#18634)
* fix: community tag emoji size

* fix: hide channel category sticky header for none

* fix line wrap

* fix formatting

* refactor emoji component for tags

---------

Co-authored-by: Lungu Cristian <lungucristian95@gmail.com>
2024-02-19 08:26:32 +01:00
Flavio Fraschetti bfed36d19f
[Communities] Account selection: сan't see the entire text of the community rules (#18761)
Resolved the scrolling issue pertaining to community rules. Additionally, will ensure compatibility with iOS devices lacking safe-area-view in the follow-up.
2024-02-18 08:03:52 -03:00
Yevheniia Berdnyk 456ccb4c69
e2e: temp fix for image selection 2024-02-17 19:03:20 +02:00
Andrea Maria Piana be2c697b7c
set light client 2024-02-16 16:30:44 +00:00
Ajay Sivan b27f323dd7
FIX: Addresses for permissions info button bg color (#18855) 2024-02-16 06:08:05 -08:00
Mohsen a33e7f2e90
[#18600] feat: implement set bio screen (#18765) 2024-02-16 16:19:44 +03:00
Ajay Sivan 54d9e5ebeb
Share all current and future addresses - UI (#18843)
Fixes
- 'Confirm changes' button unexpected enabled state
- The Confirm button remains enabled even after deselecting all addresses when the user has watch-only wallet accounts.
- Disable the Confirm button when the user deselects the accounts with the token required to join.
- Use community color for address checkbox
2024-02-16 04:11:22 -08:00
Alexander 49567596da
General QR code scanner flow (#18677)
* QR scanner

* More options for QR

* Router fixes

* Updates for `on-qr-code-scanned`

* Update for communities

* Updates

* Scan profile path

* More fixes

* Last fixes for scanning

* Fixes

* Fixes

* Fixes

* Test fixes

* Fixes

* Updated Utils.m

* Test fix
2024-02-16 12:06:28 +01:00
Nikolay 2e23dc7ad7
chore(wallet): update default placeholder name for account and watched address when adding it #18416 (#18683) 2024-02-15 20:30:38 +00:00
Mohsen dc53bddb66
[#18754] fix: scrollable addresses permission list in android (#18808) 2024-02-15 18:00:21 +03:00
Mohamed Javid 10f9fe11db
[Fix] Broken wallet account emoji when syncing devices (#18828)
This commit fixes the broken wallet account emoji when syncing devices by adding a sanitization method for the wallet account emoji. The desktop can handle both variants (raw emoji and img tag); this PR adds the same for mobile.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2024-02-15 18:52:59 +05:30
Flavio Fraschetti 2e13cfc47f
[Refactor#18748] - Collectible Tag (#18804)
[Refactor Collectible Tag] Improve component schema and add component_spec
2024-02-15 09:52:24 -03:00
Siddarth Kumar e6ea8ae9a9
fix: iOS build stage to install app on simulator (#18839)
fixes #18836

## Summary

While introducing https://github.com/status-im/status-mobile/pull/18784 I missed out on adding an install step to `run-ios.sh` script.

`make run-ios` would work fine for simulators that already have the app installed but would fail for new emulators.
@flexsurfer  discovered this problem.

This commit fixes that by adding an install step to the script.

## Review notes
- `make run-clojure`
- `make run-ios` 
should just work.

## Platforms
- iOS
2024-02-15 17:55:06 +05:30
Alexander 834c0a3800
Design review: create profile password (#18607)
* Design review: create profile password

* Fixes

* Fixes

* Fixes

* Fixes

* Code style fix

* Fixes
2024-02-15 10:42:54 +01:00
Siddarth Kumar 2c96c38339
chore: disable hermes and cleanup gradle vars (#18832)
fixes #18831

We update the nix derivation to build android by passing `hermesEnabled` flag which checks the environment variable and if the environment variable is not set we default `hermesEnabled` to `true`.
This ensures that `hermes` is disabled for debug builds and enabled for release builds.

In this commit we also
- rename `nix/mobile/android/release.nix` → `nix/mobile/android/build.nix` since that nix file no longer generates release only builds.
- cleanup 2 other env vars and use the `gradle` project format
- replace `BUILD_NUMBER` with `verisonCode` for consistency
- replace `androidGradleOpts ` with `buildUrl ` 
- bump `status-jenkins-lib` to v1.8.7
2024-02-15 13:48:11 +05:30
Mohsen 1d2c01c16b
[#18752] fix: The W/O address shouldn't be in account selection (#18809) 2024-02-14 20:37:52 +03:00
Andrea Maria Piana 8dc71f6432
Fix translations 2024-02-14 16:12:17 +00:00
Andrea Maria Piana 25f9499454
remove rounding 2024-02-14 16:12:17 +00:00
Siddarth Kumar 42cab08553
chore: Improve DX for building the app locally (#18784)
After upgrading `react-native` to `0.72.5` we frequently started seeing the _red screen of death_ on both `Android` and `iOS` simulators right after the app was built and installed.
This used to happen because our workflow required us to do the following :
- `make run-clojure`
- `make run-metro`
- `make run-ios` OR `make run-android`

The problem with this approach was after `metro` was started the `iOS`, `Android` build step would change the files that `metro` couldn't handle and hence metro would go out of sync.
The quick fix back then was to restart `metro` terminal and to open the app again from the simulator.
This was however not a good DX.

This commit fixes that.
We no longer rely on `react-native` cli to generate and deploy debug builds on simulators. We take control of the process via our own script. The new workflow introduced in this commit will first build the app, then install the app on the simulators and then start metro terminal. When `metro` is successfully running the script will then open the app.

The new workflow now is :
- `make run-clojure`
- `make run-ios` OR `make run-android`
2024-02-14 19:58:45 +05:30
Jamie Caprani 83523b1923
chore: clean up wallet reframe root keys (#18730) 2024-02-14 04:29:35 -08:00
Mohamed Javid f762cdcf9b
[Feature] Wallet - Network filter UI in Wallet home and account screens (#18772)
This commit adds network filter UI in the Wallet home and account screens.

---------

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2024-02-14 15:37:04 +05:30
Ibrahem Khalil 357db52720
Use blurred background for all type `shell?` bottom sheets (#18400) 2024-02-13 22:54:43 +02:00
Yevheniia Berdnyk 5fdaf0054d
e2e: updated join community 2024-02-13 15:26:19 +00:00
Andrea Maria Piana 4e3ce54ac4
Reduce renderings in community overview
c15f9e73...1ea2bd99

This PR reduces the amount of rendering in community overview.
It limits the amount of data is passed to components to the necessary,
and it creates functions on component initialization so that they won't
cause a re-render.
Performance of the header are very noticeably better on my local
environment, though on nightly builds is less noticeable.

It also removes data from `communities/communities id` as that cause a
re-render of any component subscribed to it.
2024-02-13 15:26:19 +00:00
Andrea Maria Piana 37be08d2d7
Fix permission screen & trailing zeros
c15f9e73...b7b7660a

There were a few issues with the permission screen:
1) Wrong permission was displayed when able to join
2) If not able to join, we were showing both admin/member permissions
3) Trailing zeros in token amount
2024-02-13 15:26:19 +00:00
Paul Fitzgerald 3c4d27b6ff
chore(wallet): connect UI and data model for input page in bridge flow (#18678)
Co-authored-by: Jamie Caprani <jamiecaprani@gmail.com>
2024-02-13 07:24:02 -08:00
Jakub Sokołowski c5df51d944
nix: upgrade from 2.13.4 to 2.19.3
We are moving location of symlinks for build derivations for `gcroots`
from `/nix/var/nix/gcroots/per-user` to `.nix-gcroots` in the repo to
avoid errors like this caused by profile migration in `2.14` release:
```
error: creating directory '/nix/var/nix/gcroots/per-user/joe': Permission denied
```
For more details see: https://github.com/NixOS/nix/issues/8564

To upgrade without using `make nix-purge` use `make nix-upgrade`.

Related infra change:
https://github.com/status-im/infra-ci/commit/37c6ce47

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-13 13:32:50 +01:00
Nikolay b1c467de19
feat(wallet): add ui for account origin info (#18725)
Co-authored-by: Jamie Caprani <jamiecaprani@gmail.com>
2024-02-13 03:27:28 -08:00
Shivek Khurana c766d21296
⚒️ Fix typo (#18794) 2024-02-12 20:50:07 +00:00
Nazarii F e86faa0767
feat(quo): implement wallet - input amount component (#18687)
Co-authored-by: Siddarth Kumar <siddarthkay@gmail.com>
Co-authored-by: Jamie Caprani <jamiecaprani@gmail.com>
2024-02-12 07:36:23 -08:00
Shivek Khurana abe0342be0
🚟 Add schema batch 2 (#18696)
* 🚟 Add schema batch 2

*  Add maybe and optionals

* 🧑‍⚖️ Make theme a required prop

* 🍙 Fix misplaced square brackets that broke spec

* 🎨 Assume default theme and fix tests

- Fixes #18734

* ⬆️ Update schema and rebase

* 🧪 Update tests

* 🆙 Update progress bar value to be string or int

* 🔩 Tighten schema
2024-02-12 14:44:40 +00:00
Mohamed Javid 6669c33e33
[Fix] Edited wallet account name persists in other edit account screens (#18729)
This commit fixes the edited wallet account name that persists in other account edit screens.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2024-02-12 19:11:17 +05:30
Ajay Sivan 1351a54fd1
fix - Button colors have become darker (#18776) 2024-02-12 05:06:18 -08:00
Ibrahem Khalil da192dcdb3
Dismiss keyboard when opening mute chat drawer (#18486) 2024-02-12 13:05:56 +02:00
Flavio Fraschetti 6e22e63158
[Communities] Add quo Collectible Tag (#18748)
* register and basic imports for collectible tag component

* implement variations and design for collectible tag component

* Refined based on review feedback and implemented schema enhancements
2024-02-12 07:40:12 -03:00
Mohamed Javid d1f22cd2b8
Wallet - Clear input on long press delete (#18732)
This commit allows clearing the amount input (in the send flow) by long-pressing the delete key.

---------

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2024-02-10 00:09:15 +05:30
Parvesh Monu 9dacc9e8af
error and app freezing when deselecting account (#18759) 2024-02-09 23:32:58 +05:30
Jamie Caprani 9acf67dd5b
feat: add basic infrastructure for contract tests (#18665) 2024-02-09 09:10:09 -08:00
Brian Sztamfater ab73c7e56a
feat: show estimated fees when calculating route (#18309)
Signed-off-by: Brian Sztamfater <brian@status.im>
2024-02-09 13:43:14 -03:00
Yevheniia Berdnyk f1db73d149
e2e: updated deep/universal links tests 2024-02-09 15:51:14 +02:00