4765 Commits

Author SHA1 Message Date
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
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