Commit Graph

1373 Commits

Author SHA1 Message Date
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
Churikova Tetiana 4e8ebc6d85
e2e: previews + uncommented pins 2023-01-24 21:27:02 +01:00
Brian Sztamfater bd3c724c66
feat: record audio complete flow
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-01-23 14:04:06 -03:00
Churikova Tetiana b8dfa6b645
e2e: offline messages + edit 2023-01-19 19:01:14 +01:00
Churikova Tetiana 4c33b43713
e2e: more fixes 2023-01-18 16:02:09 +01:00
Churikova Tetiana 4960f5a59c
e2e: fixes for mutual contacts 2023-01-13 19:22:51 +01:00
Churikova Tetiana c1c9fef7ec
e2e: revert failed tests 2023-01-13 12:12:12 +01:00
Jamie Caprani 73c4be8dee
Communities Join Screens - Implement all permutations of Context Drawer options (#14700) 2023-01-13 09:35:41 +00:00
Churikova Tetiana 220341e0be
e2e: introduced failed due to issues tests in results 2023-01-11 13:58:11 +01:00
Churikova Tetiana e289ad8968
e2e: fixes + workarounds 2023-01-09 14:46:24 +01:00
Churikova Tetiana b158310057
e2e: workarounds 2023-01-05 18:01:57 +01:00
Churikova Tetiana 590c0629b6
e2e: new groups 2023-01-04 12:33:02 +01:00
Churikova Tetiana 0a0b70c633
e2e: workarounds 2022-12-30 15:34:25 +01:00
Churikova Tetiana 8dac11544e
e2e: activity centre 2022-12-29 14:49:35 +01:00
flexsurfer a39e0f6fbd
move messages to status-im2 (#14573)
* move messages to status-im2
2022-12-23 15:33:54 +01:00
pavloburykh 1fb41b2ca0
e2e: nightly fixes 2022-12-21 19:17:14 +02:00
Yevheniia Berdnyk cbb6571954
e2e: Updated tests 702807 and 702808 2022-12-19 04:02:57 +02:00
pavloburykh f47bc6e40e
e2e: new community tests 2022-12-14 10:07:46 +01:00
Churikova Tetiana c13be92505
e2e: new activity center flow 2022-12-09 13:58:54 +01:00
Yevheniia Berdnyk f2fa3a1886
Fixed test_group_chat_pin_messages and moved to PR tests 2022-12-06 23:16:55 +02:00
Yevheniia Berdnyk 1000cb79a2
Creating users and getting names in parallel 2022-11-29 18:09:39 +02:00
Jamie Caprani 6d5ff4aa92
chore: fix issues with e2e tests after refactors (#14440) 2022-11-28 03:17:12 -08:00
Jamie Caprani c6e8aad745
feat: add component tests using react-testing-library and jest (#14331) 2022-11-23 05:59:18 -08:00
Churikova Tetiana a9295ac17e
e2e: test sections and fix 2022-11-22 17:44:28 +01:00
Yevheniia Berdnyk 946640339a
e2e: pin messages in 1-1 and group chats 2022-11-21 06:49:53 +02:00
Churikova Tetiana add00a5609
e2e: configurable datacenter 2022-11-08 10:35:05 +01:00
pavloburykh b378d88aaf
e2e: deep_link tests 2022-11-04 16:54:13 +02:00