Commit Graph
7711 Commits
Author SHA1 Message Date
Omar Basem 4dfd3af7f5 Album Reactions (#15208)
* feat: album actions
2023-03-02 20:11:17 +04:00
Icaro Motta 11b6702939 Fix (#15232) 2023-03-02 11:02:01 -03:00
Jamie Caprani 39c39915a7 chore: separate resources for old and new ui (#15108) 2023-03-02 14:25:01 +01:00
Ibrahem Khalil 01c058fecc [15127] Make reply and pinned banner react on edit (#15189) 2023-03-02 15:03:30 +02:00
Roman Volosovskyi 8f75874868 [#15042] Fix inconsistent contact request state on syncing 2023-03-02 12:45:37 +01:00
Icaro Motta 041622d98b Make popover delay configurable (#15225)
Make the popover delay in milliseconds configurable.

To open the Activity Center, 30ms delay seems to be more than enough. It's a quick fix because the current 250ms to open the AC gives the wrong impression to users (and confuses even us developers) who think the AC has a performance issue to open.

See issue https://github.com/status-im/status-mobile/pull/15222 for the full discussion.
2023-03-02 08:41:18 -03:00
yqrashawn 4190dfd26b feat: support community that all members allowed to pin (#15197) 2023-03-02 18:43:21 +08:00
flexsurferandChurikova Tetiana f731f75fca move profile tab (#15224)
* move profile tab

* e2e: new profile tab

* e2e: fix leftovers

* e2e: last

---------

Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-02 10:55:45 +01:00
Parvesh Monu 78682b823b fix root id of :init-root-fx (#15228) 2023-03-02 12:10:41 +05:30
Ulises Manuel Cárdenas 7d9709ee67 Improve chat Avatar (#15036) 2023-03-01 14:54:40 -06:00
Ajay Sivan aec1b5fafa quo2 strength divider component (#15177) 2023-03-01 15:47:02 +00:00
Jamie Caprani 5c67216b31 feat: add bottom sheet to see community rules (#15130) 2023-03-01 06:09:46 -08:00
Siddarth Kumar 0c9a195ca9 Improve QR code Handler mobile side PR (#15168)
* point to the relevant branch on status-go

https://github.com/status-im/status-go/compare/a9bfed21...6839f458

* update commit-sha1

* bump version to latest status-go
2023-03-01 18:15:49 +05:30
Churikova Tetiana 06192e7a24 e2e: outgoing CR + new UI 2023-03-01 12:36:49 +01:00
Omar Basem 4a6e42c6f9 fix: activity center closing animation (#15222)
fix: activity center closing animation
2023-03-01 15:12:16 +04:00
yqrashawn 2ce4a820d7 fix: deleted-by user name style (#15218) 2023-03-01 15:03:27 +08:00
jakub b72f0d4702 nix: fix Gradle nodeps JAR symlink filename
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-28 17:57:39 +01:00
frank b75e1304d8 added param deviceType (#15136) 2023-02-28 21:43:10 +08:00
Yevheniia Berdnyk c2782a26f7 paste from clipboard fix 2023-02-28 15:07:06 +02:00
flexsurfer fa03e91080 Sanitize quo2 namespace (#15207) 2023-02-28 13:59:09 +01:00
Omar Basem f9dda56310 fix: image dimensions on Android (#15211) 2023-02-28 16:20:00 +04:00
jakub 51276237f2 nix: include nodeps JARs in Gradle deps (#15212)
* nix: update gradle dependencies

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* nix: include nodeps JARs in Gradle deps

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* nix: include nodeps JAR for semver4j 0.16.4

Can cause failures like in some cases:
```
A problem occurred configuring project ':react-native-hole-view'.
> Could not resolve all files for configuration ':react-native-hole-view:classpath'.
   > Could not find semver4j-0.16.4-nodeps.jar (com.github.gundy:semver4j:0.16.4).
     Searched in the following locations:
         file:/nix/store/3n2pxsqa2izlx8c23s6jgqai0bqaklm1-status-mobile-maven-deps/com/github/gundy/semver4j/0.16.4/semver4j-0.16.4-nodeps.jar
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>

---------

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-28 17:13:44 +05:30
flexsurfer c667d05929 bump status-go v0.133.2 (#15200) 2023-02-27 17:44:36 +01:00
Churikova Tetiana e1bcc8fec4 e2e: fix pinned messages 2023-02-27 16:39:39 +01:00
Jamie Caprani f84c2ec9f5 chore: add old edit option to communities options (#15131) 2023-02-27 05:49:37 -08:00
flexsurfer 80f063d0dd [#15056] Can't see display/ens/name when mentioning in community (#15085) 2023-02-27 12:51:53 +01:00
Parvesh Monu 69c3a72357 Navigation code cleanup (#15196) 2023-02-27 15:40:11 +05:30
yqrashawn c28b34ac08 fix: toast style on android (#15194) 2023-02-27 17:25:21 +08:00
yqrashawn b192e9efd4 fix: no delete-by ui for delete for me message (#15171)
issue 1 in https://github.com/status-im/status-mobile/issues/15115
2023-02-27 11:14:42 +08:00
jakub 6c7054b5b4 ios: fix lowercased variable name in Xcode config
In some cases might result in failures due to empty shebang:
```
Command PhaseScriptExecution failed with a nonzero exit code
```
Because the script file looks like this:
```
\#!
set -o errexit
export NODE_BINARY="node"
export NODE_ARGS=" --openssl-legacy-provider --max-old-space-size=16384 "

bash -x ../node_modules/react-native/scripts/react-native-xcode.sh > ./react-native-xcode.log 2>&1
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-25 11:59:20 +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
Churikova Tetiana 432f7bcd8c e2e: 1-1 chat, communities 2023-02-24 20:05:30 +01:00
jakub 26d618e305 ios: use sh in shellPath instead of absolute path
Otherwise Xcode uses system Node.js version which is different from Nix
version and can result in weird failures like:
```
admin@macm1-01.he-eu-fsn1.ci.devel:~/status-mobile % node --version
v16.19.0

admin@macm1-01.he-eu-fsn1.ci.devel:~/status-mobile % node --openssl-legacy-provider
node: bad option: --openssl-legacy-provider

admin@macm1-01.he-eu-fsn1.ci.devel:~/status-mobile % make shell
Configuring Nix shell for target 'default'...

[nix-shell:~/status-mobile]$ node --version
v16.17.1

[nix-shell:~/status-mobile]$ node --openssl-legacy-provider
Welcome to Node.js v16.17.1.
Type ".help" for more information.
>
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-24 13:30:28 +01:00
John Ngei fac2f952d0 Fix: scroll-page component sticky header height 2023-02-23 18:31:21 +03:00
yqrashawn e830f633d8 fix: toast style (#15170) 2023-02-23 20:18:44 +08:00
Michele Balistreri 6a58f9552d update keycard native module
Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2023-02-23 11:11:20 +01:00
Omar Basem 00db44ab0d Zoomable Image (#15078)
* feat: zoomable image
2023-02-23 07:46:42 +04:00
Ajay Sivan 6ffed4ad47 quo2 profile-select component
Signed-off-by: Parvesh Monu <parvesh.dhullmonu@gmail.com>
2023-02-23 01:41:56 +05:30
jakub e2169cbbd4 ios: use --openssl-legacy-provider with iOS builds
Fixes issue with following failure:
```
Failed to construct transformer:  Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:130:10)
    at stableHash (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro-cache/src/stableHash.js:19:8)
    at JsTransformer.getCacheKey (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/JSTransformer/worker.js:471:7)
    at getTransformCacheKey (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/DeltaBundler/Transformer/getTransformCacheKey.js:39:29)
    at new Transformer (/Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/DeltaBundler/Transformer.js:147:28)
    at /Users/jenkins/workspace/status-mobile/platforms/ios/node_modules/metro/src/Bundler.js:54:29
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
```
https://roytuts.com/how-to-fix-err_ossl_evp_unsupported-in-react-js-application/

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-22 18:48:03 +01:00
Ajay Sivan c8fd7121d3 quo2 password-tips component (#15157) 2023-02-22 14:50:56 +01:00
frank 0c96661583 use random tcp port for listen address for node (#15143) 2023-02-22 21:38:27 +08:00
Ajay Sivan d6c09d289c quo2 color-picker component (#15105) 2023-02-22 12:05:40 +01:00
jakub d5cc24fecf ci: add Xcode cleanup Jenkinsfile
Too often Xcode derived data and archives are clogging up hosts.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-22 09:21:59 +01:00
Ajay Sivan 20e16e2f42 fix: Community display image & cover image rendering fixes (#15047) 2023-02-22 07:11:15 +01:00
yqrashawn 3fc4c36ac6 fix: toast style (#15144) 2023-02-22 09:55:21 +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

https://github.com/status-im/status-go/compare/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
Alexander 888bf12856 Paste button (#15002)
* Paste button

* Lint fix

* str -> string

* Removing of redundant stuff

* Style fixes

* Style fixes

* Style fixes (android)

* Style fixes (android)

* The last style fix

* Styles

* Lint fix
2023-02-21 13:42:22 +01:00
Andrea Maria Piana c4aef97a6d [Fixes: #15093] Add support for mention @everyone
This commit adds support for displaying @everyone mention.
2023-02-21 12:19:02 +00:00
yqrashawn 46896ff7f4 ci: add component test (#15071) 2023-02-21 13:42:33 +08:00
Mohamed Javid 8ed64f810f Introduce marking all notifications as read in Activity Center (#14952)
* [Feature][#14902][#14917] Added marking all notifications as read

* [Fix] Lint Fix
2023-02-20 23:54:17 +05:30