Commit Graph

5164 Commits

Author SHA1 Message Date
Churikova Tetiana 7ef466078a
e2e: image test 2023-05-15 19:08:03 +02:00
Jamie Caprani 4b2d62ee1f
chore: update ui for syncing page for onboarding and in profile (#15623) 2023-05-15 10:07:13 -07:00
flexsurfer 05073e7453
fix onboarding transition background color (#15900) 2023-05-15 16:28:08 +02:00
Brian Sztamfater 3038ceeb82
fix: audio issue when sending app to background on Android and other fixes
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-05-15 09:19:06 -03:00
frank d2e38772b9
use debounce-and-dispatch to improve mention performance (#15887)
* use debounce-and-dispatch to improve mention performance

* increase time to 400ms

* decrease time to 300ms

* update status-go-version.json

* update status-go-version.json
2023-05-15 15:51:29 +08:00
erikseppanen 4b98f0e8de
Add 'How to scan' syncing screens (#15710) 2023-05-11 20:58:57 -04:00
Omar Basem 264b7ffab9
Fix mentions animation when disappearing (#15879)
* fix: suggestions list animation
2023-05-11 22:33:25 +04:00
Alexander c71224e73e
Double-tap for communities & fix for 'Recent' tab not being shown as selected if message icon is double tapped (#15844)
* Updates

* Small namespace fix
2023-05-11 18:17:50 +02:00
Parvesh Monu 3c278ed06c
fix window height sub leak (#15878) 2023-05-11 19:57:37 +05:30
Jamie Caprani d714dc1590
chore: restore label on im new to status page (#15876) 2023-05-11 07:09:03 -07:00
Ajay Sivan d2840885dd
fix: app locked screen accent color (#15854) 2023-05-11 05:31:41 -07:00
Omar Basem 87247af86b
Composer polishing (#15875)
* composer polishing
2023-05-11 15:35:42 +04:00
Mohamed Javid 159ad02e7a
[Fix] Tapable area of user avatar in chat (#15840) 2023-05-11 14:33:35 +05:30
Alexander ce322c9537
Remove identicons, replace them with initials of a user (#15815)
* Remove identicon, replace it with initials of a user

* Lint fix
2023-05-11 10:05:20 +02:00
Omar Basem 13a1ee7479
Fix composer max height on some Android devices (#15871)
* fix: android keyboard height
2023-05-11 11:41:53 +04:00
yqrashawn c1f24fb1bb
feat: doc info boxes while onboarding (#15697) 2023-05-11 10:00:36 +08:00
Parvesh Monu 4afe251086
Show correct error message while unlocking app (#15845) 2023-05-11 02:29:52 +05:30
Omar Basem 638ec98db5
fix: maximized composer incorrect bottom padding (#15865)
* fix: maximized composer incorrect bottom padding
2023-05-10 17:36:44 +04:00
Omar Basem 7e1af5b80d
Composer polishing (#15857)
* refactor: composer
2023-05-10 12:17:24 +04:00
Ulises Manuel Cárdenas ee4bcf9116
Recovery phrase onboarding (#15831)
* Add missing tests for recovery phrase input
2023-05-09 21:55:09 -06:00
Alexander 929ec6a453
'Unpin' option in 1-1 chat for deleted message (#15833) 2023-05-09 19:27:10 +02:00
Omar Basem 341497e98d
feat: new composer complete 🎉 (#15818)
* feat: new composer
2023-05-09 21:03:19 +04:00
frank c275205bed
Adapt to status-go backend changes for ConvertToKeycardAccount (#15846) 2023-05-09 20:51:08 +08:00
Parvesh Monu ebb110e6e3
fix Home-stack overlaps bottom tabs in Xiaomi devices on first run (#15821) 2023-05-09 16:03:13 +05:30
Ibrahem Khalil ab973076eb
[15612] Only allow showing universal links after clicking start using status (#15786) 2023-05-09 10:49:25 +03:00
Volodymyr Kozieiev c78bdda717
Last message preview improvings (#15613) 2023-05-08 18:37:26 +01:00
Omar Basem 6c5350573d
refactor: remove images placeholder text (#15830)
* refactor: remove placeholder images text
2023-05-08 15:03:51 +04:00
Omar Basem 521765e312
fix: new-chat-insets (#15829) 2023-05-08 12:20:35 +04:00
Ajay Sivan 5f362f333f
quo2 predictive keyboard component (#15806) 2023-05-05 20:41:57 +05:30
Ajay Sivan 6aae68ba04
fix: incorrect font-size in user-avatar(size: medium) (#15801) 2023-05-04 21:41:46 +05:30
Brian Sztamfater e5913cc3ea
feat: audio component
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-05-04 10:48:05 -03:00
Ajay Sivan 0226a92c07
quo2 documentation drawer component (#15674) 2023-05-04 19:15:13 +05:30
Omar Basem 7e54aa0b0d
New mentions design (#15799)
* feat: mentions new design
2023-05-04 13:12:42 +04:00
Alexander 4774b0f5e5
Fix for mention text overlaying message text when mention is added during message editing (Android) (#15778) 2023-05-03 18:26:37 +02:00
Siddarth Kumar 6aa38de7c7
set checked for communities disclaimer explicitly (#15804) 2023-05-03 21:24:19 +05:30
Omar Basem a973976123
New composer - add audio comp (#15790)
* feat: composer - add audio comp
2023-05-03 09:54:23 +04:00
Ajay Sivan 03aac0e4ce
fix: quo2 title-input component selection style fix for android (#15717) 2023-05-02 17:01:09 +05:30
Siddarth Kumar fac368521b
(fix) modify disclaimer component for on tap UX (#15757) 2023-05-02 15:55:49 +05:30
Omar Basem 08e6b8164e
feat: composer - edit message (#15772)
* feat: new composer - edit message
2023-05-01 20:39:07 +04:00
Parvesh Monu 9a8354f783
Improve dissmiss all overlays (#15773) 2023-04-28 20:52:34 +05:30
flexsurfer e0ed2a250b
clean old code, remove public chat, implement drawers for home screens (#15766) 2023-04-28 13:42:38 +02:00
frank ee71117111
remove unused code relate to old text-input component (#15765)
* remove unused code relate to old text-input component

* removed tow lines
2023-04-28 09:37:13 +08:00
Omar Basem 3e9d5dde54
Reimplement composer: add reply (#15736)
* feat: add composer reply
2023-04-27 20:20:00 +04:00
Siddarth Kumar 2eed30be8f
(chore) : Improve QR code quo2 component (#15755)
This PR adds the ability to :

- Generate a QR by passing any url.
- See different error correction levels.
- Shows the media server url for that specific QR code.
- Moved media server URI generation logic to `image_server.cljs`
2023-04-27 19:25:49 +05:30
Parvesh Monu 8e49a06dbe
fix UI freeze issue (#15761) 2023-04-27 17:26:33 +05:30
Roman Volosovskyi fb326bbf4e
[#15741] Fix error on tapping pinned message 2023-04-27 10:23:16 +02:00
Jamie Caprani 52c6687608
feat: add identifiers screen to onboarding-flow (#15684) 2023-04-26 21:26:32 -07:00
frank cfefef6b75
fix [#15616] Sometimes mentions list does not appear after typing @ in chat input filed (#15622) 2023-04-27 11:37:01 +08:00
flexsurfer e6ba40ac17
fix quo hotreload (#15760) 2023-04-26 18:14:58 +02:00
flexsurfer efbf93f6e2
move status native module (#15749) 2023-04-26 18:14:14 +02:00
Mohamed Javid 6eb2029c51
Show "Kicked from community" notification in Activity Center (#15734)
* [Feature] Implement Community Kicked notification

* Status Go Update
2023-04-26 19:56:33 +05:30
Parvesh Monu 55bab9454a
fix status bar font color (#15744) 2023-04-26 19:35:51 +05:30
flexsurfer 0ca6ee3934
Request to join community screen is not scrollable on Android #15748 (#15750)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-04-26 13:33:00 +02:00
Parvesh Monu 0649c66dde
fix device theme change listener in ios (#15724) 2023-04-26 16:41:11 +05:30
Roman Volosovskyi 1b0374a156
[#15655] Resolve messages with markdown on Jump To screen 2023-04-26 11:55:45 +02:00
yqrashawn f9eae4ef82
fix: always albumize outgoing image messages (#15735) 2023-04-26 14:26:37 +08:00
Icaro Motta 68f360bbf6
New component: Link Preview (#15732)
Fixes https://github.com/status-im/status-mobile/issues/15731

Figma > Design System > Links:
https://www.figma.com/file/WQZcp6S0EnzxdTL4taoKDv/Design-System-for-Mobile?node-id=5626-159413&t=ghr8u97I2GNX8YZY-0
2023-04-25 13:48:25 -03:00
Icaro Motta 30f0b436e9
Various fixes for Contact Request flows (2nd attempt) (#15685)
- Make sure status-mobile works well with the upcoming status-go changes in PR
  https://github.com/status-im/status-go/pull/3379.
- Replace calls to `wakuext_addContact` with `wakuext_sendContactRequest`. This
  is what's been aligned with the desktop team, as we will go on to remove
  `wakuext_addContact` in the near future.

Fixes https://github.com/status-im/status-mobile/issues/15679
2023-04-25 13:32:08 -03:00
Rahul Pratap 80bab6d338
Fixed styling issues for mention in the chat text (#15723)
Co-authored-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2023-04-25 16:17:16 +01:00
Andrea Maria Piana 2438af4e00
Fix pinned messages & replies
e8ceed11...213dc463

Both replies and pinned messages relied on subscribing their data from messages.

This worked only as long as we loaded the message in the database, so it would break say if another user replied to a message that wasn't in the current user view.

It also changes the way pinned messages are handled, before the notification was actually sent over the wire, but that's unnecessary, since it can be generated locally on both parts.
This is a bit of a breaking change with the previous version, since if you pin a message with this version, older version will not see a system message. this can be easily fixed by restoring the previous behavior of sending the message, but not sure it's worth it.

It also adds the ability to Delete message for everyone that have Deleted for me (discussed with John) and the ability of unpin messages that have been deleted for me.
2023-04-25 16:03:57 +01:00
flexsurfer cd69d0423a
fix (fn[]) usage in hiccup (#15713) 2023-04-25 15:13:14 +02:00
Omar Basem 2fe4956f4d
Gesture section list (#15727)
* feat: gesture section list
2023-04-25 15:20:52 +04:00
Icaro Motta 1e4a49fafe
Integrate support for SVG icons and fix clear icon (#15691)
This commit solves the problem described in detail in issue #15606, but in
essence, it fixes the clear icon by integrating rudimentary support for SVG
icons.

Fixes https://github.com/status-im/status-mobile/issues/15606

- Hopefully, if SVG icons prove to be a solid solution, we can easily and
  progressively migrate PNG icons to SVGs, but for the moment, it was aligned
  with @flexsurfer
  https://github.com/status-im/status-mobile/issues/15606#issuecomment-1514631270
  that we'll only use SVG icons on demand.
- Note that it's possible to import SVGs directly via js/require by installing
  the library react-native-svg-transformer, but this approach is only good when
  we don't want/need color customization, which is rarely the case with icons
  where we want to change the foreground and/or background colors. I opted for
  rendering the SVG icon as hiccup to support color customization.
- Since icons are fully memoized, the app's performance is on the same ballpark
  as PNGs rendered with RN Image.
- It's possible to trim down SVGs by using a tool such as
  https://github.com/svg/svgo, but this is obviously outside the scope of this
  PR.
2023-04-24 14:28:19 -03:00
Omar Basem faa29a2946
feat: reimplement composer (#15639)
* feat: reimplement composer (1)
2023-04-24 17:40:15 +04:00
Alexander 5bf58bbaf8
Pinned messages UI issues (#15687)
* Pinned messages UI issues

* Fix

* Fixes
2023-04-24 15:31:07 +02:00
Ulises M e676b3dab4
Create recovery-phrase input 2023-04-24 12:44:52 +01:00
Ulises M d80021b6a3
Fix password disclaimer
add the erased blur property
2023-04-24 12:38:51 +01:00
Siddarth Kumar 8f3fbc22d4
move image-server out of status-im namespace (#15712) 2023-04-24 14:20:45 +05:30
Ibrahem Khalil 9ddea4805a
Allow unpinning of deleted-for-you messages (#15572) 2023-04-23 19:13:37 +02:00
yqrashawn 4d029f06e8
feat: step component (#15711) 2023-04-21 20:53:58 +08:00
Roman Volosovskyi 3bad3324ae
[#15210] Show user avatar in contact request toast 2023-04-21 11:48:01 +02:00
Mohamed Javid bfb074eca3
Community request to join changes (#15627)
Resolves  #15322 #15082 #15694
2023-04-21 15:06:58 +05:30
Brian Sztamfater b87b3083a3
Add accessibility-id for buttons 'Enable Biometrics' page
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-04-20 17:14:22 -03:00
John Ngei 9e5c7cdea5
fix: remove contact from mutual contact list after contact is blocked
* fix: remove contact from mutual contact list after contact is blocked

* remove our contact from remote user contact list when contact is blocked

719af90f...9dea0aae
2023-04-20 20:46:48 +03:00
Jamie Caprani fa21c22fab
chore: add generate code to new sync ui (#15584) 2023-04-20 05:34:30 -07:00
Mohamed Javid 7c54537cb3
[Fix] iOS crash on onboarding without biometrics (#15688) 2023-04-20 17:00:06 +05:30
Ibrahem Khalil 14653f387b
[15569] Select recent tab on messages home when double tapping messages icon (#15604) 2023-04-20 11:14:32 +02:00
Parvesh Monu 7f00f96b0c
Change view-id as per the selected bottom tab and refactor subscriptions (#15636) 2023-04-19 19:09:37 +05:30
Alexander 3ca120ca94
Fix for multiple header spacings on onboarding screens (#15640)
* Fix for onboarding header spacing

* Style fixes; fix for enable-biometrics

* Style fixes

* Style fixes

* Update for functional components
2023-04-19 14:18:36 +02:00
flexsurfer 05b8dd563e
fix subs bug (#15680) 2023-04-18 19:30:39 +02:00
erikseppanen 5d0b739cc0
Update contact screen to new design (#15526) 2023-04-18 13:28:12 -04:00
Alexander a0f2481406
Measuring the proper sizes of images in chat (#15675)
* Measuring the proper sizes of images

* Style fix
2023-04-18 16:56:47 +02:00
Parvesh Monu 4fefa629fc
Use static background screen for onboarding screens with dark overlay (#15666) 2023-04-18 16:25:33 +05:30
Parvesh Monu 41e2fffb87
fix app theme changes with PN enabled and the app closed (#15670) 2023-04-18 16:01:52 +05:30
Ulises Manuel Cárdenas 7c101716d7
Create search-input component (#15664) 2023-04-17 18:27:03 -06:00
Alexander 53cea00c67
Fix for "Pending requests" label not being shown in light mode (#15667)
* Fix for "Pending requests" label not being shown in light mode

* Smallish font weight update

* Color update
2023-04-17 20:40:48 +02:00
Parvesh Monu 512af400d7
fix status-bar font color (#15596) 2023-04-17 19:24:38 +05:30
R Adithya Kumar 45b501816a
[#15518]Show disclaimer during password creation (#15650) 2023-04-17 13:49:32 +02:00
yqrashawn 9b756544fd
feat: add in-app notification, refactor toast (#15642) 2023-04-17 14:01:25 +08:00
Ibrahem Khalil 8af7011eb4
[15128] Introduce muting for a specific duration (#15253) 2023-04-16 17:31:39 +02:00
Parvesh Monu f6d74df80b
fix pressing jump-to in the community screen is navigating to home screen instead of shell (#15647) 2023-04-14 13:20:06 +05:30
Ulises Manuel Cárdenas 6c1929096c
Add blur variants for context-tag (#15621)
- Split context-tags into context-tag.view & context-tag.style namespaces
- Fix context-tags preview screen & add blur option
2023-04-13 12:07:05 -06:00
Icaro Motta d902fb10d1
New component - URL Preview List (#15620)
Implements the URL Preview List component.

Fixes https://github.com/status-im/status-mobile/issues/15617

Notes
=====

The quo component view implements the pattern recently described by @ulisesmac.
See his great explanation here:
https://github.com/status-im/status-mobile/issues/15552#issuecomment-1492590074.

Steps to test: Go to `Quo2.0 Preview` > `links` > `url-preview-list`
2023-04-13 10:52:27 -03:00
Ulises Manuel Cárdenas 73df442f40
Selector component improvements (#15541)
* Add missing color variants for selectors
* Rename test ns and replace rtl fns by helper ones
* Add missing disclaimer blur style in onboarding - create password
2023-04-12 12:28:33 -06:00
Siddarth Kumar 3bd4038089
Upgrade `react-native` from 0.63.3 to 0.67.5 (#15486)
* [IOS Only] react-native 0.63 to 0.67

* [Android Only] react-native 0.63 to 0.67

* bring back all the jenkinsfiles

* make auto-complete prop for text-input compatible

* [IOS Only] react-native 0.63 to 0.67

* [Android Only] react-native 0.63 to 0.67

* bring back all the jenkinsfiles

* nix: drop unnecessary set -x from status-go build

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

* add explicity implementation line for soloader

And add deleteDebugFilesForVariant fix for libhermes.

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

* use fast-image for link previews

* fix extra line in message composer on android

This elevation prop is un-necessary and causes an extra line to appear which looks like a border but its actually a shadow.

* don't use `fast-image` for url preview favicon

* fix audio record button interfering cancel android

This fix was not needed in react-native 0.63.4 but is needed after we upgraded to 0.67.5

* get rid of unused platform import

---------
Co-authored-by: Jakub Sokołowski <jakub@status.im>
2023-04-12 15:25:19 +05:30
Ibrahem Khalil 88b9aa14e8
[15504, 15408] Nickname flow (#15557) 2023-04-12 11:37:50 +02:00
Roman Volosovskyi d4bef47804
[#15545] Show proper user name in pinned message 2023-04-11 17:20:15 +02:00
Alexander fe4f4463c8
Fix design inconsistencies on onboarding notifications screen (#15523)
* Fix design inconsistencies on onboarding notifications screen

* Fixes

* Title as a separate component

* Lint-fix

* Post-review fixes

* File rollback

* File rollback

* Fixes

* Fixes
2023-04-11 16:44:38 +02:00
Jamie Caprani cddf127674
feat: add qr and share qr components to quo2 (#15583)
feat: add qr and share qr components to quo2
2023-04-11 02:35:51 -07:00
Icaro Motta bfc7a2d88b
Implement new URL Preview component (#15607)
Fix https://github.com/status-im/status-mobile/issues/15592

Notes:

- The red border around the icon has been reported in issue
  https://github.com/status-im/status-mobile/issues/15606
- The loading state doesn't have a spinning icon on purpose. This will be done
  separately.
2023-04-10 22:02:39 -03:00
Ulises Manuel Cárdenas ccb20d7994
[#15578] fix code snippet 2023-04-10 12:24:22 -06:00
yqrashawn a261628b83
feat: support ens profile name in lock screen (#15554) 2023-04-10 12:23:40 +08:00
John Ngei e1bbf4bc75
redirect user to communities home after finishing onboarding 2023-04-08 02:45:55 +03:00
Ibrahem Khalil bb20c5848f
[15383] Add the album count attribute to message body (#15487) 2023-04-07 17:49:56 +02:00
frank 9da9427488
Move mentions logic to status-go (#15428) 2023-04-07 17:01:13 +08:00
Mohamed Javid c3ed15f30d
[Improvements] Syncing completed events check (#15574) 2023-04-06 22:29:14 +05:30
Mohamed Javid 0656ad8cb2
[Fix] QR Viewfinder overlap with segmented tabs in Sign in (#15568) 2023-04-06 17:15:54 +05:30
Siddarth Kumar 4123fde91b
fix chat layout breaking when combining normal text with code blocks (#15585) 2023-04-05 21:11:45 +05:30
Omar Basem e55a9326d6
fix: image desktop (#15562)
* fix: image desktop not opening
2023-04-03 18:31:29 +04:00
Parvesh Monu 6bdadd9f0d
fix create profile issues (#15561) 2023-04-03 19:49:25 +05:30
Brian Sztamfater 79cd7f7df5
fix: add min 5 characters validation for display names
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-04-03 10:40:50 -03:00
Ibrahem Khalil 7ed4bc5a5c
Add accessibility id for community unread indicators (#15485) 2023-04-02 20:16:51 +02:00
flexsurfer 103e154076
improve navigation and bottom sheet (#15467)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-31 16:13:27 +02:00
John Ngei abe4dc7ac1
Update communities discover screen
* Fix: discover communities missing data

* made community tags scrollable
2023-03-31 13:25:56 +03:00
Jamie Caprani 2ab491f12b
chore: update to new ui on intro screen of syncing (#15450) 2023-03-31 02:49:36 -07:00
Parvesh Monu 21d409ce36
fix display name issues 2023-03-30 19:45:11 +05:30
Andrea Maria Piana f744d761c0
Set log directory correctly
bb6139ae...b38b3817
2023-03-30 13:54:29 +01:00
Jamie Caprani 7ad5e2181d
chore: clean up ui for onboarding screens (#15470) 2023-03-30 04:05:42 -07:00
Andrea Maria Piana a10425e318
Save biometrics 2023-03-30 09:17:23 +01:00
frank 9c0ab739ea
add simple validation for password, fix #15478 (#15503) 2023-03-30 08:01:22 +08:00
Omar Basem 0503f5cfc9
Image index fix (#15525)
* image index fix
2023-03-29 22:12:38 +04:00
yqrashawn a441156ff9
fix: crash on wallet view (#15502) 2023-03-29 19:50:29 +08:00
Alexander 006b11d508
Scrollable list of pinned messages (#15506)
* Scrollable list of pinned messages

* e2e: fix accessibility id

---------

Co-authored-by: pavloburykh <pavlo@status.im>
2023-03-28 20:23:30 +02:00
Parvesh Monu 8f0a990e71
fix user is not navigated to Sign in by syncing page (#15520) 2023-03-28 21:53:55 +05:30
Parvesh Monu f0ca6372cd
Implement onboarding slide animation (#15489) 2023-03-28 20:57:54 +05:30
Roman Volosovskyi de86586208
[#15475] (issue 1) Prevent restoring of an existing multiacc 2023-03-28 12:43:48 +02:00
yqrashawn ac2d10bc5d
fix: disable edit image message until it's implemented (#15496) 2023-03-28 17:04:01 +08:00
Ibrahem Khalil e825f930fa
Add accessibility label for community options button (#15484) 2023-03-28 07:50:07 +02:00
Alexander e4db23b0a9
Center input value within the field (#15472) 2023-03-27 23:00:33 +02:00
Ulises Manuel Cárdenas 94ddbbcd2e
Add checked? property, dark blur variant & tests to disclaimer component
Co-authored-by: Jamie Caprani <jamiecaprani@gmail.com>
2023-03-27 14:06:09 -06:00
Parvesh Monu ac27314547
fix login/forget password button overlaps password input (#15488) 2023-03-27 22:08:05 +05:30
Icaro Motta 7a4b12acf4
Make component test helpers usable from the REPL (#15468)
This commit makes the test-helpers.component namespace loadable in the REPL,
plus other changes that allow for a reasonably enjoyable RDD (REPL-Driven
Development) workflow.

Why? I want to be able to get instant feedback when I render a component with
the RN Testing Library (RNTL), and only once I'm satisfied with my findings is
when I proceed to write/update the tests. This nearly instant feedback loop is
only feasible using the ClojureScript REPL, and I'd rather not endure long
recompilation cycles.

Note that by REPL I mean connecting to the CLJS REPL of the Shadow-CLJS :mobile
target.

Essentially, this is what this commit does:

- [x] Allow the test-helpers.component namespace to be evaluated in the REPL.
      This is now possible because I changed all functions that assumed js/jest
      existed with a guard clause using the CLJS macro exists?. Without the
      guard clauses, evaluating the namespace explodes due to stuff like
      js/jest.useFakeTimers that fail in compile time (it's a syntax sugar
      macro).
- [x] Change the family of functions to get the translation by text to either
      translate using i18n/label or translate with the dummy prefix tx:,
      depending if the code is running inside the Jest runtime or not.
- [x] Wrap remaining RNTL query functions, except for the find-* ones, since
      they don't work at all outside the Jest runtime.
- [x] All wrapped functions support the original arguments supported by RNTL.
      Arguments are always converted with clj->js.
- [x] All wrapped functions can optionally take a node (ReactTestInstance) as
      their first argument, otherwise the global screen object will be used.
      This is very important! See the explanation on section Doesn't RNTL
      recommend using the screen object?
- [x] Update Shadow-CLJS preloads, so that (in development) you can fire off the
      REPL and always be ready to call component test helpers. This is critical!

What else would be possible? Just an idea, but now that we can easily render
components using the same machinery provided by RNTL in the tests, we can
roughly implement Storybook's Play function
https://storybook.js.org/docs/react/writing-stories/play-function

Lesson learned: In the REPL, you may need to call
(re-frame.core/clear-subscription-cache!), otherwise you will experience
subscriptions returning the same value if their arguments are the same. For
example, I faced this while playing with the namespace
status-im2.contexts.communities.menus.community-options.component-spec. There
are better ways to solve this particular problem in the context of tests if we
use the tooling provided by day8.re-frame.test.

Doesn't RNTL recommend using the screen object? Indeed, it is recommended to use
the screen object instead of destructuring the results of RNTL render. It's just
easier and less error prone, but this only works reliably within the Jest
runtime, since it automatically cleans up rendered state after each test. When
using the REPL this is no longer the case, and I faced some errors, like Unable
to find node on an unmounted component, where RNTL would refuse to re-render
components, even if I explicitly unmounted them or called cleanup.

The only reliable solution I found was to store the result of render (a node)
and pass it to every subsequent call. This is not a workaround, it's officially
supported, but it's a tad less convenient. You can also not pass the node
reference and it should work most of the time.

Practical examples

Workflow suggestion: write your local experiments in the same namespace as the
component spec and within the comment macro. This way, you can have the Jest
watcher running and a REPL connected to :mobile, and they won't step on each
other. For the test watcher, I usually change quo2-core-spec or
status-im2.core-spec to only require what I'm interested, otherwise Jest
consumes way too many resources.

```clojure
;; Namespace quo2.components.colors.color-picker.component-spec
(h/test "color picker color changed"
  (let [selected (reagent/atom nil)]
    (h/render [color-picker/view {:on-change #(reset! selected %)}])
    (h/fire-event :press (get (h/get-all-by-label-text :color-picker-item) 0))
    (-> (h/expect @selected)
        (.toStrictEqual :blue))))

(comment
  (def selected (atom nil))
  (def c (h/render [color-picker/view {:on-change #(reset! selected %)}]))

  (h/fire-event :press (get (h/get-all-by-label-text c :color-picker-item) 0))

  ;; Options are passed down converted to JS types.
  (h/debug c {:message "Rendering header"})

  @selected ; => :blue
)
```

```clojure
;; Namespace quo2.components.tags.--tests--.status-tags-component-spec
(h/test "renders status tag with pending type"
  (render-status-tag {:status {:type :pending}
                      :label  "Pending"
                      :size   :small})
  (-> (h/expect (h/get-all-by-label-text :status-tag-pending))
      (.toBeTruthy))
  (-> (h/expect (h/get-by-text "Pending"))
      (.toBeTruthy)))

(comment
  (def c (render-status-tag {:status {:type :pending}
                             :label  "Pending"
                             :size   :small}))

  (h/get-all-by-label-text c :status-tag-pending))
```

```clojure
;; Namespace status-im2.contexts.communities.menus.community-options.component-spec
(h/test "joined and muted community"
  (setup-subs {:communities/my-pending-request-to-join nil
               :communities/community                  {:joined       true
                                                        :muted        true
                                                        :token-gated? true}})
  (h/render [options/community-options-bottom-sheet {:id "test"}])
  (-> (h/expect (h/get-by-translation-text :unmute-community))
      (.toBeTruthy)))

(comment
  (setup-subs {:communities/my-pending-request-to-join nil
               :communities/community                  {:joined       true
                                                        :muted        true
                                                        :token-gated? true}})
  (def c (h/render [options/community-options-bottom-sheet {:id "test"}]))
  (some? (h/get-by-translation-text c :invite-people-from-contacts)) ; => true
)
```
2023-03-27 11:54:56 -03:00
Brian Sztamfater 4e6dea6b36
feat: enable biometrics screen 2023-03-27 14:23:23 +01:00
Ulises M 899f89c800
Implement create password screens 2023-03-27 14:21:39 +01:00
Volodymyr Kozieiev b121678281
Fix mentions component remounting that forced user to click 2 times (#15474) 2023-03-27 12:29:09 +01:00
Roman Volosovskyi 7f87c007c1
[#15471] Add PreviewPrivacy to CreateAccountRequest 2023-03-27 09:57:07 +02:00
John Ngei 2f84cfd354
Onboarding notifications flow
* enable notifications onboarding

* added blurred background

* support navigate to previous screen
2023-03-25 01:40:36 +03:00
Parvesh Monu 7b60a5f867
Refactor app theme management (#15455) 2023-03-24 22:04:55 +05:30
Mohamed Javid 7d4be37111
[Feature] Sign in by scanning sync QR code (#15416) 2023-03-24 20:36:25 +05:30
Jamie Caprani 2f19badc6c
Add seed phrase flow & customization color 2023-03-24 14:24:18 +00:00
Roman Volosovskyi 3b034265c0
[#15443] Show community name/description in message on Android 2023-03-24 12:53:13 +01:00
Parvesh Monu 5c92b7eb1e
remove navigate-to-nav2 event (#15454) 2023-03-24 11:14:17 +01:00
frank 45da51bea6
changes corresponding to refactor of local pair of status-go (PR #3248) (#15412) 2023-03-23 20:23:26 +08:00
Alexander 8d166a3a52
Fix for sender's name, profile icon, chat key, timestamp being lost for messages that contain images (#15426)
* Fix for sender's name, profile icon, chat key, timestamp being lost for messages that contain images

Lint fix

Lint fix

* Lint fix

* Text fix
2023-03-23 10:10:07 +01:00
erikseppanen c238ebe36e
Add validation for when adding a contact (#15192) 2023-03-22 13:13:56 -04:00
Jamie Caprani a502da6ea4
9c1c01c6...48eb7052 (#15401)
feat: add create profile to onboarding
2023-03-22 06:51:38 -07:00
Omar Basem f9255100a1
feat: bottom sheet screen (#15399)
* feat: bottom sheet screen
2023-03-22 17:31:20 +04:00
yqrashawn f2c8f21336
fix: reply with album (#15424) 2023-03-22 21:04:39 +08:00
Icaro Motta 554476ede9
Remove support for cancelling outgoing contact requests (#15415)
Removes the feature that allows users to cancel outgoing contact requests (possible spam vector). From now on, the user who sent the contact request will only be able to see the notification in the pending state. It seems this feature will be revisited in the future, but for now the agreement is to do the simplest thing and remove it.

Fixes https://github.com/status-im/status-mobile/issues/15357

Steps to test:

- Send CR from A to B.
- A should see a new notification in the pending state.
- B should receive a notification. If B accepts the CR, then A's pending CR disappears. If B declines the CR, then A's notification stays pending forever.

Note: As expected, A can swipe left->right to mark the outgoing pending notification as read or swipe right->left to delete it.
2023-03-22 08:59:32 -03:00
Parvesh Monu 937c128c08
Onboarding app locked flow 2023-03-22 13:41:05 +05:30
Parvesh Monu 03cf4cec0e
fix intro navigation (#15430) 2023-03-22 01:27:09 +05:30
Ulises Manuel Cárdenas 554f8aff09
Add input tests
Also fixes text align on non-multiline inputs
2023-03-21 12:28:02 -06:00
Omar Basem a5d767515d
Remove 100ms delay when opening image (#15422)
* remove image delay
2023-03-21 17:57:26 +04:00
Jamie Caprani ada7a02c21
chore: add skeleton for sign in with syncing flow 2023-03-21 09:42:31 +00:00
Jamie Caprani f6f5dfbe03
chore: add skeleton flow for onboarding (#15334) 2023-03-17 05:19:39 -07:00
Roman Volosovskyi d608b88e26
[#14622] Show ugly network state icons and connection bottom sheet 2023-03-17 11:00:00 +01:00
Alexander 854e372f73
Long quoted message in the reply box is not cut, goes beyond reply box and overlapped by cancel button (#15382)
* Long quoted message in the reply box is not cut, goes beyond reply box and overlapped by cancel button

* Lint fix
2023-03-17 10:18:14 +01:00
yqrashawn 2e0fa29806
fix: mark :albumize? true when rebuild message (#15286) 2023-03-17 16:25:48 +08:00
Ulises Manuel Cárdenas 0e36190516
Fix input padding & add blur and override-theme properties
Add with-let formatting style
2023-03-16 12:59:34 -06:00
Omar Basem b70dd2fe67
fix: image typo (#15390) 2023-03-16 19:55:45 +04:00
Andrea Maria Piana b44e4c6d59
Add collapsing of categories (#15306)
290579f7...44a0f5b7

Fixes: #15290

This commit adds collapsing of categories.
It also adds ordering of chats/categories as it was previously ignored.

It also removes the communities/enabled? flag as it's not used anymore,
and communities should always be enabled.
2023-03-16 10:17:50 +00:00
yqrashawn 9723479634
refactor: chat message list context related (#15313) 2023-03-16 10:52:47 +08:00
Alexander dabe8285be
Bugfixes for the style of "New to Status" screen (#15353)
* Bugfixes for the style of "New to Status" screen

* Updates
2023-03-15 20:02:26 +01:00
Ibrahem Khalil f981021a1f
Code Improvements of 15048 (#15351) 2023-03-15 20:08:59 +02:00
Icaro Motta e8556a9abf
Show AC unread indicator with counter and seen state color (#15304)
- Display Activity Center unread badge with the unread counter.
- Use the new seen state stored in `status-go` to change the color of the
  notification.
- Performance: split the `top-nav` component into left and right section
  components and render the unread indicator in a separate component to not
  trigger the re-render of the entire `top-nav` (as was before).
  
Fixes https://github.com/status-im/status-mobile/issues/14851

Demo: https://user-images.githubusercontent.com/46027/224299978-770dd5f1-302b-4375-af2b-3cd181ffdc9d.webm

Notes
=====

- Fix/improve: `quo/counter` displayed `NaN` to the user if the input value was
  an empty string.
- In Figma, there's a border around the unread indicator. I didn't implement
  this because the ideal solution IMO involves changing the `quo/counter`
  component a little bit because the width of the component varies according to
  the content displayed (1, 9, 99, 100, etc) and I wanted to the right thing in
  a separate PR.

Design notes
============

There's an ongoing conversation with the Design team to decide what to do with
the gray indicator on top of the bell icon, since there's little contrast when
it's is in the `seen` state.

Platforms
=========

- Android
- iOS

Steps to test
=============

- Open Status
- Receive one or more notifications in the Home screen and check the unread
  indicator is blue and has a counter.
- Open the AC and close it, notice the unread indicator is now in the `seen`
  state. You can close the app and re-open and the state is persisted.
- Mark notifications as read/unread at will, check the unread counter is
  correct.
2023-03-15 12:41:34 -03:00
Omar Basem f640eb8c8f
feat: drag to dismiss lightbox (#15349)
* feat: drag to dismiss lightbox
2023-03-15 16:37:01 +04:00
Alexander 8546727f84
Spacing between codeblocks and regular text + fixes for "edited at" message (#15307)
* Spacing between codeblocks and regular text + fixes for "edited at" message

Fixes

Post-review updates

* Lint fixes
2023-03-15 11:53:20 +01:00
Jamie Caprani de6a736c10
feat: add ability to cancel a request to join a community (#14973)
80d350ad...5d818669
2023-03-14 16:14:37 -07:00
Roman Volosovskyi 61600a534b
[#15152] SHow ENS name on adding contact via ENS name 2023-03-14 19:34:39 +01:00
Ibrahem Khalil 181e5c2266
Flexsurfers' comments on status-tags (#15345) 2023-03-14 18:46:35 +01:00
Icaro Motta 9473d3f40c
Swipe gestures for Activity Center notifications with CTA (#15284)
Implements swipe actions for notifications with call to action (e.g. pending
contact requests, unverified identity verifications, etc).

Fixes https://github.com/status-im/status-mobile/issues/15118

According to the Design team, the goal is to deliver a consistent experience to
users, so whenever the user sees a notification with buttons, the same actions
can be taken via the swipe buttons.

Note: swipe buttons are using placeholder icons while the Design team works out
which ones to use

Additionally, a bunch of fixes:

- Fix: outgoing pending contact requests were not being removed from the UI when
  cancelled.
- Fix: Membership tab not showing unread indicator.
- Fix: dismissed membership notification not marked as read.
- Fix: dismissed membership notification was displaying decline/accept buttons.
  Regression came from changes in status-go related to soft deletion of
  notifications.
- Fix: incorrect check for the pending state of a contact request.
- Fixed lots of bugs for identity verification notifications, as it was
  completely broken. Unfortunately, somebody made lots of changes without
  actually testing the flows.
- Add basic error handling and log if accepting, declining or canceling contact
  requests fail.

The demo shows an identity verification with swipe actions to reply or decline.
[identity-verification-swipe-to-reply.webm](https://user-images.githubusercontent.com/46027/223565755-b2ca3f68-12e2-4e1e-9e52-edd52cfcc971.webm)

Out of scope: The old quo input is still in use in the identity verification
notification. This will eventually be solved by issue
https://github.com/status-im/status-mobile/issues/14364

### Steps to test

Notifications with one or more buttons (actions) are affected by this change,
because now the user can also swipe left/right to act on them.

- Membership notifications: private group chat. The following PR explains how to
  generate them https://github.com/status-im/status-mobile/pull/14785
- Contact requests, and community gated requests to join (Admin tab).
- Identity verifications. I believe the only way to test identity verification
  flows at the moment is to use the Desktop app, since initiating the challenge
  is not implemented in Mobile yet.
- Mentions and replies don't have new swipe buttons because they don't have call
  to action buttons throughout their lifecycle.

Steps to test identity verification flows:

#### Identity verification flow 1

- `A` and `B` are mutual contacts.
- `A` sends a verification request to `B`.
- `A` should not see any notification yet.
- `B` should receive an identity verification notification. `B` can either
  decline or reply.
- `B` declines and the status `Declined` is shown instead of buttons.
- `B` can now either swipe to toggle read/unread or swipe delete the
  notification.
- `A` should not receive any notification after `A` declined.

#### Identity verification flow 2

- `A` and `B` are mutual contacts.
- `A` sends a verification request to `B`.
- `A` should not see any notification yet.
- `B` should receive an identity verification notification. `B` can either
  decline or reply.
- `B` press `Reply` and a bottom sheet is displayed with a text input.
- `B` sends the reply/answer message and the status `Replied` is shown instead
  of buttons.
- `B` can now either swipe to toggle read/unread or swipe to delete the
  notification.
- `A` should receive a notification with the reply from `B`.
- `A` can either mark the answer as untrustworthy or accept it (trust it) via
  the normal buttons, as well as via the swipe left/right buttons.
- If `A` accepts the answer, then the status `Confirmed` is shown instead of
  buttons. On the other hand, if `A` marks as untrustworthy, then the status
  `Untrustworthy` is shown instead of buttons.
- `B` should receive no further notifications due to `A`s actions.
- `A` can now either swipe to toggle read/unread or swipe delete the
  notification.
2023-03-14 12:34:13 -03:00
Jamie Caprani e98ce54830
feat: add profile input to quo2 (#15323) 2023-03-14 06:52:15 -07:00
Alexander 4097aba39b
Fetch details of user when adding a contact (#15070)
* Fixes

* Fixes

* Final fixes

* Lint fixes
2023-03-14 11:40:38 +01:00
Omar Basem 64dde1c9d1
feat: improve lightbox transition (#15315)
* feat: improve lightbox transition
2023-03-14 08:24:14 +04:00
flexsurfer 0fe6fea7e4
Improve home animations (#15247) 2023-03-13 19:47:04 +01:00
Ibrahem Khalil 4810e1d7bf
Prevent #links to work except in community chats and allow redirection from channel to another when clicked (#15135) 2023-03-13 20:09:38 +02:00
Ulises Manuel Cárdenas 9e4d9a05a7
Add new onboarding screen - I'm new to status 2023-03-13 10:25:04 -06:00
Jamie Caprani d8c110bf85
feat: add title input component to quo2 (#15133) 2023-03-11 08:29:11 -08:00
Brian Sztamfater 7332f483a4
feat: integrate record audio component into composer
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-03-10 12:05:12 -03:00
Mohamed Javid f67f205fa9
Status Tag UI and usage update (#15282)
* [Feature][#15267] Status Tag UI Update

* [Fix] Typo in comment

* [Fix] Feedback from PR

* [Fix] Feedback from PR

* [Fix] Blur Type on Preview Screen

* [Fix] Blur Type on Preview Screen
2023-03-10 15:31:54 +05:30
flexsurfer 81212573d7
🧈 Transparent modal support 🧈 (#15268) 2023-03-09 10:37:10 +01:00
Parvesh Monu de8c294c9a
fix android multi-account root initialization after app relaunch (#15292) 2023-03-08 23:31:41 +05:30
Ulises Manuel Cárdenas 8478ac74ab
Refactor user-avatar & add tests 2023-03-08 11:07:37 -06:00
Parvesh Monu e9310a2ace
fix mention turns into unknown in community (#15285) 2023-03-08 20:15:05 +05:30
Ibrahem Khalil 7a299b9b86
[15166] Show message edited status (#15190) 2023-03-08 12:42:12 +02:00
Roman Volosovskyi c6e63ff5a5
[#15241] Proper system message on being not a member of a group 2023-03-07 09:35:36 +01:00
Jamie Caprani 2861190e5b
New intro screen (#15127)
* feat: add new intro page

* e2e: new intro fix

---------

Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-06 06:42:30 -08:00
Parvesh Monu 9ffefe74bb
fix navigation to user profile 2023-03-06 17:16:49 +05:30
Vitaliy Vlasov 9959d537f3
Emoji hash is now in settings
Signed-off-by: Vitaliy Vlasov <siphiuel@protonmail.com>
2023-03-06 13:27:15 +02:00
John Ngei 7a9018ae11
replaced mocked community-tags and images with real data
Co-authored-by: jo-mut <jo_ngei@Johns-MacBook-Air.local>
2023-03-06 13:57:58 +03:00
Parvesh Monu 8454ce2e11
Onboarding add background screen (#15231) 2023-03-06 16:07:07 +05:30
Parvesh Monu f314806b83
Improve profile card (#15264) 2023-03-06 14:24:34 +05:30
Omar Basem 16ffc23509
Lightbox improvements (#15243)
* feat: lightbox polishing and improvements
2023-03-06 08:35:36 +04:00
Ulises Manuel Cárdenas ff3ba6c0f0
Add new text input component 2023-03-03 15:03:38 -06:00
Icaro Motta 1f1ab30a4e
Use new RPC endpoints to fetch and count unread notifications (#15245)
There are endpoint changes in the status-go PR #3237
https://github.com/status-im/status-go/pull/3237) that will cause breakage in
the Mobile & Desktop clients. The Desktop team has already implemented the
changes and is waiting for Mobile to do the same.

The new endpoints are generally better, more ergonomic to use. There's also a
new endpoint to allow fetching multiple unread counters for all types of
notifications so we can finally remove the dreadful workaround in mobile calling
`status-go` 10+ times in a row.

- Fixes https://github.com/status-im/status-mobile/issues/15119
- Fixes https://github.com/status-im/status-mobile/issues/15229
2023-03-03 12:43:41 -03:00
Icaro Motta 064204256e
Fix Activity Center popover not opening (#15239)
Fixes #15230 - The popover state in the app db must be discarded before trying to
open the Activity Center. This workaround is used in other parts of the app too.
It's ugly, but the only quick fix I found.

It's plenty obvious the popover component and all its surrounding logic should
be revisited in the future.
2023-03-03 10:34:55 -03:00
Omar Basem 8923408972
Landscape Mode (#15175)
* feat: landscape mode
2023-03-03 16:33:28 +04:00
Icaro Motta 52b87bab3e
Redesign and simplify Activity Center app db (#15216)
Fixes #15215. Redesign the app db state for the Activity Center. Please, see the issue being fixed for more details about the problems being solved.

TL;DR: There's a lot less state to keep track and reconcile and way less nesting in the app db because we're only managing the state of the *current tab*, not all tabs.

Additionally:

- [x] While updating unit tests, found a bug on the sorting notifications' logic.
- [x] While updating unit tests, found a bug where notifications that are not of the type *contact request* were being removed from the app db.
- [x] Fixed regression where pressing on a notification would not open the chat.
- [x] Hardened unit tests.

#### Platforms

- Android
- iOS

##### Non-functional

- Less memory consumption.
- Faster reconciliation of notification coming from signals and from synchronous responses from RPC calls.
2023-03-03 09:17:35 -03:00
John Ngei 25d44b11f1
Fix: chat header height 2023-03-02 21:57:19 +03:00
Brian Sztamfater 9333692830
feat: remove wallet connect 1.0 (#15010) 2023-03-02 17:55:03 +01:00