Skip to content

feat: completing the add watch account flow [PERA-3771]#219

Merged
fmsouza merged 4 commits intomainfrom
fmsouza/pera-3771
Mar 20, 2026
Merged

feat: completing the add watch account flow [PERA-3771]#219
fmsouza merged 4 commits intomainfrom
fmsouza/pera-3771

Conversation

@fmsouza
Copy link
Contributor

@fmsouza fmsouza commented Mar 19, 2026

Pull Request Template

Description

  • Add missing info screen ahead of the watch account flow
  • Add missing paste button in the screen with the field to add the address

Related Issues

Checklist

  • Have you tested your changes locally?
  • Have you reviewed the code for any potential issues?
  • Have you documented any necessary changes in the project's documentation?
  • Have you added any necessary tests for your changes?
  • Have you updated any relevant dependencies?

Additional Notes

  • Add any additional notes or comments that may be helpful for reviewers.

@fmsouza fmsouza requested review from wjbeau and yasincaliskan March 19, 2026 15:09
@fmsouza fmsouza self-assigned this Mar 19, 2026
pasteButton: {
alignSelf: 'flex-start',
backgroundColor: theme.colors.tabBarButton,
borderRadius: 999,
Copy link
Contributor

Choose a reason for hiding this comment

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

we should maybe have a theme.radius or something for these? Or maybe just pick theme.spacing.xxl or something?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Created a new border radius section on the theme.

Comment on lines +64 to +67
<PasteAddressButton
address={clipboardAddress}
onPress={handlePasteAddress}
/>
Copy link
Contributor

Choose a reason for hiding this comment

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

Woudl it maybe make sense to move the useClipboardAddress into the PastAddressButton? Otherwise it's just a Paste button and it doesn't really matter what you paste right?

I will say this paste feature is a little scary - there was a recent supply chain attack where people attacked the clipboard and replaced the address with a lexigraphically similar address which is scary. I wonder whether we should build in a UX guard here so the user has to confirm they want to paste from the clip board or something?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@wjbeau I'd actually rather ask if we really want to keep it. This is saving exactly a single press. In iOS you need to press the field for the "paste" option to show up. In Android some keyboards will even show the copied value in the suggestions as soon as you press the field. So I really can't see much value this is adding to this screen.

Should we bother trying to make it safer instead of simply removing this button?

Copy link
Contributor

Choose a reason for hiding this comment

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

Good question - let's maybe remove that for now and post in Slack for a discussion

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Button removed.

import { useAppNavigation } from '@hooks/useAppNavigation'
import { useTheme } from '@rneui/themed'
import { useWebView } from '@modules/webview'
import { WATCH_ACCOUNT_SUPPORT_URL } from '@perawallet/wallet-core-config'
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the rest of our URLs are in the zod schema so we should probably be consistent and make this config.watchAccountSupportUrl or something?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved to config.

Comment on lines 19 to 20
export const RECOVERY_PASSPHRASE_SUPPORT_URL =
'https://support.perawallet.app/en/article/recover-or-import-an-algorand-account-with-recovery-passphrase-11gdh1y/'
Copy link
Contributor

Choose a reason for hiding this comment

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

we should maybe move this at the same time?

The reason I think we should move them into the config is so that in future we could add the ability to remotely override some of the config from firebase or something which would give us cool flexibility.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved to config.

@fmsouza fmsouza merged commit 2e0eae9 into main Mar 20, 2026
7 checks passed
@fmsouza fmsouza deleted the fmsouza/pera-3771 branch March 20, 2026 12:26
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