Commit Graph

326 Commits

Author SHA1 Message Date
Siddarth Kumar a15c9788fe
add support for Xcode 15 (#17343)
After upgrading to Xcode 15 make run-ios would fail with

```
 /Users/siddarthkumar/code/status-im/PR/status-mobile/ios/Pods/boost/boost/container_hash/hash.hpp:131:33: no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'?
        struct hash_base : std::unary_function<T, std::size_t> {};
```

This commit fixes the issue and makes existing codebase compatible with newer Xcode.

reference issue in react-native repo : facebook/react-native#37748
2023-09-20 14:41:12 +05:30
John Ngei 11c798817e
show continue button background on scroll
This pr. add blur background on continue button on create profile screen should the button container cover the profile color picker when the keyboard is shown

* show button background on scroll

* fix show button on scroll different platforms

* fix: button container loading

* fix: button container background delay
2023-08-09 00:19:01 +03:00
Mohamed Javid d143b1d0e9
[Quo2] Implement "Progress bar" component (#16905)
This commit implements the "Progress bar" component which is needed for wallet screen development.

Additionally, this commit adds a new test helper method "render-with-theme-provider" to test components in different themes.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-08-08 17:15:55 +05:30
Mohamed Javid 162f02ea27
Implement `gradient cover` component (#16778)
This commit implements the "gradient cover" component which is needed for wallet screen development, and upgrades the "react-native-linear-gradient" library to "v2.8.0".

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-07-31 12:49:34 +05:30
Icaro Motta 19ca8e28a5
Lint and fix missing trailing newlines (#16445)
Apply the Clojure Style Guide recommendation to end files with proper lines
(having a trailing newline character). See
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
2023-07-04 19:40:13 +00:00
flexsurfer 1591a5e2da
[#16157] Pinned list button is absent when user is located at the top… (#16355) 2023-06-23 13:41:49 +02:00
Jakub Sokołowski 33b2e12e3b
android: fix Gradle deps, drop Flipper, upgrade Fresco
There are a few fixes here:

* Changes format of Gradle deps to `:buildEnvironment` and `:dependencies`:
    ```
    Cannot locate tasks that match '::buildEnvironment'. The path should not include an empty segment (try ':buildEnvironment' instead).
    ```
* Fix for GNU Parallel tool to use stdin for list of arguments:
    ```
    nix/deps/gradle/generate.sh: line 55: parallel: Argument list too long
    ```
* Update of Facebook Fresco dependencies from `2.2.0` to `2.5.0` to fix:
    ```
     > echo com.facebook.fresco:animated-gif:2.2.0 | ./go-maven-resolver > /dev/null
    finder.go:121: error: 'no pom data' for: <Dep ID=com.facebook.fresco:imagepipeline-native:2.2.0 O=false S=compile >
    finder.go:121: error: 'no pom data' for: <Dep ID=com.facebook.fresco:memory-type-native:2.2.0 O=false S=compile >
    finder.go:121: error: 'no pom data' for: <Dep ID=com.facebook.fresco:imagepipeline:2.2.0 O=false S=compile >
    finder.go:121: error: 'no pom data' for: <Dep ID=com.facebook.fresco:drawee:2.2.0 O=false S=runtime >
    finder.go:121: error: 'no pom data' for: <Dep ID=com.facebook.fresco:memory-type-java:2.2.0 O=false S=compile >
    finder.go:121: error: 'no pom data' for: <Dep ID=com.facebook.fresco:fbcore:2.2.0 O=false S=runtime >
    ```
* Remove Flipper to avoid pulling in Fresco `2.2.0` versions:
    ```
    +--- com.facebook.flipper:flipper-fresco-plugin:0.54.0
    |    +--- com.facebook.fresco:fresco:2.2.0 -> 2.5.0
    |    +--- com.facebook.fresco🐬2.2.0
    |    \--- com.facebook.fresco:stetho:2.2.0
    ```

Thanks for help from Sidarth.

Resolves: https://github.com/status-im/status-mobile/issues/16367

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-23 12:02:18 +02:00
Mohamed Javid b397411daa
Upgrade `react-native-camera-kit` library to resolve camera issues in Sign In screen (#16248)
Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-06-20 18:50:05 +05:30
Jamie Caprani 2cbc94320d
feat: add parallax component (#16277) 2023-06-16 03:09:10 -07:00
Omar Basem fbe4b0a36c
feat: Lightbox share images (#16224)
* feat: share images
2023-06-14 18:24:55 +04:00
Siddarth Kumar 350303256b
upgrade `react-native` from 0.67.5 to 0.69.10 (#16016) 2023-06-14 07:17:41 +05:30
Ajay Sivan 1aff364595
fix: android blur view hash mismatch in some locations 2023-05-09 21:36:12 +02:00
Omar Basem 51b9253734
revert podfile.lock (#15791)
* revert podfile.lock
2023-05-02 09:27:47 +04:00
Omar Basem 08e6b8164e
feat: composer - edit message (#15772)
* feat: new composer - edit message
2023-05-01 20:39:07 +04:00
flexsurfer cd69d0423a
fix (fn[]) usage in hiccup (#15713) 2023-04-25 15:13:14 +02:00
Siddarth Kumar 46351543f1
Allow running debug iOS builds on physical device via CLI and Enable Automatic code signing for Debug builds (#15637)
This commit does the following :

- Adds a command in makefile to show connected iOS devices via make `show-ios-devices`
- Developers can then copy their connected iPhone's Device Name and use it to deploy debug builds
on the device by `make run-ios-device DEVICE_NAME="their-device-name"`
- Enables automatic code signing ( only for Debug scheme )
2023-04-19 16:20:26 +05:30
Jakub Sokołowski c3e52dbf47
ios: provide explicit NODE_ARGS in Nix shell
Some users have reported local `make run-ios` failures with errors like:
```
Command PhaseScriptExecution failed with a nonzero exit code
```
Where the actual error that can be found in `ios/logs/react-native-xcode.log` is:
```
node: bad option: --openssl-legacy-provider
```
Caused by a flag we apply to our pinned Node.js `18.9.1` to fix:
```
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
```
From: https://github.com/status-im/status-mobile/pull/15167

And the need for that should go away once we upgrade Node.js further.
But for now a decent fix is to not apply that flag directly in Xcode
config so as to avoid the `bad option` error when Xcode us called
outside of Nix context.

Fixes: https://github.com/status-im/status-mobile/issues/15631

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-13 09:36:42 +02:00
Siddarth Kumar 3bd4038089
Upgrade `react-native` from 0.63.3 to 0.67.5 (#15486)
* [IOS Only] react-native 0.63 to 0.67

* [Android Only] react-native 0.63 to 0.67

* bring back all the jenkinsfiles

* make auto-complete prop for text-input compatible

* [IOS Only] react-native 0.63 to 0.67

* [Android Only] react-native 0.63 to 0.67

* bring back all the jenkinsfiles

* nix: drop unnecessary set -x from status-go build

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

* add explicity implementation line for soloader

And add deleteDebugFilesForVariant fix for libhermes.

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

* use fast-image for link previews

* fix extra line in message composer on android

This elevation prop is un-necessary and causes an extra line to appear which looks like a border but its actually a shadow.

* don't use `fast-image` for url preview favicon

* fix audio record button interfering cancel android

This fix was not needed in react-native 0.63.4 but is needed after we upgraded to 0.67.5

* get rid of unused platform import

---------
Co-authored-by: Jakub Sokołowski <jakub@status.im>
2023-04-12 15:25:19 +05:30
Jakub Sokołowski c5de054324
Revert "set signing to auto for debug builds (#15420)"
This reverts commit 3f3cbe98a4.
2023-04-03 08:52:09 +02:00
yqrashawn daa78b4171
fix: still need this fix to run-ios on m1 mac (#15439) 2023-03-22 21:13:51 +08:00
Siddarth Kumar 3f3cbe98a4
set signing to auto for debug builds (#15420) 2023-03-21 13:10:55 +05:30
Brian Sztamfater 74da82c61a
feat: implement new splash screen static version
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-03-16 12:57:32 -03:00
Jakub Sokołowski a0697d9242
ios: upgrade Cocoapods to 1.12.0, drop ancient fix
Upgrading to Cocoapods and Gems should remove the need for this hack-fix.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-16 10:24:27 +01:00
Jakub Sokołowski 73c32eacb3
ios: add README file to ios/logs directory
Allows us to get rid of the `.gitkeep` file.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-09 14:55:01 +01:00
Jakub Sokołowski a073812a9f
ios: create logs/ios folder in advance
Otherwise in some cases we can get:
``
.../Script.sh: line 6: ./logs/react-native-xcode.log: No such file or directory
Command PhaseScriptExecution failed with a nonzero exit code
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-09 13:50:19 +01:00
Jakub Sokołowski 8cd5e3f6e3
ios: direct logs to ios/logs, archive on failure
This way people don't have to ask me for access to logs from CI hosts to
be acquired using SSH access, but instead they will be simply included
in Jenkins build artifacts.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-09 12:23:51 +01:00
andrey 998b40ec4f
podfile.lock 2023-03-06 15:57:26 +01:00
Jakub Sokołowski 4fe8b81bf6
ios: fix xcode using system Node.js version
As discovered in:
https://github.com/status-im/status-mobile/pull/15225

The attempt to fix this in:
https://github.com/status-im/status-mobile/pull/15180

But it doesn't appear to work, so instead I'm allowing an override of
`NODE_BINARY` variable and spetting it when defining the Nix shell.

The key things here are:

* Xcode injects its own paths into `PATH` which breaks Nix env.
* Combining Nix shells with `inputsFrom` does not inherit all vars.

It's important to set these variables in `shellHook` and not elsewhere.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-02 17:32:52 +01:00
Jakub Sokołowski 6c7054b5b4
ios: fix lowercased variable name in Xcode config
In some cases might result in failures due to empty shebang:
```
Command PhaseScriptExecution failed with a nonzero exit code
```
Because the script file looks like this:
```
\#!
set -o errexit
export NODE_BINARY="node"
export NODE_ARGS=" --openssl-legacy-provider --max-old-space-size=16384 "

bash -x ../node_modules/react-native/scripts/react-native-xcode.sh > ./react-native-xcode.log 2>&1
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-25 11:59:20 +01:00
Jakub Sokołowski 26d618e305
ios: use sh in shellPath instead of absolute path
Otherwise Xcode uses system Node.js version which is different from Nix
version and can result in weird failures like:
```
admin@macm1-01.he-eu-fsn1.ci.devel:~/status-mobile % node --version
v16.19.0

admin@macm1-01.he-eu-fsn1.ci.devel:~/status-mobile % node --openssl-legacy-provider
node: bad option: --openssl-legacy-provider

admin@macm1-01.he-eu-fsn1.ci.devel:~/status-mobile % make shell
Configuring Nix shell for target 'default'...

[nix-shell:~/status-mobile]$ node --version
v16.17.1

[nix-shell:~/status-mobile]$ node --openssl-legacy-provider
Welcome to Node.js v16.17.1.
Type ".help" for more information.
>
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-24 13:30:28 +01:00
Jakub Sokołowski e2169cbbd4
ios: use --openssl-legacy-provider with iOS builds
Fixes issue with following failure:
```
Failed to construct transformer:  Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:130:10)
    at stableHash (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro-cache/src/stableHash.js:19:8)
    at JsTransformer.getCacheKey (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/JSTransformer/worker.js:471:7)
    at getTransformCacheKey (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/DeltaBundler/Transformer/getTransformCacheKey.js:39:29)
    at new Transformer (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/DeltaBundler/Transformer.js:147:28)
    at /Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/Bundler.js:54:29
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
```
https://roytuts.com/how-to-fix-err_ossl_evp_unsupported-in-react-js-application/

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-22 18:48:03 +01:00
Jakub Sokołowski cdada3fa23
ci: update ITSEncryptionExportComplianceCode
We were using old ID for the encryption compliance from old Org.
Because of this the iOS release builds failed at TestFlight upload:
```
Error: Asset validation failed Invalid Export Compliance Code.
The export compliance key value [1aa92c4d-6194-4d7d-b70a-16b48256b87e]
in the app's Info.plist doesn’t match the key value of the app’s export
compliance documentation.
To find the correct value, go to My Apps on App Store Connect. (90592)
```
Related:
- https://stackoverflow.com/questions/53326492/
- https://help.apple.com/app-store-connect/#/dev38f592ac9

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-14 10:33:58 +01:00
John Ngei 91d0e106f2
showing sticky bar on scrolling discover screen (#14825) 2023-02-06 15:41:34 +03:00
Omar Basem b3f9a5944d
add support for 120Hz animations (#14905)
feat: add support for 120hz animations
2023-01-26 13:28:03 +04:00
Alexander 27c8c5547c
[#14689] Link previews in chat (#14771)
* Initial

* Link fetching

* Post-merge fix
2023-01-18 22:43:26 +01:00
Jakub Sokołowski f446ab163e
ci: upgrade Xcode from 13.4 to 14.2
Depends on:
https://github.com/status-im/infra-role-bootstrap-macos/commit/fefb0081

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-01-12 16:55:24 +01:00
Jakub Sokołowski 2f1c236333
ci: update Apple dev team ID to update the org
We are trasnferring the Apple app to the new Switzerland based Apple
development organization/team from the old Singapore one, and to make
this work we also need to update the development team ID.

This should fix the following failure:
```
Could not find App ID with bundle identifier 'im.status.ethereum'
You can easily generate a new App ID on the Developer Portal using 'produce':
```
https://ci.infra.status.im/job/status-mobile/job/platforms/job/ios/854/console

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-12-07 10:45:14 +01:00
Omar Basem ea7548d54a
Confirmation Dialog (#14348)
* feat: confirmation dialog
2022-11-15 17:34:38 +04:00
flexsurfer 5907edccc8
cleanup quo2 (#14301)
* cleanup quo2
2022-11-08 18:30:17 +01:00
Andrej Česen 5e5ed0a11e
Add `code-snippet` component (#14275) 2022-11-03 10:55:33 +03:00
flexsurfer 35eae4587b
clean deps and fix warnings (#14141) 2022-10-11 12:20:37 +02:00
flexsurfer 1d87957b04
[#13517] UI Component - Message Input (#13620) 2022-09-06 11:19:05 +02:00
yqrashawn bf346147e9
feat: add messages gap component (#13860) 2022-09-05 15:58:35 +08:00
Jakub Sokołowski badf72af9f
ios: bump Fastlane from 2.205.2 to 2.209.1 and pods
Also refresh Xcode project integration.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-30 09:27:48 +02:00
Parvesh Monu 05219bd721
Implement react-native-hole-view (#13868) 2022-08-29 21:32:30 +05:30
Siddarth Kumar 8f7c89ba33
upgrade async storage version (#13846) 2022-08-24 19:51:49 +05:30
yqrashawn 98ca311a97
feat: lottie splash screen (#13714)
[#13714] feat: lottie splash screen
2022-08-02 12:48:12 +02:00
Parvesh Monu 8c9ccbb116
Switcher blurred background view (#13717) 2022-08-01 15:21:09 +05:30
Brian Sztamfater 22f92677fa
Base chat dedesign
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-07-14 09:45:11 -03:00
Brian Sztamfater ca98539d98
Revert "Base implementation for chat redesign"
This reverts commit ec3b4c032d.

Signed-off-by: Brian Sztamfater <brian@status.im>
2022-07-07 13:01:09 -03:00