Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#20804] linear gradient exception #20854

Merged
merged 7 commits into from
Jul 25, 2024
Merged

Conversation

ulisesmac
Copy link
Contributor

fixes #20804

Summary

This PR adds a safety wrapper for the Linear Gradient component, as we've had multiple issues due to invalid colors being passed to the component.

Now when an invalid color is found it's substituted by "transparent" so that the app doesn't crash, and an error with the given wrong colors is logged.

Additionally, this PR solves another problem: we have mistakenly named the flamingo color in our codebase, it's called as pink in figma (https://www.figma.com/design/v98g9ZiaSHYUdKWrbFg9eM/Foundations?node-id=619-10064&t=aYNJmP11jE8eqoh8-0)

image

When we received :pink from status go it was resolved as nil so some components didn't render as expected (such as the LinearGradient crashing).

Review notes

IMPORTANT
The yin-yang color is still not supported on mobile, but our accounts cards aren't crashing now :)

Testing notes

  • Please give a quick tour through the app, mostly focusing on places where the customization color is used.
  • Before this PR, creating a profile on Desktop with the pink color and syncing it to mobile should be completely broken in terms of UI colors.

Steps to test

  • Create a Status profile
  • Sync the profile on both Mobile and Desktop
  • Create a watched account
  • Change the color of the watched account to pink on Desktop
  • On mobile, the wallet home account cards should look as expected
  • Change the color of the watched account to *yin-yang on Desktop
  • On mobile the account cards show transparent, but the app doesn't crash as before.

status: ready

Comment on lines 67 to +69
[linear-gradient/linear-gradient
(assoc {:style (style/container loading? theme size)}
:colors
(linear-gradient-props theme customization-color))
{:style (style/container loading? theme size)
:colors (linear-gradient-props theme customization-color)}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just fixing code style, this assoc was never needed

@status-im-auto
Copy link
Member

status-im-auto commented Jul 22, 2024

Jenkins Builds

Click to see older builds (9)
Commit #️⃣ Finished (UTC) Duration Platform Result
cc7f45e #1 2024-07-22 22:17:45 ~2 min tests 📄log
✔️ cc7f45e #1 2024-07-22 22:22:25 ~7 min android-e2e 🤖apk 📲
✔️ cc7f45e #1 2024-07-22 22:22:33 ~7 min android 🤖apk 📲
✔️ cc7f45e #1 2024-07-22 22:24:53 ~9 min ios 📱ipa 📲
0115d53 #2 2024-07-23 23:44:13 ~3 min tests 📄log
✔️ 942394f #3 2024-07-23 23:48:47 ~4 min tests 📄log
✔️ 942394f #3 2024-07-23 23:51:38 ~7 min android-e2e 🤖apk 📲
✔️ 942394f #3 2024-07-23 23:51:49 ~7 min android 🤖apk 📲
✔️ 942394f #3 2024-07-23 23:53:16 ~8 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ a07d21c #5 2024-07-24 21:09:19 ~4 min tests 📄log
✔️ a07d21c #5 2024-07-24 21:11:11 ~6 min android-e2e 🤖apk 📲
✔️ a07d21c #5 2024-07-24 21:11:20 ~6 min android 🤖apk 📲
✔️ a07d21c #5 2024-07-24 21:13:39 ~8 min ios 📱ipa 📲
✔️ 4b4b942 #6 2024-07-25 19:25:04 ~4 min tests 📄log
✔️ 4b4b942 #6 2024-07-25 19:27:57 ~7 min android-e2e 🤖apk 📲
✔️ 4b4b942 #6 2024-07-25 19:28:17 ~7 min android 🤖apk 📲
✔️ 4b4b942 #6 2024-07-25 19:29:46 ~8 min ios 📱ipa 📲

src/react_native/linear_gradient.cljs Outdated Show resolved Hide resolved
@ulisesmac ulisesmac force-pushed the 20804-Linear-gradient-exception branch from cc7f45e to 0115d53 Compare July 23, 2024 23:40
Copy link
Member

@smohamedjavid smohamedjavid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @ulisesmac 🙌

@ulisesmac ulisesmac force-pushed the 20804-Linear-gradient-exception branch from 886c23c to a07d21c Compare July 24, 2024 21:04
@status-im-auto
Copy link
Member

86% of end-end tests have passed

Total executed tests: 7
Failed tests: 0
Expected to fail tests: 1
Passed tests: 6
IDs of expected to fail tests: 727232 

Expected to fail tests (1)

Click to expand

Class TestWalletOneDevice:

1. test_wallet_add_remove_watch_only_account, id: 727232

Device 1: Find `EditBox` by `accessibility id`: `add-address-to-watch`
Device 1: Type `0x8d2413447ff297d30bdc475f6d5cb00254685aae` to `EditBox`

critical/test_wallet.py:249: in test_wallet_add_remove_watch_only_account
    self.wallet_view.add_watch_only_account(address=address_to_watch, account_name=new_account_name)
../views/wallet_view.py:163: in add_watch_only_account
    self.account_has_activity_label.wait_for_visibility_of_element()
../views/base_element.py:147: in wait_for_visibility_of_element
    raise TimeoutException(
 Device 1: Text by accessibility id:`account-has-activity` is not found on the screen after wait_for_visibility_of_element 

[[Missing networks in account address, https://github.com//issues/20166]]

Device sessions

Passed tests (6)

Click to expand

Class TestCommunityOneDeviceMerged:

1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
Device sessions

2. test_community_copy_and_paste_message_in_chat_input, id: 702742
Device sessions

Class TestOneToOneChatMultipleSharedDevicesNewUi:

1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
Device sessions

Class TestWalletMultipleDevice:

1. test_wallet_send_asset_from_drawer, id: 727230
2. test_wallet_send_eth, id: 727229

Class TestWalletOneDevice:

1. test_wallet_add_remove_regular_account, id: 727231
Device sessions

@Horupa-Olena
Copy link

Hi @ulisesmac thanks for the PR! Checked on iOS and Android - app works without crashing!

@ulisesmac ulisesmac merged commit 53c35cb into develop Jul 25, 2024
5 checks passed
@ulisesmac ulisesmac deleted the 20804-Linear-gradient-exception branch July 25, 2024 19:35
ilmotta pushed a commit that referenced this pull request Jul 28, 2024
…account cards (#20854)

* Create a linear-gradient wrapper to avoid crashes and notify color errors

* Fix references to the flamingo color

* Add customization color fallback
ilmotta added a commit that referenced this pull request Jul 30, 2024
Revisions from develop:

- 59ceddb develop origin/develop fix(wallet): fix bridge transactions (#20902)
- 99ccbc3 Cover wallet send events with tests Part 2 #20411 #20533 (#20721)
- 8c2d539 Enabling WalletConnect feature flag (#20906)
- 67c83b1 fix(wallet): remove edit routes button in bridging (#20874)
- 11a84ba feat(wallet): disable complex routing (#20901)
- 1f5bb57 chore(wallet): disable bridging on unsupported tokens (#20846)
- 4586f80 Add toggle in advanced settings for mobile data
- 55c620e fix: create password for small screen (#20645)
- 525609f Wallet Activity: transactions are not sorted by time #20808 (#20862)
- 9065395 chore(settings): Disable telemetry option (#20881)
- d27ab75 fix_:display group message using the new ui (#20787)
- c6a1db6 ci: enable split apks & build only for arm64-v8a (#20683)
- 73777e0 Ensure keycard account can send transaction after upgrading from v1 to v2 #20552 (#20845)
- a6d3fc3 [#20524] fix: the missed keypairs are shown in the key pair list screen (#20888)
- a671c70 fix broken screen and navigation when syncing fails (#20887)
- a45991b 🥅 Filter connected dapps based on testnet mode, reject proposals and requests gracefully (#20799)
- 2e9fa22 feat: wallet router v2 (#20631)
- 737d8c4 rename sub to fix error when requesting to join community (#20868)
- 3aa7e10 Sync process is blocked on Enabled notifications screen (#20883)
- c1d2d44 perf: Fix app freeze after login (#20729)
- 0fed811 e2e: updated testnet switching and added one test into smoke
- 53c35cb fix(wallet): Linear gradient exception on invalid colors for watched account cards (#20854)
- be82365 chore(settings)_: Remove testnet toggle from legacy advanced settings (#20875)
- eae8a65 feat(wallet)_: Add beta info box in activity tab (#20873)
- fe54a25 fix: not clearing network & web3-wallet on logout (#20886)
- 15a4219 Reject wallet-connect request by dragging the modal down (#20763) (#20836)
- 2ffbdac WalletConnect show expired toast (#20857)
- 402eb83 fix Issue with scrolling WalletConnect transaction on Android (#20867)
- ff88049 Fix WalletConnect header alignment on Android (#20860)
- cee2124 WalletConnect no internet edge-cases (#20826)
- 60ad7c8 chore(tests): New match-strict? cljs.test directive (#20825)
- 4989c92 fix_: Adding own address as saved addresses (#20839)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: DONE
8 participants