Commit Graph

7598 Commits

Author SHA1 Message Date
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
Jamie Caprani cbd920f070
chore: fix sorting of pinned messages (#14874) 2023-01-31 06:57:17 -08: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
Volodymyr Kozieiev bfb2863774
Documentation updated (#14933) 2023-01-31 12:06:29 +00:00
frank 01523f3a1d
fix: crashed after local pairing (#14931) 2023-01-31 17:23:38 +08:00
Churikova Tetiana 3692ad38dd
e2e: fixes compressed keys 2023-01-30 21:48:41 +01: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 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
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
Icaro Motta 55caf0230e
Update empty state (#14916)
Fixes #14899

Updates the empty states according to latest design in Figma.
2023-01-27 15:24:30 -03:00
flexsurfer 6002672e7c
[#14877] No ability to type the text into textbox if image is added [#14881] Input field is hidden in composer (#14911) 2023-01-27 16:40:04 +01:00
Mohamed Javid 85fc754104
[Fix] Added support for pinned message in reply notification (#14913) 2023-01-27 21:50:02 +08:00
Churikova Tetiana 6530713c3f
e2e: communities fix 2023-01-27 10:48:52 +01:00
Roman Volosovskyi 1654c32ea0
[#14173] Fix incorrect pagination of notifications 2023-01-27 08:53:07 +01:00
Jamie Caprani 2e35939979
chore: add accesibility label 2023-01-26 16:50:20 +00:00
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 48e5c5c0ec
fix home-screen half-width (#14895) 2023-01-26 17:23:11 +05:30
Omar Basem b3f9a5944d
add support for 120Hz animations (#14905)
feat: add support for 120hz animations
2023-01-26 13:28:03 +04:00
Roman Volosovskyi e94898c5ac
[#14718] Fix profile photo in several places 2023-01-26 09:49:36 +01:00
Ibrahem Khalil f41c69ff4b
[14681] Make checkbox select contacts correctly in new chat flow (#14790) 2023-01-25 21:50:00 +02:00
Volodymyr Kozieiev 7585767961
Remove test for join-existing-users-string (#14892) 2023-01-25 16:39:16 +00:00
Parvesh Monu 612c17a8db
Add blur overlay for bottom tabs and shell top nav (#14783) 2023-01-25 20:08:11 +05:30
Roman Volosovskyi 146e41c8cc
[#14669] Fix re-activation of deleted chat on old contact update 2023-01-25 13:14:53 +01:00
Volodymyr Kozieiev 3e93e353db
Refactor mock data out of community page (#14799) 2023-01-25 11:35:10 +00:00
Churikova Tetiana 4e8ebc6d85
e2e: previews + uncommented pins 2023-01-24 21:27:02 +01:00
Ibrahem Khalil 7f2623a23e
[14849] Only allow dragging inside bottom sheet when no handle is shown (#14850) 2023-01-24 20:27:57 +02:00
Parvesh Monu 080b13c304
fix some buttons are not responding after theme change (#14811) 2023-01-24 20:28:41 +05:30
Roman Volosovskyi df2dd56cfb
[#14728] Fix sender avatar in reply 2023-01-24 12:04:24 +01:00
Brian Sztamfater bd3c724c66
feat: record audio complete flow
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-01-23 14:04:06 -03:00
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
Parvesh Monu b3a03119d1
Implement unread badge for bottom tabs (#14856) 2023-01-23 20:23:41 +05:30
flexsurfer d79d2e9d36
sanitize quo2 (#14859) 2023-01-23 14:41:55 +01:00
Jamie Caprani 098821d20b
chore: get community img from real data (#14765) 2023-01-23 03:17:50 -08:00
Jamie Caprani 92a180c477
add shadows to foundations (#14839)
* chore: add shadows to foundations
2023-01-23 03:06:26 -08: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
Ibrahem Khalil dc9454defa
Fix using functions as identifiers (#14848) 2023-01-21 13:28:45 +02:00
Omar Basem 53495dc893
Images Album (2) (#14755)
* feat: images album (2)
2023-01-20 16:51:44 +04:00
Jamie Caprani 967c869486
chore: fix component tests and permission drawer preview (#14831) 2023-01-19 15:03:53 -08:00
flexsurfer f0272f2e77
move chat events (#14835) 2023-01-19 19:35:14 +01:00
Churikova Tetiana b8dfa6b645
e2e: offline messages + edit 2023-01-19 19:01:14 +01:00
Omar Basem 6c14fd1cb9
Scroll page animations (#14695)
* feat: scroll page animations
2023-01-19 16:46:05 +04: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
Parvesh Monu b370514ef3
Improve community avatar for shell card (#14813) 2023-01-19 00:12:49 +05:30