Commit Graph

4415 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
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
flexsurfer da0f0d3a81
move messages main screen to status-im2 (#14491)
* move messages main screen to status-im2
2022-12-05 14:22:06 +01:00
frank f7af7ca25d
Allow owner/admin to delete messages of a community (#14366) 2022-12-02 20:13:02 +08:00
Parvesh Monu d4897de205
partially implement shell jump-to navigation (#14410) 2022-11-30 21:46:01 +05:30
Mohamed Javid f55b646c20
[Chore] Use common for repeated code (#14454)
* [Chore] Use common for repeated code

* [Chore] Removed empty file
2022-11-29 22:47:35 +08:00
Mohamed Javid bc7578ae85
[Feature] Added Mentions in Activity Center (#14451)
* [Feature][#14352] Added mentions in Activity Center

* [Update][#14352] Update in namespace

* [Update][#14352] Code Style

* [Update][#14352] Created commons for AC and fix warning on text
2022-11-29 21:55:33 +08:00
Omar Basem 49e9738ff8
Group Details Screen (2) (#14427)
* feat: group details screen (2)
2022-11-29 10:41:19 +04:00
Brian Sztamfater 9e1412007f
fix: edit message
Signed-off-by: Brian Sztamfater <brian@status.im>
2022-11-28 10:21:50 -03:00
Jamie Caprani 0e614d51ef
feat: add scrolling in community (#14281) 2022-11-28 02:24:31 -08:00
Icaro Motta 42de2a6384
Mark notifications as read based on call to action (#14439) 2022-11-25 16:10:29 -03:00
Ibrahem Khalil 3d71fdba98
[14429] Fix mentions (#14442) 2022-11-25 15:04:15 +02:00
Parvesh Monu 9e7db45d08
fix everyone is displaying as online in community channel and chat list (#14431)
also fixes issue with visibility status popover not opening
2022-11-24 19:45:27 +05:30
Omar Basem 14c243803f
Photo Selector (1) (#14426)
* feat: photo-selector (1)
2022-11-24 15:29:54 +04:00
flexsurfer 3152cf0aa3
adjust navigation colors and small bugfixes (#14403)
* adjust navigation colors and small bugfixes
2022-11-23 17:30:11 +01:00
Jamie Caprani c6e8aad745
feat: add component tests using react-testing-library and jest (#14331) 2022-11-23 05:59:18 -08:00