Revisions from develop:
- 59ceddbaa develop origin/develop fix(wallet): fix bridge transactions (#20902)
- 99ccbc338 Cover wallet send events with tests Part 2 #20411#20533 (#20721)
- 8c2d5398b Enabling WalletConnect feature flag (#20906)
- 67c83b13e fix(wallet): remove edit routes button in bridging (#20874)
- 11a84ba14 feat(wallet): disable complex routing (#20901)
- 1f5bb579c chore(wallet): disable bridging on unsupported tokens (#20846)
- 4586f8007 Add toggle in advanced settings for mobile data
- 55c620e59 fix: create password for small screen (#20645)
- 525609f0a Wallet Activity: transactions are not sorted by time #20808 (#20862)
- 90653955a chore(settings): Disable telemetry option (#20881)
- d27ab756d fix_:display group message using the new ui (#20787)
- c6a1db633 ci: enable split apks & build only for arm64-v8a (#20683)
- 73777e052 Ensure keycard account can send transaction after upgrading from v1 to v2 #20552 (#20845)
- a6d3fc374 [#20524] fix: the missed keypairs are shown in the key pair list screen (#20888)
- a671c7083 fix broken screen and navigation when syncing fails (#20887)
- a45991b6d🥅 Filter connected dapps based on testnet mode, reject proposals and requests gracefully (#20799)
- 2e9fa22e4 feat: wallet router v2 (#20631)
- 737d8c4d5 rename sub to fix error when requesting to join community (#20868)
- 3aa7e103f Sync process is blocked on Enabled notifications screen (#20883)
- c1d2d44da perf: Fix app freeze after login (#20729)
- 0fed8113d e2e: updated testnet switching and added one test into smoke
- 53c35cb55 fix(wallet): Linear gradient exception on invalid colors for watched account cards (#20854)
- be8236554 chore(settings)_: Remove testnet toggle from legacy advanced settings (#20875)
- eae8a6559 feat(wallet)_: Add beta info box in activity tab (#20873)
- fe54a25a3 fix: not clearing network & web3-wallet on logout (#20886)
- 15a4219ef Reject wallet-connect request by dragging the modal down (#20763) (#20836)
- 2ffbdac89 WalletConnect show expired toast (#20857)
- 402eb8397 fix Issue with scrolling WalletConnect transaction on Android (#20867)
- ff88049a0 Fix WalletConnect header alignment on Android (#20860)
- cee21241d WalletConnect no internet edge-cases (#20826)
- 60ad7c8a2 chore(tests): New match-strict? cljs.test directive (#20825)
- 4989c9278 fix_: Adding own address as saved addresses (#20839)
I have created separate API tokens for Mobile project and changed how
they are passed in Jenkins by using a single file.
Depends on:
https://github.com/status-im/status-jenkins-lib/pull/88
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This is a fix applied when upgrading to macOS Catalina in 2019:
https://github.com/status-im/status-mobile/pull/9218
I do not believe it is necessary any longer.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
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
This commit adds support for the Sepolia test network and Rarible collectible/collection provider.
---------
Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
For an unknown reason the original Diawi plugin for Fastlane has been
removed from GitHub and RubyGems pages and can no longer be used.
This replaces it with a Node.js script which does the same job.
I tried using `diawi` and `diawi-nodejs-uploader` but both had issues,
one of them being depending on far too many useless packages.
Resolves: https://github.com/status-im/status-mobile/issues/15951
Signed-off-by: Jakub Sokołowski <jakub@status.im>
It only blocks CI builds for no good reason when branch has not been
rebased recently, which has no real benefit as GitHub already enforces
not merging outdated PRs. It's just annoying and wastes time.
Depends on: https://github.com/status-im/status-jenkins-lib/pull/68
Signed-off-by: Jakub Sokołowski <jakub@status.im>
For some unknown to me reason we are using a different Yarn call to
Shadow-cljs to generate the JSBundle for iOS builds, while the one
created by the Android derivation shoudl be exactly the same.
I'm changing the target to just be `make jsbundle` while keeping aliases
referencing old naming, and moving things around in `nix` folder to
reflect the fact that the derivation is no longer Android-specific.
Also, crucially, I've changed the `import` in `index.js` to use the
`./result/index.js` path, since that's what Nix creates. I'm not sure if
this clashes with any developer workflow that takes place locally, so
I'd appreciate some testing from developers.
Depends on: https://github.com/status-im/status-jenkins-lib/pull/67
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Otherwise builds fail with:
```
15:15:22 [16:15:22]: Cloning remote git repo...
15:15:22 [16:15:22]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
15:15:23 Cloning into '/tmp/d20230425-79805-70bge2'...
15:15:23 git@github.com: Permission denied (publickey).
15:15:23 fatal: Could not read from remote repository.
```
Depends on: https://github.com/status-im/status-jenkins-lib/pull/63
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Possible fix for slow upload speeds and failures caused by most probably
hitting per-bucket rate limits of DigitalOcean:
>- 500 total operations per second to any individual bucket.
>- 300 combined PUT, POST, COPY, DELETE, and LIST operations per second to any individual Space. We may further limit LIST operations if necessary under periods of high load.y
https://docs.digitalocean.com/products/spaces/details/limits/#rate-limits
Depends on: https://github.com/status-im/status-jenkins-lib/pull/52
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Otherwise we get weird failures like these:
```
clang-11: error: cannot use 'cpp-output' output with multiple -arch options
clang-11: error: invalid argument '-mmacos-version-min=10.12' not allowed with '-miphoneos-version-min=8.0'
clang-11: error: invalid argument '-mmacos-version-min=10.12' not allowed with '-miphoneos-version-min=8.0'
```
Depends on: https://github.com/status-im/status-jenkins-lib/pull/47
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This way the name of the repo makes at least some sense and
matches the `status-desktop` repo naming.
Also updated `status-jenkins-lib` since it also contained
references to `status-react` repo and job names.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This has several benefits:
* Less abuse of `extra-sandbox-paths` Nix option
* Less inputs to the Android release build derivation
* Easier for users to sign the build themselves
* Simplification of `scripts/release-android.sh`
* Preparation for building using Nix Flakes
The only two remaining credentials passed via `extra-sandbox-paths` is
the Infura and OpenSea API keys, and there is no way around that other
than passing them via Nix arguments, but that would cause them to end up
in `/nix/store` as part of `.drv` files.
I'm also renaming `release-fdroid` to `build-fdroid` to be consistent.
Depends on: https://github.com/status-im/status-jenkins-lib/pull/42
Signed-off-by: Jakub Sokołowski <jakub@status.im>
By using just the timestamp we increase the probability of hitting a
race condition with another build due to same filename of sandbox file.
Depends on: https://github.com/status-im/status-jenkins-lib/pull/40
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This will make identifying installed software easier.
It can also be used to generate F-Droid RPs more easily.
Depends on:
https://github.com/status-im/status-jenkins-lib/pull/35
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This is required to also ad GitHub releases to `status-desktop`.
Also renamed `status-react-jenkins` to `status-jenkins-lib` for clarity.
Depends on: https://github.com/status-im/status-react-jenkins/pull/23
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This changes the behavior of mobile combined builds to not publish
the results of `nightly` or `release` builds unless `PUBLISH`
parameter is set to `true`.
It also makes the `BUILD_TYPE` into a dropdown choice field with
pre-defined values, like `manual` or `e2e`.
Changes:
- Add parameter definitions for `BUILD_TYPE` and `PUBLISH`
- Move uploading of `latest.json` to `Publish` stage
- Make `Publish` stage optional based on the `PUBLISH` parameter
Requires: https://github.com/status-im/status-react-jenkins/pull/21
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Using different temporary keychains does not work if we do not set
`default_keychain=true`, because `codesign` then can't find the cert:
```
error: No signing certificate "iOS Distribution" found: No "iOS Distribution" signing certificate matching team ID
```
But if we set `default_keychain=true` then we cause a race condition
when the keychain is deleted by a parallel job while another is using it
as its default.
For this reason we have to use a static keychain name and keep it
between builds.
I tried disabling `default_keychain=true` in #11378 but it worked only
because the default user keychain already had the cert.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
This is a new approach to signing the iOS app by using a temporary
Keychain created only for that specific build and unlocked in advance.
By doing it this way we can avoid issues with `errSecInternalComponent`
appearing when there is no UI to open a Keychain password prompt when
running build in CI. I've described this problem in details in:
https://github.com/fastlane/fastlane/issues/15185
Thanks to `codesign:` partition ID being added to key partition list by
Fastlane `match` when importing a Keychain this approach now works:
https://github.com/fastlane/fastlane/pull/17456
Signed-off-by: Jakub Sokołowski <jakub@status.im>