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

fix: add refresh balance on inFocus event #2734

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Jonathansoufer
Copy link
Collaborator

Related Issue

Closes #
2646

Description of Changes

This PR fixes a bug allowing user's balance to get updated after coming from WebView/InApp Browser. This was first noticed when a user was claiming B3TR and getting back to main/home view. Balance wasn't updated automatically but triggered after forced updated (dragging down). Now balances get updated every time home screen gets backed to be in focus.

Reviewer(s)

@grenos @Doublemme @mfrezzati

UI/UX Changes

Screen.Recording.2025-02-26.at.10.07.30.mov

Checklist

  • Code adheres to project guidelines and conventions.
  • Unit tests, if applicable, are updated and passing.
  • Documentation, if applicable, has been updated.
  • UI/UX changes include visuals (video or screenshots).

Thank you for contributing! 🎉

Copy link

Jest Report

Summary

Lines Statements Branches Functions
Coverage: 92%
93.02% (1748/1879) 85.64% (537/627) 95.87% (302/315)

Tests

Tests Skipped Failures Errors Time
878 0 💤 0 ❌ 0 🔥 8m 11s ⏱️
Coverage (92%)
File% Stmts% Branch% Funcs% LinesUncovered Line #s
All files93.0285.6495.8792.78 
AccountUtils100100100100 
   AccountUtils.ts100100100100 
ActivityUtils100100100100 
   ActivityUtils.ts100100100100 
AddressUtils100100100100 
   AddressUtils.ts100100100100 
AlertUtils10010080100 
   Alert.ts10010080100 
ArrayUtils100100100100 
   ArrayUtils.ts100100100100 
BalanceUtils97.878010097.61 
   BalanceUtils.ts97.878010097.6178
BigNumberUtils10097.5100100 
   BigNumberUtils.ts10097.5100100195
BiometricsUtils95.389591.6696.29 
   BiometricErrors.ts88.8891.668091.354–55
   Biometrics.ts100100100100 
BloomUtils100100100100 
   BloomUtils.ts100100100100 
CacheKeyUtils100100100100 
   CacheKeyUtils.ts100100100100 
ColorUtils100100100100 
   ColorUtils.ts100100100100 
CryptoUtils96.5978.5710097.56 
   CryptoUtils.ts96.5978.5710097.5650, 68
CryptoUtils/Helpers76.3458.6288.8876.34 
   fastKeystoreDecrypt.ts76.3458.6288.8876.3433, 53, 69, 75, 80, 104, 110, 126, 138–162
CryptoUtils_Legacy100100100100 
   CryptoUtils_Legacy.ts100100100100 
CryptoUtils_Legacy/Helpers76.3458.6288.8876.34 
   fastKeystoreDecrypt.ts76.3458.6288.8876.3433, 53, 69, 75, 80, 104, 110, 126, 138–162
DAppUtils63.1552.837561.81 
   DAppUtils.ts63.1552.837561.8158, 65–116
DateUtils100100100100 
   DateUtils.ts100100100100 
DeviceUtils100100100100 
   DeviceUtils.ts100100100100 
ErrorMessageUtils100100100100 
   ErrorMessageUtils.ts100100100100 
FormUtils100100100100 
   FormUtils.ts100100100100 
FormattingUtils96.8791.66100100 
   FormattingUtils.ts96.8791.6610010026
GasUtils93.0573.810094.11 
   GasUtils.ts93.0573.810094.1152, 202–206
HexUtils94.2875100100 
   HexUtils.ts94.287510010063–65
IPFSUtils100100100100 
   IPFSUtils.ts100100100100 
LedgerUtils75.2491.6683.3373.95 
   LedgerUtils.ts75.2491.6683.3373.9583–87, 125–150, 179–184, 229–237, 294, 313–314
LocaleUtils10050100100 
   LocaleUtils.ts100501001006
LockScreenUtils100100100100 
   LockScreenUtils.ts100100100100 
Logger958010095 
   Logger.ts95801009538
MathUtils100100100100 
   MathUtils.ts100100100100 
MediaUtils10095.65100100 
   MediaUtils.ts10095.6510010078
MergeUtils100100100100 
   MergeUtils.ts100100100100 
PasswordUtils76.19505075 
   PasswordUtils.ts76.1950507563–64, 68, 72–73
PicassoUtils100100100100 
   PicassoUtils.ts100100100100 
PlatformUtils100100100100 
   PlatformUtils.ts100100100100 
ReanimatedUtils93.3376.9210096.29 
   Reanimated.ts93.3376.9210096.2958
SemanticVersionUtils100100100100 
   SemanticVersionUtils.ts100100100100 
SignMessageUtils100100100100 
   SignMessageUtils.ts100100100100 
StringUtils100100100100 
   StringUtils.ts100100100100 
TokenUtils100100100100 
   TokenUtils.ts100100100100 
TransactionUtils97.2692.197.2997.64 
   TransactionUtils.ts97.2692.197.2997.64706–712, 802–806
TransfersUtils10080100100 
   TransfersUtils.ts10080100100100
URIUtils100100100100 
   URIUtils.ts100100100100 
WalletConnectUtils89.990.988.2390.29 
   WalletConnectUtils.tsx89.990.988.2390.2924–47

useFocusEffect(
useCallback(() => {
updateBalances()
// eslint-disable-next-line react-hooks/exhaustive-deps
Copy link
Collaborator

Choose a reason for hiding this comment

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

avoid this one, provide the updateBalances in deps array if do not create any issues on the behavior

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The problem is using updateBalances as the dependency creates a endless loop effect. That was the reason behind the ignoring pattern. wdyt?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants