Commit Graph

497 Commits

Author SHA1 Message Date
frank e5ef15b531
Prevent Logged In Account Local Pairing / Syncing With Another Account (#17342) 2023-09-21 10:02:42 +08:00
frank 442600bc28
use new API for ens name registration (#17127)
* use new API for ens name registration

4cc53630...223d215e

* update status-go-version.json

* update status-go-version.json

* fix Error:Field validation for 'KeycardPairingDataFile' failed on the 'required' tag

* update status-go-version.json

* fix lint issue
2023-09-16 11:37:06 +08:00
frank 9706111256
fix unable to reset pwd on ios (#17259) 2023-09-13 09:06:32 +08:00
frank a9c840b6ba
fix: Sync is hanging in "syncing devices" stage (#17226) 2023-09-11 20:39:12 +08:00
yqrashawn b393d4e037
chore: update status go version for #17110 (#17222) 2023-09-08 11:04:36 +08:00
yqrashawn a05156c645
Fix: User-avatar indicator size/position (#17110)
### Commit Summary
Figma https://www.figma.com/file/WQZcp6S0EnzxdTL4taoKDv/Design-System-for-Mobile?type=design&node-id=107-5264&mode=design&t=3IlYad4D0crAiVcf-4

Affected all avatars with status indicator
32x32

Signed-off-by: yqrashawn <namy.19@gmail.com>
Co-authored-by: Flavio Fraschetti <flavio@status.im>
2023-09-07 17:45:23 +01:00
frank bf3ad02bb1
point status-go-version.json to the right commit (#17200) 2023-09-06 20:13:12 +08:00
yqrashawn 7e9ba0768a
fix: support new design ident ring width (#17034) 2023-09-01 16:35:46 +08:00
Ibrahem Khalil a218499f2a
[16728] Allow message editing to save link previews (#17117) 2023-08-31 10:59:49 +03:00
Andrea Maria Piana a00eb6292f
Remove 3 words alias
347d875a...bf748de2
2023-08-30 16:48:43 +01:00
frank b24dbe585b
fix: Rounded edges of color sections of identity rings (#17135)
4cc53630...347d875a
2023-08-30 21:28:04 +08:00
Andrea Maria Piana 5807b34472
[Fixes: #16219] Correctly handle removal event when out of order
d64633e3...bd2c38db
2023-08-30 13:19:34 +01:00
Andrea Maria Piana ca7a519f89
Fix contract call for communities 2023-08-30 09:29:03 +01:00
yqrashawn a6710f902f
feat: render all avatars using media server (#16193) 2023-08-15 09:59:40 +08:00
Andrea Maria Piana 13e9db198f
Pull images from status-go
Fixes: #16885

Images were not "prepared" before being sent to the frontend.

status-go PR: https://github.com/status-im/status-go/pull/3875

1ca165c5...d61f983d
2023-08-14 12:33:02 +01:00
flexsurfer bf8b31d22d
Add preview and counters for CR system messages #16898 (#16969) 2023-08-12 06:39:26 +02:00
Andrea Maria Piana 713cf8bf79
Update version to 0.163.6 2023-08-11 13:21:26 +01:00
frank 715fc13d46
9896ec81...daa9ad4e
fix app crash during key generation
2023-08-11 12:46:01 +01:00
frank 1536ff8fa5
revert identity ring colours (#16938)
* revert identity ring colours
2023-08-11 09:30:53 +08:00
frank bf502175f7
fix: process backup messages when recovering account from seed phrase (#16879) 2023-08-08 16:19:48 +08:00
Volodymyr Kozieiev 86e16564fa
Fetching featured communities (#16829)
Featured communities updated from status-go signal
Community card skeleton now is a part of a component
2023-08-07 16:43:58 +01:00
frank 7b425c1a53
Add method for fast creation of communities (#16806)
* fast create community to test

* fix: in PR builds only token gated community is available

* update status-go-version.json
2023-08-03 08:59:28 +08:00
frank 99c10519c3
fixed: getting stuck on the "Keys saved" randomly (#16816)
* fixed: getting stuck on the "Keys saved" randomly
2023-08-01 18:23:45 +08:00
frank 02d45fa06f
discard backup message when recovering account (#16748)
* discard backup message when recovering account

* fix test failed

* update status-go-version.json
2023-07-25 15:03:57 +08:00
John Ngei 2317e856bf
Mute community
* mute and unmute community

dfdaa722...e6187aec

* mute and unmute community and all community chats

dfdaa722...3abc86e4

* updated statu-go

dfdaa722...919123e1

* refactored mute chat drawer

d3e650d5...3af0b17c

* refactored mute chat drawer

dfdaa722...3af0b17c

* fixing mute channels

* fixed mute community channels

* update community chats mute status

dfdaa722...dc50ac21

* added mute and unmute community toast

dfdaa722...c06f7a6c

* unmute community when atleast one community channel is unmuted

dfdaa722...e691c475

* updated status-go

b2e56f5d...c52718cd

* updated status-go version v0.162.5
2023-07-19 16:30:42 +03:00
Andrea Maria Piana e99f6de434
Update version to 0.162.3 2023-07-17 15:53:14 +01:00
Andrea Maria Piana 2b0ea01710
Avoid panic when config missing in community 2023-07-14 08:26:21 +01:00
Mohamed Javid 72e56dcf75
[Fix] Login Validation Error (#16562)
This commit fixes the log-in validation issue due to not receiving the "node.login" signal from "status-go".

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-07-12 16:12:50 +05:30
Ibrahem Khalil 7350c88920
[16467] Fix delete for me doesn't work on chat reopen (#16529) 2023-07-11 13:42:14 +03:00
Andrea Maria Piana 1e8ea3fd16
Enable lightclient
67050429...67050429
2023-07-07 15:40:24 +01:00
flexsurfer 4327653b0b
[#16422] Merge profile and profile overview into one map in status-go (#16507)
* [#16422] Merge profile and profile overview into one map in status-go
2023-07-06 19:46:21 +02:00
Andrea Maria Piana f015eb929a
[Fixes: #16203] Fix delete for me replies images
09c5223d...b058ab41
2023-06-30 11:14:49 +01:00
frank a7ddda40c4
fix: ROW_NUMBER() not work on ios for some reason (#16426)
* fix: ROW_NUMBER() not work on ios for some reason

* update status-go-version.json

* update status-go-version.json

* update status-go-version.json
2023-06-29 19:11:15 +08:00
Ibrahem Khalil e0a0c6331f
[16352] [Bugfix] New message indicator not showing on bottom navigation for unmuted chats and another bug (#16380) 2023-06-27 19:44:28 +04:00
Andrea Maria Piana 36aefd0e5a
Fix race condition on sending messages
d3e650d5...f23cb406
2023-06-26 13:37:20 +01:00
Ibrahem Khalil 7aa40b8adf
[14556, 14259] Allow users to mute community channels and to mute chats for specific duration (#15128) 2023-06-22 08:25:17 +03:00
frank db44ee67e6
init status-go logging once app start up (#16325)
4cc53630...7da1ed38
2023-06-22 07:45:55 +08:00
frank be52ff096d
[15524] Support mentioning non Latin nicknames (#16320)
* fix #15524
2023-06-21 15:22:42 +08:00
frank 78d6db5bf0
chore: align changes to RequestAllHistoricMessagesWithRetries (#16244) 2023-06-12 15:22:04 +08:00
frank eff5cb1f3e
fix #16099 (#16177) 2023-06-08 15:20:32 +08: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
Icaro Motta b385e5ab4b
Support unfurling more websites (#16040)
Bumps status-go's version to point to the status-go branch in PR
https://github.com/status-im/status-go/pull/3530.

Fixes https://github.com/status-im/status-mobile/issues/15918
2023-06-05 08:31:27 -03:00
frank 19a76c22d1
fix #16043 (#16126)
* fix #16043

* update status-go-version.json
2023-06-01 21:17:08 +08:00
Siddarth Kumar 68e53e05bd
Adjust padding for QR Images (#15975) 2023-06-01 13:59:12 +05:30
Mohamed Javid d142d58677
Local Pairing Updates (#16065)
Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-06-01 13:40:22 +05:30
Roman Volosovskyi d395ca6cc6
Allign to latest accounts changes 2023-05-30 13:57:09 +02:00
Roman Volosovskyi a18cf2f786
Old wallet 2023-05-26 09:14:45 +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
andrey 6858884c83
[#15756] Token gated communities 2023-05-20 08:54:06 +01: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
frank c7bc16608a
fix #15899 : failed to reset password (#15914)
* fix #15899 

4cc53630...080d8ad3

* update status-go-version.json

* update status-go-version.json
2023-05-18 22:30:27 +08:00
Andrea Maria Piana 7efd1e5d6b
Bump status-go version to 0.151.8 2023-05-17 18:24:42 +01:00
frank fa11c232cc
update status-go-version.json (#15894) 2023-05-15 20:41:26 +08:00
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
frank c275205bed
Adapt to status-go backend changes for ConvertToKeycardAccount (#15846) 2023-05-09 20:51:08 +08:00
Volodymyr Kozieiev c78bdda717
Last message preview improvings (#15613) 2023-05-08 18:37:26 +01: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
Mohamed Javid 6eb2029c51
Show "Kicked from community" notification in Activity Center (#15734)
* [Feature] Implement Community Kicked notification

* Status Go Update
2023-04-26 19:56:33 +05:30
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
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
Ibrahem Khalil 8af7011eb4
[15128] Introduce muting for a specific duration (#15253) 2023-04-16 17:31:39 +02:00
Ibrahem Khalil a46a3e2a93
Bump go version to work with latest status-go changes (#15614) 2023-04-11 10:11:06 +02:00
frank 9da9427488
Move mentions logic to status-go (#15428) 2023-04-07 17:01:13 +08:00
Mohamed Javid 3238f42039
[Fix] Remove AC request to join notification on community request cancellation (#15586)
* [Fix] Remove AC request notification on community request cancellation

* Status Go Version Bump
2023-04-06 19:53:43 +05:30
Ibrahem Khalil d458bca193
Allow/Add mobile link previews for YouTube and Twitter (#15407) 2023-03-30 16:12:56 +02:00
Andrea Maria Piana f744d761c0
Set log directory correctly
bb6139ae...b38b3817
2023-03-30 13:54:29 +01:00
frank 9c0ab739ea
add simple validation for password, fix #15478 (#15503) 2023-03-30 08:01:22 +08:00
Roman Volosovskyi de86586208
[#15475] (issue 1) Prevent restoring of an existing multiacc 2023-03-28 12:43:48 +02:00
frank 394dfde87b
fixed #15446 (App crashes on syncing QR...) (#15464)
4cc53630...458f2817
2023-03-28 12:27:22 +08:00
Roman Volosovskyi 7f87c007c1
[#15471] Add PreviewPrivacy to CreateAccountRequest 2023-03-27 09:57:07 +02:00
Jamie Caprani 2f19badc6c
Add seed phrase flow & customization color 2023-03-24 14:24:18 +00:00
frank 45da51bea6
changes corresponding to refactor of local pair of status-go (PR #3248) (#15412) 2023-03-23 20:23:26 +08:00
Jamie Caprani a502da6ea4
9c1c01c6...48eb7052 (#15401)
feat: add create profile to onboarding
2023-03-22 06:51:38 -07:00
Icaro Motta 554476ede9
Remove support for cancelling outgoing contact requests (#15415)
Removes the feature that allows users to cancel outgoing contact requests (possible spam vector). From now on, the user who sent the contact request will only be able to see the notification in the pending state. It seems this feature will be revisited in the future, but for now the agreement is to do the simplest thing and remove it.

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

Steps to test:

- Send CR from A to B.
- A should see a new notification in the pending state.
- B should receive a notification. If B accepts the CR, then A's pending CR disappears. If B declines the CR, then A's notification stays pending forever.

Note: As expected, A can swipe left->right to mark the outgoing pending notification as read or swipe right->left to delete it.
2023-03-22 08:59:32 -03:00
Volodymyr Kozieiev 6d006c0ea9
Updated to status-go version without sending status problem (#15148) 2023-03-20 12:11:16 +00: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
Roman Volosovskyi 61600a534b
[#15152] SHow ENS name on adding contact via ENS name 2023-03-14 19:34:39 +01: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
yqrashawn 5fe3029ad8
feat: allow group admin to delete others message (#15256) 2023-03-08 10:08:40 +08:00
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
Mohamed Javid 3483bb1107
[Fix] Community Context for Mention or Replies Notification in Activity Center (#15234)
* [Fix] Community Context for Mention or Replies Notification in Activity Center

ebc1fc33...71f778ec

* [Update] Status Go Version
2023-03-03 22:57:32 +05:30
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
Roman Volosovskyi 8f75874868
[#15042] Fix inconsistent contact request state on syncing 2023-03-02 12:45:37 +01:00
Siddarth Kumar 0c9a195ca9
Improve QR code Handler mobile side PR (#15168)
* point to the relevant branch on status-go

a9bfed21...6839f458

* update commit-sha1

* bump version to latest status-go
2023-03-01 18:15:49 +05:30
frank b75e1304d8
added param deviceType (#15136) 2023-02-28 21:43:10 +08:00
flexsurfer c667d05929
bump status-go v0.133.2 (#15200) 2023-02-27 17:44:36 +01:00
flexsurfer 80f063d0dd
[#15056] Can't see display/ens/name when mentioning in community (#15085) 2023-02-27 12:51:53 +01:00
Icaro Motta 1806cb792a
Allow users to swipe to delete or swipe to toggle unread notification status (#15106)
Adds support for swiping left/right on some types of notifications. Swiping left
(from left to right) shows a blue button allowing the user to mark the
notification as read/unread. Swiping right (from right to left) shows a red
button, allowing the user to delete the notification for good.

Related PR in status-go https://github.com/status-im/status-go/pull/3201.

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

Technical notes
===============

How's the performance? It feels near native performance in a production release
in a mid-range smartphone. So I'd say it's pretty good, but let me know if you
find any issue.

- I refrained from trying to eliminate all code duplication in this PR. Some
  notifications will behave differently, especially the ones with call to
  action, so I ask you to please take that in consideration when reviewing. See
  https://github.com/status-im/status-mobile/issues/15118
- React Native Gesture Handler has a component named
  [Swipeable](https://docs.swmansion.com/react-native-gesture-handler/docs/api/components/swipeable/).
  I used it instead of writing a monstrosity 👹 of code in
  Reanimated to achieve the same results.
- RN Gesture Handler touchables are the only ones that work with the Swipeable
  component, so I used them and added vars to `react-native.gesture`.
- I had to manually interpolate the translation X of the buttons behind
  notifications because notifications are transparent. To make interpolation
  work with `Swipeable` it's mandatory to use RN `Animated.View` and not
  `Reanimated.View` (see next point).
- `Swipeable` expects us to pass functions that will receive RN
  `AnimatedInterpolation` instances and the rendering lifecycle does not work as
  usual. Hooks didn't trigger as expected, functional Reagent components didn't
  behave as expected, etc. This means `Reanimated.View` and its interpolation
  function is out of question. I did try for almost two days, nothing works.

Testing notes
=============

These are some of the manual tests I ran. There are more scenarios to cover
obviously. Assuming no unread notifications before each flow:

Contact request notification
============================

From the perspective of an user A:

1. Receive a contact request from a non-mutual contact B.
2. Verify the unread count is displayed over the bell icon.
3. Verify the unread count is displayed on the `Messages > Contacts` tab, as
   well as on the AC `Contact requests` tab.
4. Open the AC and before accepting/declining the contact request, check that
   you CAN'T swipe left or right.
5. Accept or decline the contact request.
6. Check the unread indicator disappears in all necessary places.
7. Press on the notification and see if you're redirected to the chat.
8. Go back to the AC and swipe left to mark as `Unread`. Notice that opening the
   chat marks the notification as `Read`. Also very important, notice that the
   `Messages > Contacts` tab will NOT show the *pending contact requests*
   section at the top. This is on purpose, given the notification is unread, but
   the user has already accepted/declined the contact request, hence it's not
   pending.
9. Swipe left againg to mark as `Read`. Check all unread indicators are updated.
10. Swipe right to delete the notification (it won't be displayed ever again).

Admin notification
==================

1. Generate an admin notification, e.g. a community owner receiving a request
   notification to join.
2. Verify the unread count is displayed over the bell icon, as well as the AC
   Admin tab.
3. Verify the community unread indicator is correctly displayed.
4. As an admin, open the AC and before accepting/declining the request, check
   that you CAN'T swipe left or right.
5. Accept or decline the membership request.
6. Check the unread indicator disappears accordingly.
7. Swipe left to mark as `Read`.
8. Swipe left to mark as `Unread`.
9. Swipe right to delete the notification (it won't be displayed ever again).

Mentions & replies
==================

Similar steps outlined for `Admin` notifications, but there's one important
difference. Mention and reply notifications don't require a call to action from
the user, so the user can swipe left/right **without** first having to do
anything on the notification (such as pressing on it). See issue
https://github.com/status-im/status-mobile/issues/15118

What about other types of notifications?
========================================

Swipe gestures for other notification types will be implemented in a separate
PR.
2023-02-24 21:22:31 -03:00
frank 0c96661583
use random tcp port for listen address for node (#15143) 2023-02-22 21:38:27 +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
frank 900688dc15
feat: pass node config/kdf to status-go when local pairing (#15072)
4cc53630...8ff91ba0
2023-02-17 21:40:27 +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
Andrea Maria Piana ab750c1829
Upgrade status-go to 0.131.4
dea21f44...0b2f0ef2
2023-02-15 12:16:59 +00:00
Andrea Maria Piana feae148ec8
Fix contact updates state recovery
7360e072...dea21f44
2023-02-08 17:49:36 +00:00
Roman Volosovskyi cc348fda99
[#14962] Update AC notification on EditMessage 2023-02-08 16:43:40 +01:00
Roman Volosovskyi c38cb03956
[#14865] Add previews for youtube links with www subdomain 2023-02-02 13:08:37 +01:00
Roman Volosovskyi db417cb3a3
fix compatibility with ConvertToKeycardAccount after recent changes 2023-02-02 12:15:38 +01:00
Omar Basem eed38fe082
Lightbox screen animations (#14954)
* lightbox screen animations
2023-02-02 15:03:59 +04:00
yqrashawn a38ef22ca7
feat: support deleted by xxx (#14768) 2023-02-01 09:17:57 +08:00
Andrea Maria Piana 41124acf4d
[Fixes: #14834] Fix backup of contacts
7e1a894a...cefa0089
2023-01-31 15:45:32 +00:00
Andrea Maria Piana 0fd2783774
Update status-go and temporary fix for keycard 2023-01-30 16:45:23 +00:00
Andrea Maria Piana 6830f98f95
Add support for compressed keys
fc03393e...caf3cc04
2023-01-30 16:11:09 +00:00
Roman Volosovskyi 1654c32ea0
[#14173] Fix incorrect pagination of notifications 2023-01-27 08:53:07 +01:00
Roman Volosovskyi 146e41c8cc
[#14669] Fix re-activation of deleted chat on old contact update 2023-01-25 13:14:53 +01:00
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
Roman Volosovskyi bfdca0fb38
d40290a6...d60c1d00
[#14574] Update chat clock on group event
2023-01-12 18:57:22 +01:00
Parvesh Monu d6159ac269
Persist switcher cards (#14701)
b4bdfd3d...d40290a6
2023-01-05 21:50:09 +05:30
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
flexsurfer 270acefcf1
bump status-go v0.117.1a, fix empty chat (#14596) 2022-12-21 10:47:31 +01:00
Andrea Maria Piana 3e3a365ffb
Enable waku2 by default 2022-12-15 12:39:49 +00:00
yqrashawn bd84a36582
feat: new delete message (#14232) 2022-12-09 15:35:41 +08:00
frank f7af7ca25d
Allow owner/admin to delete messages of a community (#14366) 2022-12-02 20:13:02 +08:00
Roman Volosovskyi e469d97702
[#14372] Fix message content type on editing 2022-11-17 08:23:53 +01:00
Icaro Motta 0f7ccce3df
Implement identity verification flow (#14365) 2022-11-16 16:46:04 -03:00
frank 433f9185c8
Use WakuNodes in ClusterConfig for Waku V2 (#14283) 2022-11-16 00:27:19 +08:00
Andrea Maria Piana 04408af45c
Fix logout & upgrade status-go 2022-11-15 15:17:59 +00:00
Roman Volosovskyi 4353c4a40c
[#14245] Fix read/unread notifications filter 2022-11-14 13:40:20 +01:00
Richard Ramos 0f6022a731 chore: set gowaku build tags for status-go
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-09 18:47:15 +01:00
Ibrahem Khalil 3b69e5873e
Add members key to the chat-preview flow to show count of members on chat preview (#14274) 2022-11-03 12:10:01 +03:00
Omar Basem c423aa7970
Unpin messages (#14204)
* feat: pinned messages new ui
2022-10-26 17:18:50 +04:00
Roman Volosovskyi c017c01c53
[#11335] Use Pokt network as an infura replacement 2022-10-19 17:00:17 +02:00
frank 7ac2e1aa20
replace web3-utils methods usage by status-go (#13940)
Signed-off-by: frank <lovefree103@gmail.com>
2022-10-19 00:05:07 +08:00
Omar Basem 3aaa7e4c4e
feat: edit/delete/reply for emoji/sticker/audio (#13808)
* feat: edit/delete/reply, fixed unnecessary changes
2022-10-18 17:20:27 +04:00
yqrashawn bc050af9ed
feat: delete for me logic without UI (#14007) 2022-10-12 21:21:20 +08:00
Roman Volosovskyi 30e7ad585a
[#14059] Show effective gas price 2022-09-27 20:53:44 +02:00
frank 00a503bf84
Move abi-spec to status-go
6f93913b...a182f3e6
2022-09-17 11:48:07 +01:00
Roman Volosovskyi 3e7f7232fb
[#13933] Fix activity notification delition on message delition 2022-09-16 14:39:38 +02:00
flexsurfer b71853c92a
[#13951] feat: merge favourites in saved addresses #2844 (#13993) 2022-09-13 15:51:31 +02:00
Roman Volosovskyi 3fc5c89865
[#13855] Fix contact request decision status on Sync All 2022-09-09 13:53:47 +02:00
Roman Volosovskyi 8b01a4ac6c
[#13894] Update activity indicator on removed contact request 2022-09-06 20:34:58 +02:00
Roman Volosovskyi 916d29e5c5
n86054875...b87ecb20
[#13889] Ignore group chat color when not specified
2022-08-31 18:17:23 +02:00
Jakub Sokołowski 1b8aea87b2
ci: use different IPFS gateway for release builds
f43f43cc...86054875

Depends on: https://github.com/status-im/status-jenkins-lib/pull/44

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-26 20:02:27 +02:00
Roman Volosovskyi 8e3258769e
[#13672] Sync contact request decision 2022-08-24 17:11:23 +02:00
siddarthkay 2c1bfcd092
Add management for wallet connect sessions 2022-08-19 12:35:13 +01:00
Roman Volosovskyi c5bcb0123f
[#13647] Update all setting on pairing with a new wallet account 2022-08-03 12:36:58 +02:00
Parvesh Monu 971d3ce818
Move automatic status updates timeout to status-go (#13602)
4aa34139...60a49fc7
2022-08-03 04:53:23 +05:30
audriu 798c604848
Fix sync of blocked contacts (#13712)
4aa34139...4aa34139

Signed-off-by: Audrius Molis <masta@dr.com>
2022-07-22 16:41:27 +03:00
Churikova Tetiana 28a2113874
Goerli contracts, go-version bump: 3a46b051...3cd92fda 2022-07-20 16:03:42 +02:00
Andrea Maria Piana c15b143232
Check public key when sending a message
6df20331...3a46b051
2022-07-18 20:19:45 +01:00
Audrius Molis 33f6daff33
Remove blocker from contacts of user that he has blocked
d17b076b...6df20331

Signed-off-by: Audrius Molis <masta@dr.com>
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-07 12:42:05 +02:00
Vitaliy Vlasov 54b18b4cf9
Wallet sync for generated accounts
Signed-off-by: Vitaliy Vlasov <siphiuel@protonmail.com>
2022-07-06 19:40:00 +03:00
Churikova Tetiana 89396bd93b
Changes from status-go:
22669d04...63d61197
2022-07-01 16:25:46 +02:00
Andrea Maria Piana 7f8ad610f4
Handle backward compatibility in contact requests
efa14805...22669d04
2022-06-20 10:46:34 +01:00
Audrius Molis 2325f6f59e
Synchronise Sticker Pack setting fields
772b8496...efa14805

Signed-off-by: Audrius Molis <masta@dr.com>
2022-06-14 17:25:49 +03:00
Andrea Maria Piana 707cf82b8b
Use status-go settings for contact requests
09ba88c1...cc80f575
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-06-13 13:50:21 +01:00
Andrea Maria Piana aa71b830bc
[Fixes: #13398] Remove explic join group chat
ed67cc2a...09ba88c1

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-06-08 11:58:49 +01:00
Andrea Maria Piana 785386987b
[Fixes: #13416] resize image in status-go as well, alert user if fails
869942c0...ed67cc2a

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-06-07 16:06:54 +01:00
Parvesh Monu 12437e6b7c
Fix App getting stucked on logout (#13427)
1bfde4c4...869942c0
2022-06-02 22:38:48 +05:30
Brian Sztamfater 91f444ba80
Support mutual contact requests
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-05-31 09:23:24 +01:00