Commit Graph

1599 Commits

Author SHA1 Message Date
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
Yevheniia Berdnyk 5ec5838657
e2e: added validation of encoded data in community and profile urls 2023-12-21 19:00:29 +02:00
Tetiana Churikova ec41b30794
e2e: updated profile view (#18203) 2023-12-20 21:29:08 +01:00
yqrashawn 4bc5efb855
fix: universal link regex (#18020)
Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2023-12-20 11:25:09 +08:00
Yevheniia Berdnyk 711e64bc75
e2e: android14 2023-12-20 01:51:58 +02:00
flexsurfer 602b27105b
FINAL BOSS! rename status-im2 to status-im (#18241) 2023-12-19 20:59:07 +01:00
Ibrahem Khalil 07d8bf0d19
Share community via URL with any privileges (#18131) 2023-12-15 14:29:13 +02:00
Yevheniia Berdnyk 3ddb76faed
e2e: fixes 2023-12-13 02:28:24 +02:00
Siddarth Kumar 761a7df06f
upgrade react-native to 0.72.5 (#17241)
This commit does many things :
- Upgrade `react-native ` to `0.72.5`
- Upgrade `react-native-reanimated` to  `3.5.4`
- Upgrade `react-native-navigation` to `7.37.0`
- `ndkVersion` has been bumped to `25.2.9519653`
- `cmakeVersion` has been bumped to `3.22.1`
- `kotlinVersion` has been bumped to `1.7.22`
- `AGP` has been bumped to `7.4.2`
- `Gradle` has been upgraded to `8.0.1`
- Android `CompileSDK` and `TargetSDK` have been bumped to 33
- `@react-native-async-storage/async-storage` has been upgraded to `1.19.3`
- `@walletconnect/client` has been nuked
- some of the old `react-native-reanimated` code has been nuked
- `react-native-keychain` fork has been replaced with `8.1.2`

- On Android we are currently relying on `Hermes` Engine.
- On iOS we are currently relying on `JSC`
- We are not enabling new architecture for now (I have plans for that in the future) ref: https://github.com/status-im/status-mobile/issues/18138

IOS only PR : https://github.com/status-im/status-mobile/pull/16721
Android only PR : https://github.com/status-im/status-mobile/pull/17062

- `make run-metro` now has a target of `android` which was `clojure` earlier, this will increase the time it takes to start metro terminal but this is needed otherwise you will get a nasty error while developing for android locally.
2023-12-11 21:22:23 +05:30
BalogunofAfrica f155d95d92
fix: 1:1 chat concerns (#17795) 2023-12-11 14:42:41 +01:00
Yevheniia Berdnyk 6093d56c90
e2e: increased wait time for PN and CR 2023-12-07 18:04:45 +02:00
Yevheniia Berdnyk 3b5fe36717
e2e: added test for edit/delete message when offline 2023-12-06 23:19:17 +02:00
Yevheniia Berdnyk 4376ee8908
e2e: disabled checks because of issues with restored contacts and channel links 2023-12-06 16:57:31 +02:00
Yevheniia Berdnyk 6b612588c4
e2e: skipped checks with bugs 2023-12-05 20:54:09 +02:00
Yevheniia Berdnyk 04dee8be45
e2e: updated data for waku backup test 2023-12-01 12:28:26 +02:00
Yevheniia Berdnyk b7f675aa5c
e2e: fix for deep links test 2023-11-30 01:09:42 +02:00
Yevheniia Berdnyk 0546a87e9a
e2e: deep links tests added 2023-11-29 14:09:31 +02:00
Yevheniia Berdnyk c7e230d070
e2e: changed test order 2023-11-28 12:05:47 +02:00
Yevheniia Berdnyk e6a7c420a2
e2e: APK upload time limit increased 2023-11-23 12:34:30 +02:00
Icaro Motta c1dcd7a764
Introduce malli library (#17867)
This commit is the foundational step to start using malli
(https://github.com/metosin/malli) in this project.

Take in consideration we will only be able to realize malli's full power in
future iterations.

For those without context: the mobile team watched a presentation about malli
and went through a light RFC to put everyone on the same page, among other
discussions here and there in PRs.

To keep things relatively short:

1. Unit, integration and component tests will short-circuit (fail) when
   inputs/outputs don't conform to their respective function schemas (CI should
   fail too).
2. Failed schema checks will not block the app from initializing, nor throw an
   exception that would trigger the LogBox. Exceptions are only thrown in the
   scope of automated tests.
3. There's zero performance impact in production code because we only
   instrument. Instrumentation is removed from the compiled code due to the
   usage of "^boolean js.goog/DEBUG".
4. We shouldn't expect any meaningful slowdown during development.

**What are we instrumenting in this PR?**

Per our team's agreement, we're only instrumenting the bare minimum to showcase 2 examples.

- Instrument a utility function utils.money/format-amount using the macro
  approach.
- Instrument a quo component quo.components.counter.step.view/view using the
  functional approach.

Both approaches are useful, the functional approach is powerful and allow us to
instrument anonymous functions, like the ones we pass to subscriptions or event
handlers, or the higher-order function quo.theme/with-theme. The macro approach
is perfect for functions already defined with defn.

**I evaluated the schema or function in the REPL but nothing changes**

- If you evaluate the source function, you need to evaluate schema/=> or
  schema/instrument as well.
- Remember to *var quote* when using schema/instrument.
- You must call "(status-im2.setup.schema/setup!)" after any var is
  re-instrumented. It's advisable to add a keybinding in your editor to send
  this expression automatically to the CLJS REPL, or add the call at the end of
  the namespace you are working on (similar to how some devs add "(run-tests)"
  at the end of test namespaces).

**Where should schemas be defined?**

For the moment, we should focus on instrumenting quo components, so define each
function schema in the same namespace as the component's public "view" var.

To be specific:

- A schema used only to instrument a single function and not used elsewhere,
  like a quo component schema, wouldn't benefit from being defined in a separate
  namespace because that would force the developer to constantly open two files
  instead of one to check function signatures.
- A common schema reused across the repo, like ":schema.common/theme" should be
  registered in the global registry "schema.registry" so that consumers can just
  refer to it by keyword, as if it was a built-in malli schema.
- A common schema describing status-go entities like message, notification,
  community, etc can be stored either in the respective
  "src/status_im2/contexts/*" or registered globally, or even somewhere else.
  This is yet to be defined, but since I chose not to include schemas for them,
  we can postpone this guideline.
2023-11-18 11:04:48 -03:00
Jamie Caprani 2e2d15adfb
chore: add floating button page component (#17737)
Co-authored-by: Ulises M <ulises.ssb@hotmail.com>
2023-11-17 09:16:55 -08:00
Yevheniia Berdnyk 1d1d586223
e2e: added back status link opening 2023-11-17 18:09:57 +02:00
Yevheniia Berdnyk 2e0643fabe
e2e: fixes 15.11 2023-11-16 15:54:35 +02:00
Jakub Sokołowski 5ceb7c2215
tests/appium: use requests for fetching APK
Also add more context for the error.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-15 18:08:11 +01:00
Jakub Sokołowski 2043e9353b
tests/appium: refactor conftest.py to be more readable
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-15 18:08:10 +01:00
Yevheniia Berdnyk 83a7402210
e2e: fix for terminated session 2023-11-13 02:27:36 +02:00
Yevheniia Berdnyk 4eda8bb6b3
e2e: temp fix for opening a link in Status 2023-11-08 18:47:56 +02:00
Yevheniia Berdnyk 422004f146
e2e: fix for creating a new user 2023-11-07 14:43:30 +02:00
Dmitri Akatov a5bb95cd18
add translation linting to the "make lint" pipeline. (#17820) 2023-11-07 11:33:59 +01:00
Yevheniia Berdnyk f1de077d9d
e2e: making 2 tests independent 2023-11-03 18:02:16 +02:00
Yevheniia Berdnyk 579b382c44
e2e: fix for edit message with a mention 2023-11-02 12:38:26 +02:00
yqrashawn 859cb19886
fix(universal-link): more new link format, handle old link format (#17721)
Co-authored-by: pavloburykh <pavlo@status.im>
2023-11-02 15:31:49 +08:00
Nikolay 94a3e266a9
Edit derivation path (#17741) 2023-11-01 14:04:21 +01:00
Yevheniia Berdnyk 25381b601f
e2e: test for sending image with camera 2023-10-31 23:23:04 +02:00
Yevheniia Berdnyk 88b3d7d2e6
e2e: fix for app closed after closing gallery 2023-10-31 12:04:46 +02:00
Yevheniia Berdnyk 90d3a5a39d
e2e: test fixes 2023-10-31 02:21:52 +02:00
diana 071d8f0925
e2e: new link format 2023-10-23 11:26:53 +02:00
Yevheniia Berdnyk 17e9ce7513
e2e: added test for Add contact validation 2023-10-20 16:17:11 +03:00
Yevheniia Berdnyk 6436e82990
e2e: join community when node owner is offline 2023-10-20 16:05:21 +03:00
Yevheniia Berdnyk 7da899e29f
e2e: updated GH report and fixed 2 tests 2023-10-18 13:47:50 +03:00
Churikova Tetiana 6acae424d7
e2e: add new floating screen 2023-10-17 21:48:46 +05:30
Yevheniia Berdnyk 272e8e80d8
e2e: fixed issue with naming 2023-10-10 17:24:28 +03:00
Lungu Cristian b432aab701
Changes to onboarding/new-to-status (quo/fonts/spacings/copy) (#17562)
* fix: changes to onboarding/new-to-status (quo/fonts/spacings/copy)

* e2e: updated button  locator

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2023-10-09 10:45:28 +03:00
Yevheniia Berdnyk 7c1850b901
e2e: some fixes and moved old ui tests to a separate dir 2023-10-07 03:24:51 +03:00
Tetiana Churikova 5b765f873b
e2e: small alignments (#17477) 2023-10-03 14:53:57 +02:00
Yevheniia Berdnyk 70d6291c57
e2e: some todos and updates 2023-09-26 18:55:42 +03:00
Tetiana Churikova 5d6800cee0
e2e: update cython and pyyaml (#17297) 2023-09-19 13:52:30 +02:00
Yevheniia Berdnyk 2c52001e22
e2e: fixes 12.09 2023-09-12 16:46:49 +03:00
Yevheniia Berdnyk 7609a07cc2
e2e: fixes 6.09 2023-09-06 16:23:24 +03:00
Yevheniia Berdnyk 69aeffd943
e2e: removed deprecated metods usage 2023-09-06 12:48:57 +03:00
Yevheniia Berdnyk 726b76a290
e2e: split 1-1 chat test group 2023-09-06 12:30:17 +03:00
Yevheniia Berdnyk 56b13cbdca
e2e: updated join communities flow 2023-09-06 12:17:08 +03:00
Yevheniia Berdnyk 37af9d9b97
e2e: updated community channel element 2023-09-05 01:48:49 +03:00
Yevheniia Berdnyk 5647bb4ac9
e2e: fixes navigation, long press and so on 2023-09-01 18:21:03 +03:00
Yevheniia Berdnyk e1616ae514
e2e: split community and activity center tests to reduce time 2023-08-31 01:24:01 +03:00
Yevheniia Berdnyk 551ac22085
e2e: updated communities join flow (#17132) 2023-08-30 10:49:31 +02:00
Yevheniia Berdnyk a416267094
e2e: appium upgrade 2023-08-25 17:32:54 +03:00
Yevheniia Berdnyk 21be0ed16c
e2e: fixes 25.08 2023-08-25 15:59:51 +03:00
flexsurfer 8701f3545d
[#16864] Design review: messages home (#17050)
---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-08-24 14:30:47 +02:00
Yevheniia Berdnyk 89c2b1c818
e2e: nightly fixes 23.08 2023-08-24 04:31:27 +03:00
Yevheniia Berdnyk 4dd5d88f0f
e2e: updated community tests 703086 and 702786 2023-08-22 21:15:14 +03:00
Yevheniia Berdnyk 92403f5d30
e2e: fix for navigation issue 2023-08-21 16:37:48 +03:00
Yevheniia Berdnyk 774687bef6
e2e: updated test_group_chat_mute_chat to unmute by time 2023-08-18 16:00:55 +03:00
Churikova Tetiana aecad2136e
e2e: starting to-dos 2023-08-17 05:09:19 +03:00
Yevheniia Berdnyk 625510d6c9
e2e: Added test for message with hashtag in communtiy channel 2023-08-10 18:09:25 +03:00
Yevheniia Berdnyk 8bab9f8f22
e2e: pulling geth log in teardown if setup is failed 2023-08-10 15:34:41 +03:00
Tetiana Churikova 5a3d886055
e2e: discover communities (#16957) 2023-08-09 18:14:42 +02:00
Yevheniia Berdnyk e5b6378e15
e2e: updated tests with new communitites creation flow 2023-08-04 01:37:33 +03:00
Yevheniia Berdnyk 049e958992
e2e: added test for markdown support (702809) 2023-08-02 21:53:03 +03:00
Yevheniia Berdnyk 3f433d6f19
e2e: group chat unread messages 2023-08-02 19:05:29 +03:00
Brian Sztamfater 21807cb761
feat: implement wallet graph component (#16789)
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-08-01 11:10:16 -03:00
Yevheniia Berdnyk 96ff8ab382
e2e: fix for creating second user 2023-07-31 15:39:37 +03:00
Yevheniia Berdnyk ce08131c01
e2e: new pub key (#16779)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-07-27 13:14:09 +02:00
Omar Basem e49a3ab5cd
feat: category reorder component (#16719)
* feat: category reorder component

---------

Co-authored-by: Milad <mmilad.sanati@gmail.com>
2023-07-26 11:11:17 +04:00
Yevheniia Berdnyk 99dc79842d
e2e: nigthly fixes 24.07 2023-07-24 23:14:16 +03:00
Yevheniia Berdnyk eb3de978ce
e2e: mute chats 2023-07-24 17:43:44 +03:00
flexsurfer 00f39225ea
Do not show biometrics onboarding screen if biometric is not available (#16744)
* fix biometric screen

* updated e2e

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2023-07-24 13:06:35 +02:00
Churikova Tetiana 1b2ad33926
e2e: TimeoutException 2023-07-20 20:06:43 +03:00
Yevheniia Berdnyk 1d0186a12e
fix for airplane mode 2023-07-15 00:17:17 +03:00
Tetiana Churikova 7282ba04bc
e2e: fixes shell nav (#16545) 2023-07-12 11:21:39 +02:00
Yevheniia Berdnyk 362aa476ae
e2e: fix for nightly apk upload (#16517) 2023-07-07 11:08:13 +02:00
Yevheniia Berdnyk 26dcc16ea6
e2e: fix for endless apk upload + teardown 2023-07-06 17:47:35 +03:00
Tetiana Churikova c52bf965f7
e2e: more groups (#16483) 2023-07-05 11:55:40 +02:00
Yevheniia Berdnyk 8978e92042
e2e: nightly fixes 2023-07-04 20:26:05 +03:00
Yevheniia Berdnyk ef99bf2ad6
e2e: tests for reactions in community and group chats 2023-07-04 13:17:48 +03:00
Yevheniia Berdnyk ca2ed9d37e
e2e: fixes for backup users and unread indicator tests 2023-07-03 15:55:05 +03:00
Yevheniia Berdnyk 5f441dfa93
e2e: Reactions in 1-1 chats 2023-06-29 17:49:15 +03:00
Tetiana Churikova 3058ebe018
e2e: small adjustments (#16439) 2023-06-29 14:05:13 +02:00
Tetiana Churikova ba8c08650b
e2e: updated wait_to (#16416) 2023-06-28 14:27:57 +02:00
Yevheniia Berdnyk cd32806c96
e2e: Updated error message in 702783 2023-06-27 02:52:28 +03:00
Yevheniia Berdnyk fc52d5f062
e2e: added attempts for MaxRetryError handling 2023-06-26 11:12:53 +03:00
Yevheniia Berdnyk 0cb525aade
e2e: updated test_restore_multiaccount_with_waku_backup_remove_switch 2023-06-23 00:50:38 +03:00
Yevheniia Berdnyk 5b5a29a2e1
e2e: tests fixes 2023-06-20 03:42:14 +03:00
Rahul Pratap c80992b6bf
Update prettier config for the project. (#16303)
* Update prettier config for the project.

* Add prettier to make lint-fix.
2023-06-19 19:09:12 +05:30
Yevheniia Berdnyk cfefc2d734
e2e: fixes 2023-06-14 02:50:41 +03:00
Yevheniia Berdnyk 6f920afcf7
e2e: Fixes for jump-to 2023-06-13 06:24:21 +03:00
Yevheniia Berdnyk 032c254d19
e2e: Updated report 2023-06-08 15:47:36 +03:00
Yevheniia Berdnyk f3b5a9db67
e2e: Fixes for nightly failures 2023-06-08 05:06:43 +03:00
Omar Basem a5455739c6
Add Images count to reply (#16194)
* fix: images reply count

---------

Co-authored-by: pavloburykh <pavlo@status.im>
2023-06-07 18:35:51 +04:00
Yevheniia Berdnyk eea737625d
e2e: fixes for emoji and xfails added 2023-06-03 02:16:17 +03:00
Churikova Tetiana 4fe2ccaa84
e2e: gallery test + links preview 2023-05-22 11:22:06 +02:00
John Ngei e8682ccbf6
home screen updates
* community home screen updates

* removed green border color on status indicator

* added accent color to plus button and jump-to button

* code reviews

* e2e: fix acc id new comm button

* resolved bugs

---------

Co-authored-by: pavloburykh <pavlo@status.im>
2023-05-19 16:08:52 +03:00
Siddarth Kumar eea55b22d7
Dont check `app-state` for `Android` when evaluating universal links routing (#15896)
* Dont check app-state for android before routing PN

On Android devices, right after account creation and before a log out, the :app-state value in reframe db is set to background. The value becomes active after a log out and then log in which causes tapping on push notifications to do nothing.

This behaviour breaks E2E and hence in this PR, I remove the checking of this case only for Android platforms.
More work should be done to figure out why the app state event handler is behaving this way on Android but for now I would like to unblock E2E.

* e2e: remove xfailed tests

---------

Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-05-18 00:20:38 +05:30
Mohamed Javid 7d0dfec22c
Design Feedbacks on "Create profile password" screen (#15863)
Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
Co-authored-by: pavloburykh <pavlo@status.im>
2023-05-16 18:03:45 +05:30
Churikova Tetiana 7ef466078a
e2e: image test 2023-05-15 19:08:03 +02:00
Churikova Tetiana 409c0a9e60
e2e: small fixes 2023-05-12 14:25:32 +02:00
Churikova Tetiana dbaaa54c83
e2e: remove/switch profiles 2023-05-04 16:27:55 +02:00
Brian Sztamfater e5913cc3ea
feat: audio component
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-05-04 10:48:05 -03:00
Churikova Tetiana 6c0c742676
e2e: align with new communities / cleanup 2023-04-28 13:56:31 +02:00
Jamie Caprani 52c6687608
feat: add identifiers screen to onboarding-flow (#15684) 2023-04-26 21:26:32 -07:00
flexsurfer 0ca6ee3934
Request to join community screen is not scrollable on Android #15748 (#15750)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-04-26 13:33:00 +02:00
flexsurfer cd69d0423a
fix (fn[]) usage in hiccup (#15713) 2023-04-25 15:13:14 +02:00
pavloburykh d11ce135a6
e2e: fix xpath for link preview 2023-04-12 14:35:40 +03:00
flexsurfer 103e154076
improve navigation and bottom sheet (#15467)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-31 16:13:27 +02:00
Churikova Tetiana 4f2f8dea4c
e2e: new onboarding 2023-03-30 15:15:42 +02:00
Alexander 006b11d508
Scrollable list of pinned messages (#15506)
* Scrollable list of pinned messages

* e2e: fix accessibility id

---------

Co-authored-by: pavloburykh <pavlo@status.im>
2023-03-28 20:23:30 +02:00
Churikova Tetiana 11726df060
e2e: add to run_in_parallel args handling 2023-03-26 20:57:06 +02:00
Churikova Tetiana 5fffc230c9
e2e: new community screens 2023-03-24 11:22:02 +01:00
Churikova Tetiana 401f7d7383
e2e: activity centre and more checks 2023-03-22 18:20:48 +01:00
pavloburykh 8c358d4ae4
e2e: fix login
Signed-off-by: Parvesh Monu <parvesh.dhullmonu@gmail.com>
2023-03-22 13:52:16 +05:30
Churikova Tetiana a74da63c32
e2e: activity center 2023-03-20 13:58:09 +01:00
Jamie Caprani f6f5dfbe03
chore: add skeleton flow for onboarding (#15334) 2023-03-17 05:19:39 -07:00
Churikova Tetiana b5781a7a83
e2e: minor fixes 2023-03-15 16:49:37 +01:00
Icaro Motta e8556a9abf
Show AC unread indicator with counter and seen state color (#15304)
- Display Activity Center unread badge with the unread counter.
- Use the new seen state stored in `status-go` to change the color of the
  notification.
- Performance: split the `top-nav` component into left and right section
  components and render the unread indicator in a separate component to not
  trigger the re-render of the entire `top-nav` (as was before).
  
Fixes https://github.com/status-im/status-mobile/issues/14851

Demo: https://user-images.githubusercontent.com/46027/224299978-770dd5f1-302b-4375-af2b-3cd181ffdc9d.webm

Notes
=====

- Fix/improve: `quo/counter` displayed `NaN` to the user if the input value was
  an empty string.
- In Figma, there's a border around the unread indicator. I didn't implement
  this because the ideal solution IMO involves changing the `quo/counter`
  component a little bit because the width of the component varies according to
  the content displayed (1, 9, 99, 100, etc) and I wanted to the right thing in
  a separate PR.

Design notes
============

There's an ongoing conversation with the Design team to decide what to do with
the gray indicator on top of the bell icon, since there's little contrast when
it's is in the `seen` state.

Platforms
=========

- Android
- iOS

Steps to test
=============

- Open Status
- Receive one or more notifications in the Home screen and check the unread
  indicator is blue and has a counter.
- Open the AC and close it, notice the unread indicator is now in the `seen`
  state. You can close the app and re-open and the state is persisted.
- Mark notifications as read/unread at will, check the unread counter is
  correct.
2023-03-15 12:41:34 -03:00
Icaro Motta 9473d3f40c
Swipe gestures for Activity Center notifications with CTA (#15284)
Implements swipe actions for notifications with call to action (e.g. pending
contact requests, unverified identity verifications, etc).

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

According to the Design team, the goal is to deliver a consistent experience to
users, so whenever the user sees a notification with buttons, the same actions
can be taken via the swipe buttons.

Note: swipe buttons are using placeholder icons while the Design team works out
which ones to use

Additionally, a bunch of fixes:

- Fix: outgoing pending contact requests were not being removed from the UI when
  cancelled.
- Fix: Membership tab not showing unread indicator.
- Fix: dismissed membership notification not marked as read.
- Fix: dismissed membership notification was displaying decline/accept buttons.
  Regression came from changes in status-go related to soft deletion of
  notifications.
- Fix: incorrect check for the pending state of a contact request.
- Fixed lots of bugs for identity verification notifications, as it was
  completely broken. Unfortunately, somebody made lots of changes without
  actually testing the flows.
- Add basic error handling and log if accepting, declining or canceling contact
  requests fail.

The demo shows an identity verification with swipe actions to reply or decline.
[identity-verification-swipe-to-reply.webm](https://user-images.githubusercontent.com/46027/223565755-b2ca3f68-12e2-4e1e-9e52-edd52cfcc971.webm)

Out of scope: The old quo input is still in use in the identity verification
notification. This will eventually be solved by issue
https://github.com/status-im/status-mobile/issues/14364

### Steps to test

Notifications with one or more buttons (actions) are affected by this change,
because now the user can also swipe left/right to act on them.

- Membership notifications: private group chat. The following PR explains how to
  generate them https://github.com/status-im/status-mobile/pull/14785
- Contact requests, and community gated requests to join (Admin tab).
- Identity verifications. I believe the only way to test identity verification
  flows at the moment is to use the Desktop app, since initiating the challenge
  is not implemented in Mobile yet.
- Mentions and replies don't have new swipe buttons because they don't have call
  to action buttons throughout their lifecycle.

Steps to test identity verification flows:

#### Identity verification flow 1

- `A` and `B` are mutual contacts.
- `A` sends a verification request to `B`.
- `A` should not see any notification yet.
- `B` should receive an identity verification notification. `B` can either
  decline or reply.
- `B` declines and the status `Declined` is shown instead of buttons.
- `B` can now either swipe to toggle read/unread or swipe delete the
  notification.
- `A` should not receive any notification after `A` declined.

#### Identity verification flow 2

- `A` and `B` are mutual contacts.
- `A` sends a verification request to `B`.
- `A` should not see any notification yet.
- `B` should receive an identity verification notification. `B` can either
  decline or reply.
- `B` press `Reply` and a bottom sheet is displayed with a text input.
- `B` sends the reply/answer message and the status `Replied` is shown instead
  of buttons.
- `B` can now either swipe to toggle read/unread or swipe to delete the
  notification.
- `A` should receive a notification with the reply from `B`.
- `A` can either mark the answer as untrustworthy or accept it (trust it) via
  the normal buttons, as well as via the swipe left/right buttons.
- If `A` accepts the answer, then the status `Confirmed` is shown instead of
  buttons. On the other hand, if `A` marks as untrustworthy, then the status
  `Untrustworthy` is shown instead of buttons.
- `B` should receive no further notifications due to `A`s actions.
- `A` can now either swipe to toggle read/unread or swipe delete the
  notification.
2023-03-14 12:34:13 -03:00
Churikova Tetiana ee62ffdc2c
e2e: AC actions 2023-03-13 14:29:26 +01:00
Brian Sztamfater 7332f483a4
feat: integrate record audio component into composer
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-03-10 12:05:12 -03:00
Yevheniia Berdnyk bd54b05fd0
test_community_mentions_push_notification 2023-03-09 20:37:52 +02:00
Churikova Tetiana 8d7224d972
e2e: fix failures 2023-03-09 12:06:24 +01:00
Churikova Tetiana 0345871b66
e2e: block user test 2023-03-08 12:21:10 +01:00
Jamie Caprani 2861190e5b
New intro screen (#15127)
* feat: add new intro page

* e2e: new intro fix

---------

Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-06 06:42:30 -08:00
Churikova Tetiana 404ae82cfe
e2e: fix deep link profile test
Signed-off-by: Parvesh Monu <parvesh.dhullmonu@gmail.com>
2023-03-06 17:26:29 +05:30
flexsurfer f731f75fca
move profile tab (#15224)
* move profile tab

* e2e: new profile tab

* e2e: fix leftovers

* e2e: last

---------

Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-02 10:55:45 +01:00
Ajay Sivan aec1b5fafa
quo2 strength divider component (#15177) 2023-03-01 15:47:02 +00:00
Churikova Tetiana 06192e7a24
e2e: outgoing CR + new UI 2023-03-01 12:36:49 +01:00
Yevheniia Berdnyk c2782a26f7
paste from clipboard fix 2023-02-28 15:07:06 +02:00
Churikova Tetiana e1bcc8fec4
e2e: fix pinned messages 2023-02-27 16:39:39 +01:00
Churikova Tetiana 432f7bcd8c
e2e: 1-1 chat, communities 2023-02-24 20:05:30 +01:00
yqrashawn 46896ff7f4
ci: add component test (#15071) 2023-02-21 13:42:33 +08:00
Yevheniia Berdnyk ad9b712bff
Fix for connection error 2023-02-17 12:34:21 +01:00
Yevheniia Berdnyk f2277371f0
Updated pytest and pytest-xdist versions 2023-02-17 12:28:43 +01:00
Jamie Caprani cbad7f4c87
feat: add drawer buttons to quo2 (#15062)
feat: add drawer buttons to quo2
2023-02-16 06:29:44 -08:00
Churikova Tetiana c4264462b1
ci/e2e: make copying of nightly artifacts work
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-09 20:32:18 +01:00
Churikova Tetiana 89039cd79a
e2e: remove upload to sauce from fastlane and fix in e2e 2023-02-03 14:03:15 +01:00
Churikova Tetiana c1e3a38cb2
e2e: saucelab new api + remove workarounds 2023-02-02 12:40:19 +01:00
Churikova Tetiana 3692ad38dd
e2e: fixes compressed keys 2023-01-30 21:48:41 +01:00
Churikova Tetiana 6530713c3f
e2e: communities fix 2023-01-27 10:48:52 +01:00