Commit Graph

345 Commits

Author SHA1 Message Date
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
Audrius Molis 4909ec9854
Add settings and stickers synchronization
640793fe85...a244d77657

Signed-off-by: Audrius Molis <masta@dr.com>
2022-05-11 17:42:31 +03:00
andrey 54c3030971
640793fe85...0048aaebccn
[#13173] move stickers business logic to status-go

Signed-off-by: andrey <motor4ik@gmail.com>
2022-05-09 15:51:05 +02:00
Andrea Maria Piana 51b3358d91
Bump version to 0.98.5
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-04-26 12:59:47 +01:00
Roman Volosovskyi f6f80be30a
[#13283] Fix syncing of adding contact after removal 2022-04-25 11:18:18 +02:00
Vitaliy Vlasov fbfab9fd3b
Profile picture sync
Signed-off-by: Vitaliy Vlasov <siphiuel@protonmail.com>
2022-04-22 13:16:05 +03:00
Roman Volosovskyi 60ce2ea5d7
3050106595...9de4eb3c8a
[#13198] Backup deleted community
2022-04-14 19:37:55 +02:00
Parvesh Monu ef95a59b0a
Improve notifications life-cycle (#13248) 2022-04-06 23:06:17 +05:30
Parvesh Monu fd9b010662
Don't unmute contact while adding (#13237) 2022-04-01 14:36:50 +05:30
Samuel Hawksby-Robinson 79a5dcf61a
Fix/torrent migration (#13217)
* bump status-go version to 0.97.2 (#13215)
a3c60528ef...e4acca1cc5

* bump status-go version to 0.97.3
2022-03-25 19:24:31 +00:00
Andrea Maria Piana d296da1c34
fix community preview
9f7fc78def...a3c60528ef
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-25 09:26:18 +00:00
Samuel Hawksby-Robinson 21b21bb8ff
Handle sync-settings
f0d3e0419d...9f7fc78def

Signed-off-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
2022-03-23 21:35:59 +00:00
Andrea Maria Piana 9485fe9ecf
Backup communities
12ccff417d...f0d3e0419d
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-23 14:48:38 +00:00
Roman Volosovskyi aa72ac5747
[#13016] Pass opensea key from env
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-21 13:59:35 +01:00
andrey c650fa99d8
[#13171] "Update to latest version ..." in case of replying to image message
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-21 11:21:04 +01:00
Andrea Maria Piana 60cfca1107
Move mailserver logic to status-go
598b83757c...d60a6713fe
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-19 09:01:21 +00:00
andrey a2497c81e7
[#13116] Load audio messages from http server
Signed-off-by: andrey <motor4ik@gmail.com>
2022-03-01 17:07:40 +01:00
John M. Ngei a71ad6e1a8
stop showing notifications for muted chats
Signed-off-by: John M. Ngei <johnmutuku628@gmail.com>
2022-02-25 22:16:46 +03:00
Roman Volosovskyi e8e70143d2
[#13104] Fix deadlock on syncing all data 2022-02-23 21:17:44 +01:00
andrey aaf655abe4
[#13086] stateofus.eth ENS username is not connected with chat key after purchasing
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-23 13:24:51 +01:00
frank 606c3c05e7
Sync bookmarks
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-02-17 13:37:39 +00:00
frank 7b7a86284b
Sync clear history
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-02-17 12:44:55 +00:00
Parvesh Monu 36c7d8e4ca
Implementation of remote android notifications (#13028) 2022-02-14 17:27:33 +05:30
Michele Balistreri 52afbf46ee
get images over HTTPS with self-signed certificate
Co-Authored-By: andrey <motor4ik@gmail.com>
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2022-02-10 18:41:10 +01:00
Parvesh Monu e59a2663f7
fix activity center unique constraint error (#13088) 2022-02-09 19:00:32 +05:30
Roman Volosovskyi e1e709220e
[#12193] Stop showing fetch more button for cleared history 2022-02-09 09:53:36 +02:00
Roman Volosovskyi 9fb81c3894
[#12783] Improve order of mailserver requests 2022-02-02 11:21:21 +02:00
andrey c0e30b459f
[#13006] Use token list from status-go
Signed-off-by: andrey <motor4ik@gmail.com>
2022-02-01 13:23:24 +01:00
andrey 111064f747
[#13016] "No collectibles available" at attempt to get any existing collectibles
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-01-18 16:38:58 +00:00
Parvesh Monu b0fd58e9cb
fix membership requests on synced devices (#12971) 2022-01-10 17:56:30 +05:30
Roman Volosovskyi 5402c217df
[#12913] Properly handle syncing of pubchat delition/installation after offline 2021-12-24 17:03:34 +02:00
Roman Volosovskyi 36d96c6264
[#12912] Fix endless loading after removing messages in group chat 2021-12-17 12:44:08 +02:00
Andrea Maria Piana 7dfa93f2a2
Fix syncing public chats 2021-12-10 17:55:12 +00:00
Michele Balistreri a5737856c0
sync leftovers
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-12-07 17:39:42 +03:00
Roman Volosovskyi 099bcf8a17
Allow sending messages offline (non-datasync messages) 2021-12-07 12:25:26 +02:00
Parvesh Monu 11d3bf094a
Decline pending group invites from user, when user is blocked (#12878) 2021-12-06 18:34:13 +05:30
Andrea Maria Piana 32c0f9719c
[Fixes: #12869] Save contact on unblock 2021-12-06 11:46:29 +00:00
Michele Balistreri 46c023920c
sync activity center
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2021-12-02 17:27:57 +03:00
Andrea Maria Piana 153204ecb1
Add confirmation of p2p messages
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-12-01 13:00:56 +00:00
Roman Volosovskyi c7e66fb1aa
[#12818] Support tx history (in a way) when on BSC chains 2021-11-27 11:03:01 +02:00
Parvesh Monu 751b30688d
Decline pending group invitations from user, when user is banned (#12835) 2021-11-25 21:09:10 +05:30
Andrea Maria Piana fdadee6cef
update statusgo
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-11-22 11:20:56 +00:00
Parvesh Monu debf3df61c
Allow user to be reinvited to the same group after leaving (#12814) 2021-11-19 20:28:42 +05:30
Andrea Maria Piana e125164273
[Fixes: #12550] Backup contacts through waku
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-11-15 18:55:59 +00:00
Roman Volosovskyi 2c8276f353
[#11889] Allow snding messages offline 2021-11-11 16:31:20 +02:00
Roman Volosovskyi adca53f3ec
[#12531 pairing] Sync read messages 2021-11-02 12:30:21 +02:00
Parvesh Monu 1034d542db
Online Status Indicator (#12716) 2021-10-29 21:55:01 +05:30
Parvesh Monu 7d6bee9099
Identify New Chats (#12654) 2021-10-22 14:48:58 +05:30
Andrea Maria Piana 84ccbbbdf7
Send profile pictures in private chats
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-10-20 19:22:21 +01:00
andrey 7a7b365a00
[#12717] No preview for transaction messages in 1-1 chat
Signed-off-by: andrey <motor4ik@gmail.com>
2021-10-20 16:08:09 +02:00
Andrea Maria Piana 84d3b562a4
[Fixes: #12697] Allow profile pictures from contacts 2021-10-12 16:50:01 +01:00
Andrea Maria Piana f50dcf53de
[Fixes: #12680] Republish image on changing profile settings
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-10-11 15:02:21 +01:00
Brian Sztamfater 0afbe80c36
Fix profile image in push notiications
Signed-off-by: Brian Sztamfater <brian@status.im>
2021-10-07 11:29:47 -03:00