Commit Graph

1545 Commits

Author SHA1 Message Date
Icaro Motta 8ad58bb364
Persist in-app feature flags (dev-only feature) (#19619)
This commit improves in-app feature flags to persist what is currently only
stored in a Reagent atom by using RN Async Storage
https://reactnative.dev/docs/asyncstorage. This should make them more convenient
to use, which is a good thing overall for developers.

Additionally, there's now a top-right button in screen Settings > Feature Flags
that will reset the flags to the initial values obtained from environment
variables.

These in-app feature flags are exclusively available in debug builds in
Settings > Feature Flags, and only visible when flag ENABLE_QUO_PREVIEW is
enabled. There's no impact whatsoever in prod builds. A reminder that they are
not meant to be used by users (yet).

It's worth noting that RN has deprecated Async Storage and now recommends other
community solutions, but for a dev-only feature, I think it's fine.
2024-05-09 09:42:38 -03:00
Yevheniia Berdnyk 8a24185ad6
e2e: fixes 3.05 2024-05-03 19:32:13 +03:00
Sean Hagstrom a1490d414c
Ensure users can share a community url (#19710)
* fix: ensure :communities/share-community-url-with-data is defined

* fix: ensure we show the share-sheet when pressing the community share-action

* fix: ensure we use the correct share-sheet title when sharing a community

* e2e: updated inviting contacts to community flow

* tweak: remove extra url message when sharing community url on android

* tweak: remove extra url message when sharing community channel url on android

* tidy: remove redundant event handler for sharing community url

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2024-04-30 13:44:14 +01:00
flexsurfer 65b0d1cd17
Feature/remove old screens and code (#19795) 2024-04-30 08:41:47 +02:00
Yevheniia Berdnyk 6d6766dce1
e2e: fix for wallet amount input 2024-04-25 12:11:47 +03:00
Yevheniia Berdnyk 9b550e4b82
e2e: fixes 23.04 2024-04-23 18:24:20 +03:00
Yevheniia Berdnyk 5c801331af
e2e: false failure fixes 22.04 2024-04-22 18:04:46 +03:00
Yevheniia Berdnyk 34930a7136
e2e: fix for reruning tests 2024-04-22 15:22:18 +03:00
Mohsen 8f67f38de9
[#19182] fix: shell share design feedback (#19617)
Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2024-04-18 18:12:29 +03:00
Yevheniia Berdnyk a8395e51a4
e2e: GH report: rerun tests link update 2024-04-18 05:41:36 +03:00
Yevheniia Berdnyk 76773a4165
e2e: fix for sharing community flow 2024-04-15 12:11:24 +03:00
Ibrahem Khalil 2614131426
[18979] Implement context action Invite contacts to community (#18989) 2024-04-12 00:12:02 +02:00
Yevheniia Berdnyk f98e5cf11f
e2e: fixes 8.04 2024-04-08 23:00:46 +03:00
Lungu Cristian aeef913f63
Fix chat permission-context (#19284)
* feat: moved permission-context logic to quo component

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* feat: multiple-token-gating and previews

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: refactored quo component

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* feat: request join community on press

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* feat: added shadow (rn-shadow-2)

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: formatting

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* test: added tests for permission-context

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* feat: added blur

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: adjusted shadows

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: added shadow mocks

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: shadow rendered below the context

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: addressed review comments

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: replaced seq with string/blank?

---------

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>
2024-04-08 17:14:07 +03:00
Yevheniia Berdnyk 60a4aa2f8e
e2e: fix for passwrod input 2024-04-05 18:46:23 +03:00
Yevheniia Berdnyk 5fc23816a6
e2e: false failures fixes for wallet and image 2024-04-05 13:38:09 +03:00
Yevheniia Berdnyk 5bff89a58f
e2e: wallet tests added 2024-04-04 19:50:54 +03:00
Yevheniia Berdnyk 288f57192a
e2e: fixes after testet mode enabled changes 2024-04-03 23:58:11 +03:00
Mohamed Javid 41763689e0
[Feature] Show "Testnet mode enabled" banner if testnet enabled (#19348)
This commit 
- adds the "Testnet mode enabled" banner if the User has enabled the testnet
- fixes a E2E bug

---------

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2024-04-03 16:15:07 +05:30
Ibrahem Khalil 7e896979f6
Add biometric auth if available to communities password input (#19336) 2024-04-03 11:18:15 +02:00
Siddarth Kumar da25280555
clean up unused libraries (#19456)
## Summary

This PR removes all of the unused `npm` libraries and their corresponding `gradle`/`cocoapods` dependencies.
The list of npm dependencies removed are :
- `@babel/preset-typescript`
- `create-react-class`
- `react-native-haptic-feedback`
- `react-native-image-viewing`
- `react-native-languages`
- `react-native-randombytes`
- `react-syntax-highlighter`
- `rn-emoji-keyboard`
- `tdigest`

This saves us some bytes in the bundle size.

## Platforms
- Android
- iOS
2024-04-02 16:32:54 +05:30
Ajay Sivan 02d4618997
Remove 'Community admins will review your request' text from community overview screen (#19361)
* Remove 'Community admins will review your request' text from community overview screen

* Use the button label 'Request to join' for all communities

* e2e: updated test

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2024-03-26 04:56:39 -07:00
Yevheniia Berdnyk ebc12c36e4
e2e: temp fix for jump to 2024-03-22 22:45:22 +02:00
Siddarth Kumar a716f4e435
upgrade `react-native` to 0.73.5 (#18563)
fixes #18291

## Summary
Changes worth mentioning are :
- More hacks/patches
- Force app to use `Java 17` everywhere to compile `kotlin,java`
- `gems` were upgraded after a long time
- `aapt2` was bumped to `8.1.1`
- `metro` is now at `0.80.4`
- `xcbeautify` was bumped to `1.4.0`
- `@react-native-community/clipboard` lib was replaced with `@react-native-clipboard/clipboard`
- `react-native-dialogs` lib was upgraded to `1.1.2`
- `react-native-gesture-handler` lib was upgraded to `2.14.1`
- `react-native-navigation` was upgraded to `7.37.2`

## Platforms
- Android
- iOS
2024-03-22 19:51:44 +05:30
flexsurfer 6f07e8022e
Allow user to select a color for the group chat #18982 (#19088) 2024-03-22 14:10:51 +01:00
Yevheniia Berdnyk ab53450ba8
e2e: changed build name and added wait for session id 2024-03-21 02:16:20 +02:00
Mohsen 9e5b8b5f9c
[#19247] feat: migrate to new contact profile (#19246)
Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
Co-authored-by: Sean Hagstrom <sean@seanhagstrom.com>
2024-03-19 20:57:58 +03:00
suchsoon 049822b5bb
chore: remove repetitive words (#19189)
Signed-off-by: suchsoon <silverjadebeauty@gmail.com>
2024-03-18 11:10:50 +01:00
Jamie Caprani 93f488e61a
chore(wallet): remove legacy network settings options (#18955)
* e2e: removed unused element

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2024-03-06 07:05:05 -08:00
Yevheniia Berdnyk 05a810b051
e2e: updated method for a profile picture changing 2024-02-29 02:25:59 +02:00
flexsurfer 3c4f72c061
Enable functional components by default (#18820)
* enable functional components by default

* e2e: updated counter component locator

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2024-02-23 18:29:10 +01:00
Yevheniia Berdnyk 5d00c09597
e2e: temp - dict object error info 2024-02-22 22:07:15 +02:00
Yevheniia Berdnyk 456ccb4c69
e2e: temp fix for image selection 2024-02-17 19:03:20 +02:00
Yevheniia Berdnyk 5fdaf0054d
e2e: updated join community 2024-02-13 15:26:19 +00:00
Yevheniia Berdnyk f1db73d149
e2e: updated deep/universal links tests 2024-02-09 15:51:14 +02:00
Yevheniia Berdnyk 2e7a9c82ff
e2e: fix for deep/universal links test 2024-02-05 16:08:18 +02:00
Nikolay 32442945ee
chore(wallet): connect remove account rpc request (#18601) 2024-02-05 04:29:25 -08:00
Yevheniia Berdnyk 3f9cd3a688
e2e: fixes 01.02 2024-02-01 20:36:51 +02:00
Yevheniia Berdnyk 205b74cd34
e2e: remived xfail marks 2024-01-26 20:03:12 +02:00
Yevheniia Berdnyk ad7a95ed3d
e2e: updated deep/universal links tests 2024-01-25 22:20:21 +02:00
Ibrahem Khalil 5bb4f3632a
[17514] Use OS emojis in emoji picker (#18397)
---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2024-01-23 14:41:43 +02:00
Jamie Caprani 3e787ff112
feat(shell): add share qr wallet accounts feature(#18511)
Co-authored-by: Paul Fitzgerald <paulfitz99@gmail.com>
2024-01-15 06:39:48 -08:00
Yevheniia Berdnyk 433be1daef
e2e: fixes 10.01 2024-01-10 16:10:31 +02:00
Yevheniia Berdnyk 4c4ba97308
e2e: added check for deleted 1-1 chat history 2024-01-08 21:49:20 +02:00
Yevheniia Berdnyk 5a832871fe
e2e: added checks for non-token gated community channels 2024-01-05 00:34:56 +02:00
Yevheniia Berdnyk 85c928f862
e2e: enabled tests for pinning messages 2024-01-04 11:22:58 +02:00
Tetiana Churikova 169a092e7f
e2e: wait for Join button to be available (#18316) 2023-12-28 16:31:54 +01:00
Yevheniia Berdnyk 734abc221c
e2e: tests fixes 2023-12-27 00:50:01 +02:00
Icaro Motta 0b4a1545ae
Fix component tests, upgrade Jest & friends, and a few other goodies (#18276)
Fix all component tests after the latest RN upgrade.

Fixes https://github.com/status-im/status-mobile/issues/18157
Closes https://github.com/status-im/status-mobile/pull/18235

Dependency changes

- Upgraded Jest: from 26.6.3 to latest 29.7.0.
- Upgraded @testing-library/jest-native: from 5.3.0 to latest 5.4.3
- Upgraded @testing-library/react-native: from 11.5.4 to 12.4.2
- Removed explicit dependency on jest-circus, this is now the default test
  runner.
- Removed explicit dependency on jest-environment-node. This is handled by the
  package manager.
- Added jest-silent-reporter at version 0.5.0.

### Why component tests were failing?

Many tests were failing because we were using RN Testing Library (RNTL) in an
unreliable fashion. With the recent library upgrades, the unreliability was
excerbated. Other times, the tests were incorrectly arranging data.

### with-redefs does not work with async code

Generally speaking, with-redefs should not be used with async code, assume the
worst. The scope of the macro will cease to exist by the time the async code
runs. In many tests we were using with-redefs, then calling render, but for some
components that use use-effect, JS timers, animations, etc it's unreliable and
were the reason for failures.

It's easy to reproduce too:

```clojure
(defn foo []
  :foo)

(foo)
;; => :foo

(with-redefs [foo (constantly :bar)]
  (foo))
;; => :bar

(js/setTimeout
 (fn []
   (tap> [:calling-foo (foo)]))
 100)
;; Taps [:calling-foo :foo]
;; As you would expect, when running without with-redefs, it prints :foo.

;; So far so good, but whatch what happens with async code:

(with-redefs [foo (constantly :bar)]
  (js/setTimeout
   (fn []
     (tap> [:calling-foo (foo)]))
   100))
;; Taps [:calling-foo :foo]
;; ====> PROBLEM: Taps :foo, not :bar as one might expect
```

### Not waiting on wait-for

When test-helpers.component/wait-for is used, subsequent assertions/etc should
be done after the promise returned by wait-for is resolved. But remember to not
perform side-effects inside the wait-for callback (check out the docs
https://callstack.github.io/react-native-testing-library/docs/api#waitfor).
Most, if not all of our usages of wait-for were not waiting.

#### Improvement 1 - Silence Jest on demand

If you need to re-run component tests frequently, you may want to reduce the
output verbosity. By passing JEST_USE_SILENT_REPORTER=true to make
component-test or make component-test-watch you will see a lot less noise and be
able to focus on what really matters to you.

#### Improvement 2 - Selectively focus/disable tests

Because of our need to first compile CLJS to JS before running tests via Jest,
we couldn't easily skip or focus on specific tests. From this commit onwards, we
should never again have to change the list of requires in files core_spec.cljs.
Commenting out required namespaces gives a bad DX because it causes constant
rebasing issues.

#### Improvement 3 - Translations now work as in prod code (but only English)

Translations performed by *-by-translation-text can be done now without any
workaround under the hood. The query functions are now linted just like
i18n/label, which means static translation keywords must be qualified with :t/,
which is good for consistency.
2023-12-26 11:58:23 -03:00
Yevheniia Berdnyk 5d21b1f5ae
e2e: fix for getting public key 2023-12-24 01:47:16 +02:00