5334 Commits

Author SHA1 Message Date
mmilad75
33da4bfabc
Selected networks are not shown as preferred if a multichain wallet with preferred networks is scanned on the 'send to' page #19775 (#19899) 2024-05-13 14:54:39 +03:30
Nikolay
2618a55dbc
[#18817] Import private key: UI for key pair name (#19747) 2024-05-13 11:39:42 +02:00
Parvesh Monu
439edc39a6
fix wrong letter and background color of the channel/group avatar (#19972) 2024-05-13 15:05:30 +05:30
Omar Basem
12515a4904
fix: Collectible screen design issues (#19721)
fix: Collectible screen design issues (#19721)
2024-05-13 12:40:31 +04:00
Omar Basem
f50ca4606f
fix: remove wallet graph (#19973)
fix: remove wallet graph (#19973)
2024-05-11 12:20:21 +04:00
Icaro Motta
037e71bc03
Optimize opening of Settings screens (#19940)
This commit rewrites utils.re-frame/delay-render to use hooks. The new
implementation renders significantly better than what we have today, at least on
Android.

Why not hiccup instead of a function call to delay-render? The Settings screen
is rendered slightly faster if I use delay-render as a function call instead of
hiccup. My only guess is that this is just less work to be done by Reagent,
since the wrapper function is not creating a wrapper component with its own
lifecycle.

The full analysis can be found here, but it's copied for future reference:

--------------------------------------------------------------------------------
Based on my analysis of individual frames being rendered and having investigated
3 different scenarios:

1. Scenario 1: No delay whatsoever, i.e. not using `delay-render`.
2. Scenario 2: Using `delay-render` like in `develop`, that is, a form-2
   component with a local Reagent atom.
3. Scenario 3: Using `delay-render` as in this PR, using hooks.

All 3 scenarios open the Settings screen with all rendered views in the same
amount of time. In terms of raw performance, they are completely identical. The
absolute value doesn't matter, but in my recordings, on average, 10 frames of
video after the first press on the user's profile image.

So how can it be that on Android the new solution is visibly smoother? It's all
about latency and our brains are very picky about it.

Scenario 1 - Not using delay-render: the user notices a longer delay after
pressing on the profile image because all components in the Settings screen are
mounted in one go. This gives the impression to the user of being slower. In
slower Android devices, we've seen a user even press twice because the Settings
screen was taking longer to open. On newer Android devices this is not much of a
problem. There's another problem in `Scenario 1`, on Android, with too many
elements and/or too many heavy elements being mounted, the opening animation is
sometimes completely cut off or very clunky (a similar problem can happen while
opening the Activity Center).

Scenario 2 - Use delay-render with a form-2 component: The Settings items are
always rendered after the opening animation completes. Our brains perceive this
as a slight delay because we can see the empty gray background for 1-3 frames.
This is quite noticeable on my physical Android device, even with a prod build.

Scenario 3 - Use delay-render as a hook: the optimal solution from the user's
perspective, Settings items sometimes can be rendered before the animation
completes. I say sometimes because other times the items are rendered only 1
frame before or right when the animation completes, which would be almost the
same as Scenario 2.

What the hooks solution gave us is a little bit of the Scenario 1 and
Scenario 2 in one package, and because the Settings items can be sometimes
rendered before the opening animation completes, our brains see that as being
faster.

In future performance investigations, we might want to focus on manipulating
latency more aggressively to see where that leads us.
2024-05-10 12:43:08 -03:00
Icaro Motta
a481a44c72
Fail fast during app initialization if an invalid schema is found (#19958)
Some devs reported invalid schemas in the develop branch during app
initialization. We knew this could happen when Malli was first
introduced, but we wanted to play safe in the beginning due to the
overall inexperience of the team with Malli.

This commit removes all guardrails on instrumented vars, i.e. during app
initialization the app will crash on any invalid schema. A reminder that
instrumentation only take effect when js/goog.DEBUG is true.
2024-05-10 09:12:31 -03:00
Sean Hagstrom
4f0a49f7bf
Add screen for key-pairs and accounts inside wallet settings (#19912)
* chore: add "key pairs and accounts" label

* chore: feature flag wallet-settings

* tidy: extact navigate-back function into static defn

* wip: add initial keypairs and accounts list view to wallet settings

* tweak: wire-up initial action menu for key-pairs

* tidy: extract key-pair container styles into style namespace

* tweak: fix dark background for key-pair and account settings

* tidy: refactor on-press handler for key-pair options

* fix: move feature-flag usage to settings screen instead of settings items definition

* tidy: remove unneeded key props

* tidy: clean up de-structuring and passing of props

* tidy: use keep with when expressions instead of filter and map expressions

* tidy: rename the wallet-settings feature flag

* tweak: rename and add feature-flags for mobile wallet settings

* tweak: use scrollview for feature-flags and add spacing between feature-flag groups

* tweak: adjust the way feature-flags are displayed in groups

* tidy: remove unneeded prop

* tidy: use bottom-inset for padding key-pair and accounts list

* tidy: change `filterv` to `filter`

* tidy: use subscription for building account-props

* tidy: use subscription to build the entire keypair-account

* tweak: use key-pair type to determine default key-pair

* tidy: rename component to settings-category-view

* tidy: use assoc instead of merge

* tidy: extract function from subscription

* test: add tests for formatting key-pairs and accounts for wallet settings

* tweak: use `match?` instead of `=`

* tidy: use `swap!` without anonymous functions
2024-05-10 10:53:35 +01:00
Omar Basem
c40853456b
Fix: manage members gesture (#19949)
Fix: manage members gesture (#19949)
2024-05-10 09:16:57 +04:00
mmilad75
14aa9e1c20
Refresh control test (#19831) 2024-05-09 17:42:52 +03:30
mmilad75
2c5cc6cd08
'Send' button is shown for watch-only collectibles and can navigate to the 'send' flow #19743 (#19918) 2024-05-09 17:10:41 +03:30
Icaro Motta
8ad58bb364
Persist in-app feature flags (dev-only feature) (#19619)
This commit improves in-app feature flags to persist what is currently only
stored in a Reagent atom by using RN Async Storage
https://reactnative.dev/docs/asyncstorage. This should make them more convenient
to use, which is a good thing overall for developers.

Additionally, there's now a top-right button in screen Settings > Feature Flags
that will reset the flags to the initial values obtained from environment
variables.

These in-app feature flags are exclusively available in debug builds in
Settings > Feature Flags, and only visible when flag ENABLE_QUO_PREVIEW is
enabled. There's no impact whatsoever in prod builds. A reminder that they are
not meant to be used by users (yet).

It's worth noting that RN has deprecated Async Storage and now recommends other
community solutions, but for a dev-only feature, I think it's fine.
2024-05-09 09:42:38 -03:00
Icaro Motta
ab191407ed
Fix schema error after logout (#19933)
Detailed explanation:

The schema failure is due to utils.image-server/get-initials-avatar-uri being
called with a nil profile customization color right after the user confirms
logout.

Right after logging out, the subscription :profile/profile-with-image is
recomputed. One of its signal inputs is :profile/profile. Right after logout,
the output of sub :profile/profile is always nil (this is correct, nobody is
logged in). This means that the sub :profile/profile-with-image will try to
calculate the multiaccount URI by passing a nil profile. This is wasteful
computation and is also the cause of the schema for
utils.image-server/get-initials-avatar-uri to fail, because it expects the
profile's customization-color to be present.
2024-05-09 08:52:27 -03:00
Sean Hagstrom
3e5d758e92
Refactor image server uri helpers (#19271)
* tweak: refactor image-uri helpers

* fix: add `:primary` as customization color for profile images

primary is being used as the default color for accounts that were migrated without customization color to a default color
2024-05-09 11:01:49 +01:00
Omar Basem
7f40f410e7
fix: entering two zeros in a row in the 'Amount' field in wallet (#19911)
fix: entering two zeros in a row in the 'Amount' field in wallet
2024-05-09 12:23:17 +04:00
flexsurfer
497c95fd26
Fix "Offline" section in group chat members #19883 (#19913) 2024-05-08 18:19:56 +02:00
Omar Basem
604eaccbbf
feat: Start bridge from asset drawer (#19860)
feat: Start bridge from asset drawer (#19860)
2024-05-08 16:31:38 +04:00
Brian Sztamfater
842dbbbd8d
feat: add feature flag for swaps (#19920)
Signed-off-by: Brian Sztamfater <brian@status.im>
2024-05-08 08:59:01 -03:00
Parvesh Monu
10f5f9ec7d
Implement navigation to profiles and chats from contact requests inside Activity Center (#19902) 2024-05-08 15:48:50 +05:30
Brian Sztamfater
07fb3610d1
chore: add wallet connect library (#19758)
Signed-off-by: Brian Sztamfater <brian@status.im>
2024-05-08 05:51:45 -03:00
Lungu Cristian
161ba2713f
Change password inside new settings (#19474)
* feat: added change-password screen

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: pw verification error not shown

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* feat: added changing password with confirmation and loading

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: adjusted flow

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: added minimum waiting time when loading

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* ref: moved events to change-password

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: added styles where missing

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* ref: moved header out

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* ref: moved forms into separate namespaces

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: linter promesa alias issue

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* feat: added password-tips quo-component

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: validation message

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: removed bottom-sheet event

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* removed temp file

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: addressed review comments

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: addressed @seanstrom's review comments

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: address @ilmotta's review comments

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: addressed @vkjr's review comments

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: buttom button alignment with keyboard

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: addressed review comments

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: keyboard behavior

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: navigation to loader

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>

* fix: use-theme usage

* fix: button alignment due to alert banner

---------

Signed-off-by: Lungu Cristian <lungucristian95@gmail.com>
2024-05-07 17:38:16 +03:00
Mohsen
245b3fcf57
[#19172] fix: new to status design issue (#19923) 2024-05-07 17:12:27 +03:00
codemaster
be59785a1f
fix: notification center blur (#19861) 2024-05-07 06:35:32 -07:00
flexsurfer
45129b8244
Bring the seedphrase backup flow to the new settings #19554 (#19887) 2024-05-07 13:44:31 +02:00
frank
0c6bb61ebe
refactor_:remove part of node config for local pair sync (#19826)
cba3ac57...f3f48654
2024-05-07 19:33:46 +08:00
Mohsen
7ec77db666
[#19195] fix: communities design issues (#19819) 2024-05-07 13:20:00 +03:00
mmilad75
b907881d59
Validation error not displayed for Incorrect eth address in "Sent To" page #19599 (#19862) 2024-05-06 18:08:56 +03:30
John Ngei
0d7c2684ee
fix: border radius on syncing auth bottom sheet 2024-05-06 16:01:21 +02:00
Jamie Caprani
5802097f5f
chore(wallet): feature flag graph and hide about action button (#19832) 2024-05-06 06:14:26 -07:00
Parvesh Monu
5fc9722992
hide not implemented comopser features (#19901) 2024-05-06 17:34:56 +05:30
Parvesh Monu
4eaf832b43
fix contact request message is not shown in the 1-1 chat (#19904) 2024-05-06 16:19:21 +05:30
flexsurfer
a9b4d86b00
Patch "Show QR Code" functionality (#19893) 2024-05-06 11:58:13 +02:00
Brian Sztamfater
355e144ef7
refactor: suggested routes rendering (#19768)
Signed-off-by: Brian Sztamfater <brian@status.im>
2024-05-03 13:18:14 -03:00
flexsurfer
d8d1e030e4
Patch "Add nickname" functionality in home->Contacts #19875 (#19891) 2024-05-03 15:55:54 +02:00
Omar Basem
9187ec25c1
Wallet: activity items (#19847)
Wallet: activity items (#19847)

---------

Co-authored-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2024-05-03 17:26:24 +04:00
flexsurfer
de29c6f7d9
Alignment of system messages in group chat #19886 (#19890) 2024-05-03 13:44:19 +02:00
flexsurfer
e6ee2714d7
feature/hide-all-alert-under-not-implemented-flag (#19889) 2024-05-03 13:07:39 +02:00
Shivek Khurana
7b9f4983cb
🎏 Add wallet connect feature flag (#19866) 2024-05-02 20:34:01 +05:30
codemaster
94ab27bcbb
fix: wrong color stroke in profile setting (#19815) 2024-05-02 05:45:43 -07:00
flexsurfer
86c1dbd25d
Add a setting to enable telemetry #19811 (#19858) 2024-05-02 06:31:27 +02:00
Omar Basem
a094d218d5
Wallet: account screen jump to (#19732)
Wallet: account screen jump to (#19732)
2024-05-01 21:25:52 +04:00
Sean Hagstrom
3951b8a39c
tweak: hide any not-implemented actions inside home (#19844) 2024-05-01 18:02:16 +01:00
Omar Basem
1757dc5d53
fix: keypiar name continue (#19859)
fix: keypiar name continue (#19859)
2024-05-01 20:08:00 +04:00
Omar Basem
f942092a5e
fix: wallet account back button (#19857)
fix: wallet account back button (#19857)
2024-05-01 19:56:03 +04:00
Omar Basem
d4be3a6976
Fixes for composer (#19854)
Fixes for composer (#19854)
2024-05-01 16:59:13 +04:00
flexsurfer
6037fe80c4
More reagent atom regression #19812 (#19828) 2024-05-01 12:19:50 +02:00
Sean Hagstrom
6a1fdc5b08
Fix QR share screen for community channel (#19792)
* tweak: add support for displaying channel qr codes with quo/share-qr-code component

* chore: add channel qr-code example to quo preview components

* tweak: integrate common/qr-code component for sharing community channel qr-code

* tweak: add support for showing community channel avatar in share-qr-code header

* tweak: hide wallet tabs for channel qr-code

* tweak: integrate share handler for community channel qr-code

* fix: prevent accidentally rendering the community channel qr-code with nil while closing the share-qr modal

* tidy: extract navigate-back dispatch function

* tidy: use styles namespace

* tidy: use case statement to determine which qr-code components have a header

* tweak: check for share-qr-types that support headers

* tidy: extract navigate-back into static function

* fix: prevent community qr-code from glitching when closing modal
2024-04-30 16:10:53 +01:00
Parvesh Monu
17f6a72590
fix community category divider label margin (#19827) 2024-04-30 19:43:30 +05:30
Sean Hagstrom
aaf5b72675
tidy: remove extra event handler for :communities/set-airdrop-address (#19829) 2024-04-30 14:18:50 +01:00
Sean Hagstrom
a1490d414c
Ensure users can share a community url (#19710)
* fix: ensure :communities/share-community-url-with-data is defined

* fix: ensure we show the share-sheet when pressing the community share-action

* fix: ensure we use the correct share-sheet title when sharing a community

* e2e: updated inviting contacts to community flow

* tweak: remove extra url message when sharing community url on android

* tweak: remove extra url message when sharing community channel url on android

* tidy: remove redundant event handler for sharing community url

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2024-04-30 13:44:14 +01:00