Commit Graph

4629 Commits

Author SHA1 Message Date
flexsurfer 446d71063c
new chat fixes and improvements, sheet modal screen improvements (#15993) 2023-05-23 16:46:16 +02:00
frank 0890b1b1b5
fix: display name/nickname/ens which includes dash is not resolved in the chat when mentioned (#15990)
* fix: display name/nickname/ens which includes dash is not resolved in the chat when mentioned

* update status-go-version.json
2023-05-23 18:40:27 +08:00
flexsurfer 86d5a3c4e6
clean old namespaces (#15980) 2023-05-22 14:49:01 +02:00
andrey 6858884c83
[#15756] Token gated communities 2023-05-20 08:54:06 +01:00
John Ngei d3b4f60848
sync devices after sign in
* onboarding sync devices after scan to sign in

* using subscription to get the status of pairing progress

* update following reviews

* polished code following reviews

* fixed showing unknown devices
2023-05-19 19:17:38 +03:00
Icaro Motta 19526508f2
New link previews (initial implementation) (#15891)
This is the introductory work to support the new requirements for unfurling
URLs (while the message is a draft) and displaying link previews (after the
message is sent). Refer to the related status-go PR for a lot more interesting
details https://github.com/status-im/status-go/pull/3471.

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

### Notes

- The old link preview code will be removed separately, both in status-go and
  status-mobile.
- I did the bulk of the work in status-go
  https://github.com/status-im/status-go/pull/3471. If you want to understand
  how this is all implemented, do check out the status-go PR because I heavily
  documented the solution, rationale, next steps, etc.

### Performance

Does the feature perform well? Yes, there's very little overhead because
unfurling URLs happen in status-go and the event is debounced. I also payed
special attention to use a simple caching mechanism to avoid doing unnecessary
RPC requests to status-go if the URLs are cached in the client.

I have some ideas on how to improve performance further, but not in this PR
which is already screaming for reviews.
2023-05-18 16:19:41 -03:00
Mohamed Javid 3c9ad509cd
[Fix] Activity Center Empty Community Icons (#15907)
Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-05-18 16:38:18 +05:30
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
frank d2e38772b9
use debounce-and-dispatch to improve mention performance (#15887)
* use debounce-and-dispatch to improve mention performance

* increase time to 400ms

* decrease time to 300ms

* update status-go-version.json

* update status-go-version.json
2023-05-15 15:51:29 +08:00
Alexander c71224e73e
Double-tap for communities & fix for 'Recent' tab not being shown as selected if message icon is double tapped (#15844)
* Updates

* Small namespace fix
2023-05-11 18:17:50 +02:00
Ajay Sivan d2840885dd
fix: app locked screen accent color (#15854) 2023-05-11 05:31:41 -07:00
Alexander ce322c9537
Remove identicons, replace them with initials of a user (#15815)
* Remove identicon, replace it with initials of a user

* Lint fix
2023-05-11 10:05:20 +02:00
Parvesh Monu 4afe251086
Show correct error message while unlocking app (#15845) 2023-05-11 02:29:52 +05:30
Omar Basem 341497e98d
feat: new composer complete 🎉 (#15818)
* feat: new composer
2023-05-09 21:03:19 +04:00
Ibrahem Khalil ab973076eb
[15612] Only allow showing universal links after clicking start using status (#15786) 2023-05-09 10:49:25 +03:00
Volodymyr Kozieiev c78bdda717
Last message preview improvings (#15613) 2023-05-08 18:37:26 +01:00
Omar Basem 6c5350573d
refactor: remove images placeholder text (#15830)
* refactor: remove placeholder images text
2023-05-08 15:03:51 +04:00
Omar Basem 521765e312
fix: new-chat-insets (#15829) 2023-05-08 12:20:35 +04:00
Omar Basem 7e54aa0b0d
New mentions design (#15799)
* feat: mentions new design
2023-05-04 13:12:42 +04:00
Omar Basem a973976123
New composer - add audio comp (#15790)
* feat: composer - add audio comp
2023-05-03 09:54:23 +04:00
Omar Basem 08e6b8164e
feat: composer - edit message (#15772)
* feat: new composer - edit message
2023-05-01 20:39:07 +04:00
flexsurfer e0ed2a250b
clean old code, remove public chat, implement drawers for home screens (#15766) 2023-04-28 13:42:38 +02:00
frank ee71117111
remove unused code relate to old text-input component (#15765)
* remove unused code relate to old text-input component

* removed tow lines
2023-04-28 09:37:13 +08:00
Omar Basem 3e9d5dde54
Reimplement composer: add reply (#15736)
* feat: add composer reply
2023-04-27 20:20:00 +04:00
frank cfefef6b75
fix [#15616] Sometimes mentions list does not appear after typing @ in chat input filed (#15622) 2023-04-27 11:37:01 +08:00
flexsurfer efbf93f6e2
move status native module (#15749) 2023-04-26 18:14:14 +02:00
Parvesh Monu 0649c66dde
fix device theme change listener in ios (#15724) 2023-04-26 16:41:11 +05:30
Icaro Motta 30f0b436e9
Various fixes for Contact Request flows (2nd attempt) (#15685)
- Make sure status-mobile works well with the upcoming status-go changes in PR
  https://github.com/status-im/status-go/pull/3379.
- Replace calls to `wakuext_addContact` with `wakuext_sendContactRequest`. This
  is what's been aligned with the desktop team, as we will go on to remove
  `wakuext_addContact` in the near future.

Fixes https://github.com/status-im/status-mobile/issues/15679
2023-04-25 13:32:08 -03:00
Andrea Maria Piana 2438af4e00
Fix pinned messages & replies
e8ceed11...213dc463

Both replies and pinned messages relied on subscribing their data from messages.

This worked only as long as we loaded the message in the database, so it would break say if another user replied to a message that wasn't in the current user view.

It also changes the way pinned messages are handled, before the notification was actually sent over the wire, but that's unnecessary, since it can be generated locally on both parts.
This is a bit of a breaking change with the previous version, since if you pin a message with this version, older version will not see a system message. this can be easily fixed by restoring the previous behavior of sending the message, but not sure it's worth it.

It also adds the ability to Delete message for everyone that have Deleted for me (discussed with John) and the ability of unpin messages that have been deleted for me.
2023-04-25 16:03:57 +01:00
flexsurfer cd69d0423a
fix (fn[]) usage in hiccup (#15713) 2023-04-25 15:13:14 +02:00
Omar Basem 2fe4956f4d
Gesture section list (#15727)
* feat: gesture section list
2023-04-25 15:20:52 +04:00
Icaro Motta 1e4a49fafe
Integrate support for SVG icons and fix clear icon (#15691)
This commit solves the problem described in detail in issue #15606, but in
essence, it fixes the clear icon by integrating rudimentary support for SVG
icons.

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

- Hopefully, if SVG icons prove to be a solid solution, we can easily and
  progressively migrate PNG icons to SVGs, but for the moment, it was aligned
  with @flexsurfer
  https://github.com/status-im/status-mobile/issues/15606#issuecomment-1514631270
  that we'll only use SVG icons on demand.
- Note that it's possible to import SVGs directly via js/require by installing
  the library react-native-svg-transformer, but this approach is only good when
  we don't want/need color customization, which is rarely the case with icons
  where we want to change the foreground and/or background colors. I opted for
  rendering the SVG icon as hiccup to support color customization.
- Since icons are fully memoized, the app's performance is on the same ballpark
  as PNGs rendered with RN Image.
- It's possible to trim down SVGs by using a tool such as
  https://github.com/svg/svgo, but this is obviously outside the scope of this
  PR.
2023-04-24 14:28:19 -03:00
Omar Basem faa29a2946
feat: reimplement composer (#15639)
* feat: reimplement composer (1)
2023-04-24 17:40:15 +04:00
Siddarth Kumar 8f3fbc22d4
move image-server out of status-im namespace (#15712) 2023-04-24 14:20:45 +05:30
Mohamed Javid bfb074eca3
Community request to join changes (#15627)
Resolves  #15322 #15082 #15694
2023-04-21 15:06:58 +05:30
John Ngei 9e5c7cdea5
fix: remove contact from mutual contact list after contact is blocked
* fix: remove contact from mutual contact list after contact is blocked

* remove our contact from remote user contact list when contact is blocked

719af90f...9dea0aae
2023-04-20 20:46:48 +03:00
Jamie Caprani fa21c22fab
chore: add generate code to new sync ui (#15584) 2023-04-20 05:34:30 -07:00
Ibrahem Khalil 14653f387b
[15569] Select recent tab on messages home when double tapping messages icon (#15604) 2023-04-20 11:14:32 +02:00
Parvesh Monu 7f00f96b0c
Change view-id as per the selected bottom tab and refactor subscriptions (#15636) 2023-04-19 19:09:37 +05:30
Parvesh Monu 512af400d7
fix status-bar font color (#15596) 2023-04-17 19:24:38 +05:30
yqrashawn 9b756544fd
feat: add in-app notification, refactor toast (#15642) 2023-04-17 14:01:25 +08:00
Ibrahem Khalil 8af7011eb4
[15128] Introduce muting for a specific duration (#15253) 2023-04-16 17:31:39 +02:00
yqrashawn a261628b83
feat: support ens profile name in lock screen (#15554) 2023-04-10 12:23:40 +08:00
Ibrahem Khalil bb20c5848f
[15383] Add the album count attribute to message body (#15487) 2023-04-07 17:49:56 +02:00
frank 9da9427488
Move mentions logic to status-go (#15428) 2023-04-07 17:01:13 +08:00
Mohamed Javid c3ed15f30d
[Improvements] Syncing completed events check (#15574) 2023-04-06 22:29:14 +05:30
flexsurfer 103e154076
improve navigation and bottom sheet (#15467)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-31 16:13:27 +02:00
Parvesh Monu 21d409ce36
fix display name issues 2023-03-30 19:45:11 +05:30
Andrea Maria Piana f744d761c0
Set log directory correctly
bb6139ae...b38b3817
2023-03-30 13:54:29 +01:00
Andrea Maria Piana a10425e318
Save biometrics 2023-03-30 09:17:23 +01:00
frank 9c0ab739ea
add simple validation for password, fix #15478 (#15503) 2023-03-30 08:01:22 +08:00
Omar Basem 0503f5cfc9
Image index fix (#15525)
* image index fix
2023-03-29 22:12:38 +04:00
John Ngei 2f84cfd354
Onboarding notifications flow
* enable notifications onboarding

* added blurred background

* support navigate to previous screen
2023-03-25 01:40:36 +03:00
Parvesh Monu 7b60a5f867
Refactor app theme management (#15455) 2023-03-24 22:04:55 +05:30
Mohamed Javid 7d4be37111
[Feature] Sign in by scanning sync QR code (#15416) 2023-03-24 20:36:25 +05:30
Jamie Caprani 2f19badc6c
Add seed phrase flow & customization color 2023-03-24 14:24:18 +00:00
Roman Volosovskyi 3b034265c0
[#15443] Show community name/description in message on Android 2023-03-24 12:53:13 +01:00
Parvesh Monu 5c92b7eb1e
remove navigate-to-nav2 event (#15454) 2023-03-24 11:14:17 +01:00
erikseppanen c238ebe36e
Add validation for when adding a contact (#15192) 2023-03-22 13:13:56 -04:00
Jamie Caprani a502da6ea4
9c1c01c6...48eb7052 (#15401)
feat: add create profile to onboarding
2023-03-22 06:51:38 -07:00
yqrashawn f2c8f21336
fix: reply with album (#15424) 2023-03-22 21:04:39 +08:00
Parvesh Monu 937c128c08
Onboarding app locked flow 2023-03-22 13:41:05 +05:30
Alexander 854e372f73
Long quoted message in the reply box is not cut, goes beyond reply box and overlapped by cancel button (#15382)
* Long quoted message in the reply box is not cut, goes beyond reply box and overlapped by cancel button

* Lint fix
2023-03-17 10:18:14 +01:00
yqrashawn 2e0fa29806
fix: mark :albumize? true when rebuild message (#15286) 2023-03-17 16:25:48 +08:00
Andrea Maria Piana b44e4c6d59
Add collapsing of categories (#15306)
290579f7...44a0f5b7

Fixes: #15290

This commit adds collapsing of categories.
It also adds ordering of chats/categories as it was previously ignored.

It also removes the communities/enabled? flag as it's not used anymore,
and communities should always be enabled.
2023-03-16 10:17:50 +00:00
Ibrahem Khalil f981021a1f
Code Improvements of 15048 (#15351) 2023-03-15 20:08:59 +02: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
Jamie Caprani de6a736c10
feat: add ability to cancel a request to join a community (#14973)
80d350ad...5d818669
2023-03-14 16:14:37 -07:00
Roman Volosovskyi 61600a534b
[#15152] SHow ENS name on adding contact via ENS name 2023-03-14 19:34:39 +01:00
Ibrahem Khalil 181e5c2266
Flexsurfers' comments on status-tags (#15345) 2023-03-14 18:46:35 +01: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
Alexander 4097aba39b
Fetch details of user when adding a contact (#15070)
* Fixes

* Fixes

* Final fixes

* Lint fixes
2023-03-14 11:40:38 +01:00
Ibrahem Khalil 4810e1d7bf
Prevent #links to work except in community chats and allow redirection from channel to another when clicked (#15135) 2023-03-13 20:09:38 +02: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
Parvesh Monu e9310a2ace
fix mention turns into unknown in community (#15285) 2023-03-08 20:15:05 +05:30
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
Parvesh Monu 9ffefe74bb
fix navigation to user profile 2023-03-06 17:16:49 +05:30
Vitaliy Vlasov 9959d537f3
Emoji hash is now in settings
Signed-off-by: Vitaliy Vlasov <siphiuel@protonmail.com>
2023-03-06 13:27:15 +02:00
Icaro Motta 1f1ab30a4e
Use new RPC endpoints to fetch and count unread notifications (#15245)
There are endpoint changes in the status-go PR #3237
https://github.com/status-im/status-go/pull/3237) that will cause breakage in
the Mobile & Desktop clients. The Desktop team has already implemented the
changes and is waiting for Mobile to do the same.

The new endpoints are generally better, more ergonomic to use. There's also a
new endpoint to allow fetching multiple unread counters for all types of
notifications so we can finally remove the dreadful workaround in mobile calling
`status-go` 10+ times in a row.

- Fixes https://github.com/status-im/status-mobile/issues/15119
- Fixes https://github.com/status-im/status-mobile/issues/15229
2023-03-03 12:43:41 -03:00
Icaro Motta 52b87bab3e
Redesign and simplify Activity Center app db (#15216)
Fixes #15215. Redesign the app db state for the Activity Center. Please, see the issue being fixed for more details about the problems being solved.

TL;DR: There's a lot less state to keep track and reconcile and way less nesting in the app db because we're only managing the state of the *current tab*, not all tabs.

Additionally:

- [x] While updating unit tests, found a bug on the sorting notifications' logic.
- [x] While updating unit tests, found a bug where notifications that are not of the type *contact request* were being removed from the app db.
- [x] Fixed regression where pressing on a notification would not open the chat.
- [x] Hardened unit tests.

#### Platforms

- Android
- iOS

##### Non-functional

- Less memory consumption.
- Faster reconciliation of notification coming from signals and from synchronous responses from RPC calls.
2023-03-03 09:17:35 -03:00
Brian Sztamfater 9333692830
feat: remove wallet connect 1.0 (#15010) 2023-03-02 17:55:03 +01:00
Jamie Caprani 39c39915a7
chore: separate resources for old and new ui (#15108) 2023-03-02 14:25:01 +01:00
Ibrahem Khalil 01c058fecc
[15127] Make reply and pinned banner react on edit (#15189) 2023-03-02 15:03:30 +02:00
Icaro Motta 041622d98b
Make popover delay configurable (#15225)
Make the popover delay in milliseconds configurable.

To open the Activity Center, 30ms delay seems to be more than enough. It's a quick fix because the current 250ms to open the AC gives the wrong impression to users (and confuses even us developers) who think the AC has a performance issue to open.

See issue https://github.com/status-im/status-mobile/pull/15222 for the full discussion.
2023-03-02 08:41:18 -03:00
yqrashawn 4190dfd26b
feat: support community that all members allowed to pin (#15197) 2023-03-02 18:43:21 +08:00
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
Ulises Manuel Cárdenas 7d9709ee67
Improve chat Avatar (#15036) 2023-03-01 14:54:40 -06:00
Omar Basem 4a6e42c6f9
fix: activity center closing animation (#15222)
fix: activity center closing animation
2023-03-01 15:12:16 +04:00
flexsurfer fa03e91080
Sanitize quo2 namespace (#15207) 2023-02-28 13:59:09 +01:00
Omar Basem f9dda56310
fix: image dimensions on Android (#15211) 2023-02-28 16:20:00 +04:00
flexsurfer c667d05929
bump status-go v0.133.2 (#15200) 2023-02-27 17:44:36 +01:00
Jamie Caprani f84c2ec9f5
chore: add old edit option to communities options (#15131) 2023-02-27 05:49:37 -08:00
flexsurfer 80f063d0dd
[#15056] Can't see display/ens/name when mentioning in community (#15085) 2023-02-27 12:51:53 +01:00
Parvesh Monu 69c3a72357
Navigation code cleanup (#15196) 2023-02-27 15:40:11 +05:30
frank 0c96661583
use random tcp port for listen address for node (#15143) 2023-02-22 21:38:27 +08:00
yqrashawn 3fc4c36ac6
fix: toast style (#15144) 2023-02-22 09:55:21 +08:00
Alexander 1b33aa4988
Outgoing contact requests (#14853)
* First thoughts/ideas

* Showing "Cancel contact request" button

* Fixes

* Restructuring, `retractContactRequest`

* Pending label

* Proper buttons for activity notifications

* New updates

* Returning back `activity-log` `items`

* Last changes in code

* Lint fix

* Lint fix (2)

* Style fixes

* Style fixes

* Code fixes

* Style fixes

* Fixes

1d9d7343...0082f7e9

* Footer update

* Toasts done

* Formatting fix

* Go version update

* Fixes for deletion

* status-go-version.json

* Lint fix

* Fixes

* Lint fix

* status-go version

* status-go version
2023-02-21 22:45:54 +01:00
Andrea Maria Piana c4aef97a6d
[Fixes: #15093] Add support for mention @everyone
This commit adds support for displaying @everyone mention.
2023-02-21 12:19:02 +00:00
Mohamed Javid 8ed64f810f
Introduce marking all notifications as read in Activity Center (#14952)
* [Feature][#14902][#14917] Added marking all notifications as read

* [Fix] Lint Fix
2023-02-20 23:54:17 +05:30
Andrea Maria Piana 172bf66436
Revert "Prevent #links to work except in community chats and allow redirection from channel to another when clicked (#15069)"
This reverts commit bc5f0ccda6.
2023-02-20 10:10:40 +00:00
Ibrahem Khalil bc5f0ccda6
Prevent #links to work except in community chats and allow redirection from channel to another when clicked (#15069) 2023-02-20 11:47:26 +02:00
Vitaliy Vlasov bea93f4a7a
Fix for empty display-name (#15122) 2023-02-20 10:07:38 +01:00
Parvesh Monu fb155ea4bd
fix new chat selected contact (#15124) 2023-02-20 14:25:06 +05:30
frank 900688dc15
feat: pass node config/kdf to status-go when local pairing (#15072)
4cc53630...8ff91ba0
2023-02-17 21:40:27 +08:00
Jakub Sokołowski 0f8ad69319
Nix/upgrade zprint 1.2.5 (#15113)
* nix: upgrade zprint from 1.2.4 to 1.2.5

To address issue described in:
https://github.com/kkinnear/zprint/issues/273

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

* chore: use zprint :multi-lhs-hang

* refactor: re-format clojure using zprint 1.2.5

---------

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: yqrashawn <namy.19@gmail.com>
2023-02-17 20:10:00 +08:00
yqrashawn 866ba63ab7
fix: delete message action logic (#14977) 2023-02-17 19:21:19 +08:00
Vitaliy Vlasov 995d120d94
Use display-name in profile view
Signed-off-by: Vitaliy Vlasov <siphiuel@protonmail.com>
2023-02-17 11:33:16 +02:00
Parvesh Monu 5cea66647e
fix deep links to user profiles don't do anything on tap (#15089) 2023-02-15 23:27:34 +05:30
Ulises Manuel Cárdenas 8ff7a1630c
[#15019] small option card component (#15077)
* Create small-option-card component

* Add preview screen

* Add mock-fn to test helpers

* Add component tests

* Move namespaces

* Change new section name

* Refactor tests

* Change test-ids by accessibility labels
2023-02-14 16:06:13 -06:00
Parvesh Monu 5e87d7eefd
fix new chat button is not visible in small screen devices (#15079) 2023-02-14 16:57:30 +05:30
Siddarth Kumar d1514ec52d
fetch emoji hash for profile (#14987)
* add emoji-hash to app-db post login
2023-02-10 16:32:46 +05:30
flexsurfer b1d4368154
[#15046] Contacts in contact list are sorted by 3-random name (#15051) 2023-02-09 17:40:59 +01:00
erikseppanen 7315dc8914
Support join.status.im links for adding a contact (#14964)
* Support join.status.im links for adding a contact (#14814)

* refactor tests, add caret to regex
2023-02-06 17:23:34 -05:00
Parvesh Monu b9ac26edd7
fix selected members are not shown on the group creation screen (#14991) 2023-02-06 22:13:45 +05:30
Brian Sztamfater 0202af8070
feat: style delivery states
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-02-03 09:53:15 -03:00
frank 0472140f02
fix: Unable to add new contact on receiver device after local pairing until app relaunch (#14936) 2023-02-03 16:07:27 +08:00
Roman Volosovskyi db417cb3a3
fix compatibility with ConvertToKeycardAccount after recent changes 2023-02-02 12:15:38 +01:00
Omar Basem b8eab0c328
Photo selector and album selector screens (#14867)
* feat: photo & album selector screens
2023-02-01 17:01:03 +04:00
yqrashawn a38ef22ca7
feat: support deleted by xxx (#14768) 2023-02-01 09:17:57 +08:00
Jamie Caprani 1f84128dd7
fix: hide buttons on community after joining (#14761) 2023-01-31 09:11:41 -08:00
Andrea Maria Piana 41124acf4d
[Fixes: #14834] Fix backup of contacts
7e1a894a...cefa0089
2023-01-31 15:45:32 +00:00
Parvesh Monu 6bdd3ceded
fix some of the app elements periodically stop responding on the android (#14935) 2023-01-31 19:13:02 +05:30
frank 01523f3a1d
fix: crashed after local pairing (#14931) 2023-01-31 17:23:38 +08:00
Ibrahem Khalil d7d256b139
[14677, 14673, 14672, 14671, 14664] Fix bottom sheet dismissal problems (#14791) 2023-01-30 22:33:12 +02:00
Andrea Maria Piana 6830f98f95
Add support for compressed keys
fc03393e...caf3cc04
2023-01-30 16:11:09 +00:00
Erik Seppanen fac9e644a9
Lookup/add a contact from home screen (#14477) 2023-01-30 16:06:32 +00:00
Parvesh Monu d16baca64f
fix pinned message for community channels (#14885) 2023-01-30 19:42:58 +05:30
flexsurfer 8b358ab7ed
[#14869] Options menu is hardly opened on longtap on messages containing image or links with enabled preview (#14908) 2023-01-26 17:12:26 +01:00
Parvesh Monu 080b13c304
fix some buttons are not responding after theme change (#14811) 2023-01-24 20:28:41 +05:30
Icaro Motta 206730a777
Show "Added to group chat" notifications (#14785)
Partially implements https://github.com/status-im/status-mobile/issues/14712
Fixes #14744

### Summary

This PR implements the first, among what will probably be many different kinds of membership notifications. For this PR, I started with implementing a particular flow for private group chats because it's already supported by `status-go` (albeit I had to make some changes, see [PR in status-go](https://github.com/status-im/status-go/pull/3088).

1. `A` and `B` are mutual contacts.
2. `A` creates a private group chat with `B` as member.
3. `B` sees the group chat in the app, but doesn't interact with it.
4. `B` reinstalls the app (remember to back up the seed phrase).
5. `A` mentions `B` in the group chat.
6. `B` should see a group chat notification, which can be accepted/declined.

- [x] Also fixes #14744

### Demo

In the video I'm simulating the steps outlined in the *Summary*, but using the approach described in *Steps to test*, because it's way easier to iterate during development.

[demo.webm](https://user-images.githubusercontent.com/46027/212470798-c135d229-948d-4ba5-98db-ee73cc5495cd.webm)

### Review Notes

Some changes had to be made in `status-go` ([PR](https://github.com/status-im/status-go/pull/3088)), namely:

- According to [Figma](https://www.figma.com/file/eDfxTa9IoaCMUy5cLTp0ys/Shell-for-Mobile?node-id=3806%3A586901&t=xLTAjLXjG1UtorpI-0), users should be able to see `accepted` group chat notifications. Until now, `status-go` hardcoded that `accepted` notifications would *not* be returned in query results, and so it would be impossible to show them to users. This was changed and now the RPC endpoint accepts an additional filter. The implementation on the backend is backwards compatible so as to not break Status desktop.
- The `Membership` tab needs to display various types of notifications (group chat, community, etc), but the membership type doesn't exist on the backend. To overcome this constraint, this PR makes the membership type a logical/virtual type, i.e. a Clojure set of types. `status-go` was changed to support querying for multiple notification types (also backwards compatible).

#### Platforms

- Android
- iOS

### Steps to test

Please, follow the steps described in the Summary and you should be able to test.

But during development, I followed these steps (recommended by @cammellos). I documented them here for reference.

1. Checkout `feature/e2e` in status-go. Apply the diff below.
2. `cd cmd/e2e && ./e2e`
3. This will create a temporary account automatically, let's call it `A`.
4. On another device, create account `B`.
5. Follow the steps documented in bdc406ea2e/cmd/e2e/README.md (L2) in order for user `A` to create a group chat with `B` as member. Don't make `A` and `B` mutual contacts.
6. On `B`'s device, a notification should appear, and `B` should be able to accept or decline the "invitation" (actually *invitation* is another concept and related to another feature).

```diff
modified   cmd/e2e/main.go
@@ -283,6 +283,11 @@ func defaultNodeConfig(installationID string) (*params.NodeConfig, error) {
    nodeConfig.NetworkID = 1
    nodeConfig.LogLevel = "ERROR"
    nodeConfig.DataDir = "/ethereum/mainnet_rpc"
+        nodeConfig.HTTPEnabled = true
+        nodeConfig.HTTPPort = 8545
+        nodeConfig.HTTPHost = "localhost"
+        nodeConfig.HTTPVirtualHosts = []string{"localhost"}
+
         nodeConfig.APIModules = "wakuext,ext,waku"

    nodeConfig.UpstreamConfig = params.UpstreamRPCConfig{
modified   protocol/messenger_group_chat.go
@@ -26,17 +26,17 @@ func (m *Messenger) validateAddedGroupMembers(members []string) error {
        }

        contact, _ := m.allContacts.Load(contactID)
-		if contact == nil || !(contact.Added && contact.HasAddedUs) {
-			return ErrGroupChatAddedContacts
-		}
+                if contact == nil {
+                  contact, err = buildContactFromPkString(contactID)
+                  if err != nil {
+                    return err
+                  }
+                }
    }
    return nil
 }

 func (m *Messenger) CreateGroupChatWithMembers(ctx context.Context, name string, members []string) (*MessengerResponse, error) {
-	if err := m.validateAddedGroupMembers(members); err != nil {
-		return nil, err
-	}

    var response MessengerResponse
    logger := m.logger.With(zap.String("site", "CreateGroupChatWithMembers"))
```
2023-01-23 13:54:51 -03:00
flexsurfer d79d2e9d36
sanitize quo2 (#14859) 2023-01-23 14:41:55 +01:00
Mohamed Javid 6722b45076
[Fix] Admin Notification marked unread after closing and reopening AC (#14824)
* [Fix][#14823] Admin Notification unread issue

* [Fix][#14823] Changed dispatch of event from the PR feedback

* [Fix][#14823] Organize dispatch of event from the PR feedback

* [Fix][#14823] Organize dispatch of event from the PR feedback
2023-01-23 18:56:58 +08:00
Andrea Maria Piana 897a5eb201
[Fixes: #14794] Use toast instead of old pin modal
Instead of using the old modal, we show a toast when the limit of 3
messages is reached.
2023-01-23 10:44:15 +00:00
Parvesh Monu d3667ad683
fix nil value in reanimated style crashing at runtime (#14855) 2023-01-23 15:55:24 +05:30
Omar Basem 53495dc893
Images Album (2) (#14755)
* feat: images album (2)
2023-01-20 16:51:44 +04:00
flexsurfer f0272f2e77
move chat events (#14835) 2023-01-19 19:35:14 +01:00
flexsurfer e8e8547879
cleanup setup (#14827) 2023-01-19 12:15:28 +01:00
flexsurfer 2899819e95
rollback user profile (#14828) 2023-01-19 12:02:05 +01:00
Alexander 27c8c5547c
[#14689] Link previews in chat (#14771)
* Initial

* Link fetching

* Post-merge fix
2023-01-18 22:43:26 +01:00
flexsurfer d2e35fe928
move constants/config to status-im2 root and remove old constants/config (#14821) 2023-01-18 15:43:58 +01:00
flexsurfer d030e211e3
move i18n to utils (#14819) 2023-01-18 14:36:02 +01:00
flexsurfer ed348e0871
cleaning (#14808)
cleaning, introduce react-native.red-black-tree and move messages list events
2023-01-18 12:16:33 +01:00
Icaro Motta 9a60fc1600
Fix all type hint warnings (#14810) 2023-01-17 19:52:12 -03:00
Andrea Maria Piana 14c9a7c6ac
[Fixes: #14777] Set dns nameserver to cloudflare 2023-01-17 09:22:48 +00:00
flexsurfer 685c95591c
refactor and move composer to status-im2 (#14758)
refactor and move composer to status-im2
2023-01-16 17:20:10 +01:00
Ibrahem Khalil aa8f5b3d48
Disable starting a new chat for non mutual contact (#14726) 2023-01-14 12:57:45 +02:00
Mohamed Javid 2f52cb1f0c
Show Admin Notifications in Activity Center (#14748)
* [Feature][#14713] Added Admin Notifications in Activity Center

* [Feature][#14713] Admin Notification UI fixes

* [Feature][#14713] Admin Notification PR Feedbacks

* [Feature][#14713] Admin Notification PR Feedbacks

* [Feature][#14713] Admin Notification accessiblity label update
2023-01-14 02:14:02 +08:00
Jakub Sokołowski 0623355e84
fleets.json: drop decomissioned eth.test fleet
The fleet wasn't being used so it has been liquidated:
https://github.com/status-im/infra-eth-cluster/commit/de986014

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

make sure that "waku-nodes" is not pulled from fleets.json
2023-01-12 13:15:13 +01:00
Andrea Maria Piana 7a5871a03f
[Fixes: #14623] Enable mutual contacts by default and show banner 2023-01-12 09:16:02 +00:00
Parvesh Monu 5c0bd33697
Improve switcher cards lifecycle (#14751) 2023-01-12 02:37:55 +05:30
Jamie Caprani 846d628a9d
chore: use banner from quo library (#14629) 2023-01-11 00:59:00 -08:00
Alexander 43da198c3f
Communities join screens - add toast after joining/leaving (#14735)
* Add toast after joining/leaving a community

* leftover removal

* Better code for adding toasts

* Fixes

* Lint fix
2023-01-10 19:10:26 +01:00
Omar Basem 55d11d1a18
New chat fix (#14739)
* new chat fix
2023-01-10 20:19:53 +04:00
frank d2e8c5b52c
fix #14733 (#14734) 2023-01-10 23:15:12 +08:00
yqrashawn 02a1c3597f
feat: undo delete with toast (#14618) 2023-01-10 10:02:23 +08:00
Parvesh Monu d6159ac269
Persist switcher cards (#14701)
b4bdfd3d...d40290a6
2023-01-05 21:50:09 +05:30
Icaro Motta 7cf17b5d34
Move unit test helper namespace to `src/test_helpers/` (#14716) 2023-01-05 11:58:37 -03:00
Icaro Motta bad796db90
Fix clojure.set and clojure.walk inconsistent namespace aliases (#14715) 2023-01-05 10:54:32 -03:00
Omar Basem 951fd43d10
Images Album (#14635)
* feat: images album
2023-01-05 16:31:32 +04:00
Siddarth Kumar ec15232af8
Make sure mobile understands community share link by Desktop (#14679)
* we are now able to navigate to desktop communities

b4bdfd3d...d2e95eee

In this commit we add support for various status-go methods in mobile :
- `multiformatSerializePublicKey`
- `multiformatDeserializePublicKey`
- `compressPublicKey`
- `decompressPublicKey`
- and my personal favourite `deserializeAndCompressKey`

When someone pastes a community joining share url into chat and taps on it, we check whether the community was generated on a desktop or mobile.
We need to do this because currently both the clients have different urls for joining a community.

Once we have identified that the url is generated via desktop we then convert that url to something that the mobile client is used to.
This enables the mobile client to view this community and interact with it.

However more work needs to be done in the future to ensure that mobile implements these compressed keys end to end, we need to get this feature in so that
by the time RC1 is released mobile client is able to join communities created by Desktop.
2023-01-04 18:24:11 +05:30
Parvesh Monu 63ace4da76
Improve switcher last content (#14626) 2023-01-04 03:32:51 +05:30
flexsurfer 228c596a9b
cleanup and i18n revert (#14694) 2023-01-03 19:19:21 +01:00
Ibrahem Khalil 894be3e4e2
Reply showing unknown (#14682) 2023-01-02 22:08:40 +02:00
Omar Basem 8d08de3d4b
Move photo selector to status-im2 (#14661)
* Move photo selector to status-im2
2023-01-02 08:04:03 +04:00
Omar Basem b85eb4184a
feat: group details screen (3.3) (#14654)
* feat: group details screen (3)
2022-12-30 18:14:24 +04:00
Ibrahem Khalil 13e59635c7
Add accessibility labels to mentions (#14667) 2022-12-30 15:25:49 +02:00
Jamie Caprani 1677574a6a
migrate datetime to utils and finish i18n migration (#14604)
chore move datetime to common and update imports

 chore: move i18n tests and update imports, adjust i18n so translations are loading correctly
2022-12-29 13:56:11 -08:00
Ibrahem Khalil ef21312162
New chat flow (#14607) 2022-12-29 15:57:42 +02:00
Ibrahem Khalil 77629fa7e1
Edit message issues (#14638) 2022-12-29 14:52:05 +02:00
Christoph Pader 6280a6c4d5
feat: implement quo2 bottom sheet component (#14209) 2022-12-28 15:23:58 +01:00
Omar Basem b45261f2e5
Photo selector fix (#14646)
* fix: photo-selector
2022-12-28 14:40:13 +04:00
yqrashawn 4ce71e4d29
refactor: fix make lint and reformat (#14653) 2022-12-28 15:47:55 +08:00
Volodymyr Kozieiev 9c7b69a2cd
status-im/utils/fx replaced with utils/re-frame to avoid unambiguities (#14640) 2022-12-26 15:00:17 +00:00
flexsurfer a39e0f6fbd
move messages to status-im2 (#14573)
* move messages to status-im2
2022-12-23 15:33:54 +01:00
Icaro Motta a8d392e4de
Redirect user to Activity Center to manage pending contact requests (#14610) 2022-12-23 11:30:46 -03:00
Ibrahem Khalil d9e8fea14b
Fix bottom spacing on image selector (#14612) 2022-12-23 10:33:01 +02:00
andrey 8ff32f4fc3
Revert "Group details screen (3) (#14494)"
This reverts commit e21b8d4396.
2022-12-23 07:32:23 +01:00
Omar Basem e21b8d4396
Group details screen (3) (#14494)
* group details screen (3)
2022-12-23 07:18:09 +04:00
Ibrahem Khalil 1af6d925d2
Message input issues (#14571) 2022-12-22 22:38:55 +02:00
yqrashawn e9252f5025
refactor: migrate json-rpc to status-im2.common.json-rpc.events (#14614) 2022-12-22 14:03:55 +08:00
Ibrahem Khalil 3dda878742
Add elevation to show image list (#14609) 2022-12-21 21:32:23 +02:00
Roman Volosovskyi 45e05b3f2b
[#14545] Force update wakuv2 default configs 2022-12-21 10:24:37 +01:00
yqrashawn 69c90c25ab
fix: fx merge error on ::json-rpc/call (#14594) 2022-12-21 16:43:38 +08:00
yqrashawn 0a8993bbf1
refactor: reformat all clojure code with zprint (#14589)
Co-authored-by: refactor-only <auto@status.im>
2022-12-20 22:45:37 +08:00
yqrashawn 01660765b7
refactor: delete message related code (#14548) 2022-12-20 21:42:50 +08:00
Siddarth Kumar b074e9c58e
moving security from status-im ns to root utils (#14567)
making a lint a fix

update old decision doc

fixing issues while poorly rebasing

fix incorrect ns imports
2022-12-20 17:56:21 +05:30
Omar Basem ba41d4b271
Photo Selector 2 (#14487)
* Photo Selector (2)
2022-12-20 07:36:06 +04:00
Icaro Motta 269d13e2f8
Move Activity Center to new app structure (#14554) 2022-12-16 10:45:00 -03:00
Siddarth Kumar fc07fbf787
UI for mobile to mobile local pairing - updated (#14514)
* ui for local pairing

lint-fix

removed un-necessary +

addressing some of the feedback on PR

more feedback + removing feature toggle from ui

getting rid of comments/log messages over here

tidy up logs

fix typos and more i18n stuff

swap % with a named parameter

getting rid of global state + lint-fix

get rid of un-used function

icon guidelines and more kebab case stuff :>

moving stuff to events and utils namespace

:main-icons -> :i :)

address feedback and adhere to guidelines etc

fixed the :t/ qualification

moree feedback :-D

referring status-im.utils.security for now

adding "cs" to constants

make tests pass

re-frame to rf

addressing feedback

moving icons to icons2 & renaming stuff

trying to make this file the way it was before

missed out on updating these references

getting rid of the icons moved to icons2

This reverts commit be8552c0d3daaf7a7333cfeaf304d97c86d50d3e.

fixing mistakes

getting rid of the s

* this rename makes sense to me

* adding an alias to the view

* fixed broken up namespaces
2022-12-16 18:40:56 +05:30
Andrea Maria Piana 3e3a365ffb
Enable waku2 by default 2022-12-15 12:39:49 +00:00
Ibrahem Khalil 4e6a37fdd0
Message input issues (#14450)
Message input issues (#14450)
2022-12-15 10:49:54 +01:00
Icaro Motta 08fb0de7b0
Remove old Notification Center (#14533) 2022-12-14 18:00:32 -03:00
Icaro Motta 5693df5a74
Lint namespace aliases (#14526) 2022-12-13 17:04:26 -03:00
flexsurfer c7a371c104
move messages screen to status-im2 (#14530)
* move messages screen to status-im2
2022-12-13 13:27:13 +01:00
Parvesh Monu 11d02c1057
fix unread badge and add back button accessibility id (#14525) 2022-12-13 14:56:46 +05:30
Icaro Motta ae10908984
Set Activity Center as the new default (#14492) 2022-12-09 09:52:18 -03:00
yqrashawn bd84a36582
feat: new delete message (#14232) 2022-12-09 15:35:41 +08:00
Roman Volosovskyi 9be8a5b961
Add peers stats screen 2022-12-08 13:28:09 +01:00
flexsurfer 5ca46fe805
Bug/composer background fix (#14502)
* [#14385] Chat view freezes if open/close chat multiple times (iOS)
2022-12-07 17:36:26 +01:00
Icaro Motta 6e272a96c8
Introduce subscription tests (#14472) 2022-12-06 13:36:05 -03:00