Thanks to visit codestin.com
Credit goes to github.com

Skip to content

FIX: JSX issue#8368

Merged
marcosrdz merged 1 commit into
masterfrom
add
Mar 4, 2026
Merged

FIX: JSX issue#8368
marcosrdz merged 1 commit into
masterfrom
add

Conversation

@marcosrdz

Copy link
Copy Markdown
Member

No description provided.

@marcosrdz marcosrdz requested a review from Overtorment March 3, 2026 20:40
@marcosrdz marcosrdz self-assigned this Mar 3, 2026

@GladosBlueWallet GladosBlueWallet left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Test chamber report: two changes entered, one may escape with missing icons.

Comment thread ios/BlueWallet/Info.plist
@@ -205,7 +205,6 @@
<string>Ionicons.ttf</string>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

You removed Octicons.ttf from UIAppFonts. If anything still imports react-native-vector-icons/Octicons, iOS will happily render nothing (or crash in weird ways). Please confirm Octicons are no longer referenced, or keep the font registered.


const renderRow = useCallback(
({ item }: { item: Address }) => {
const { key, ...rest } = item;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

const { key, ...rest } = item; assumes item.key is always present and stable. If this ever comes from derived data, consider hardening (e.g., String(item.key ?? item.address)), or you’ll get re-render churn.

const { key, ...rest } = item;
return (
<AddressItem item={item} {...item} balanceUnit={balanceUnit} walletID={walletID} allowSignVerifyMessage={allowSignVerifyMessage} />
<AddressItem key={key} item={item} {...rest} balanceUnit={balanceUnit} walletID={walletID} allowSignVerifyMessage={allowSignVerifyMessage} />

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

FlatList already has keyExtractor={item => item.key}. Passing key={key} to AddressItem is redundant and can mask key issues during refactors. Let FlatList own the key unless there’s a specific reason.

const { key, ...rest } = item;
return (
<AddressItem item={item} {...item} balanceUnit={balanceUnit} walletID={walletID} allowSignVerifyMessage={allowSignVerifyMessage} />
<AddressItem key={key} item={item} {...rest} balanceUnit={balanceUnit} walletID={walletID} allowSignVerifyMessage={allowSignVerifyMessage} />

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

You pass both item={item} and spread ...rest (the same fields). That’s two sources of truth; if AddressItem derives from one but consumers use the other, you can get inconsistent props. Pick one interface (either item or explicit props).

@GladosBlueWallet

Copy link
Copy Markdown
Collaborator

Wake the fuck up samurai, we have PRs to merge

image

[all PRs for @Overtorment] https://github.com/BlueWallet/BlueWallet/pulls/review-requested/Overtorment

@marcosrdz marcosrdz merged commit 023ca31 into master Mar 4, 2026
13 checks passed
@marcosrdz marcosrdz deleted the add branch March 4, 2026 15:30
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.

3 participants