with one click
debug
// Debug common issues in the Ecency mobile app with known solutions and investigation patterns
// Debug common issues in the Ecency mobile app with known solutions and investigation patterns
Add a new feature or screen to the Ecency mobile app following established patterns
Add a new blockchain mutation wrapper using @ecency/sdk in the mobile app
Use an @ecency/sdk query in the mobile app or create a new app-specific query
Add a new bottom sheet (action sheet) to the mobile app
Review code changes for bugs, pattern violations, and common pitfalls in ecency-mobile
| name | debug |
| description | Debug common issues in the Ecency mobile app with known solutions and investigation patterns |
| argument-hint | ["issue-description"] |
| disable-model-invocation | true |
Investigate and fix issues in the Ecency mobile app. Start by identifying the category.
Auth methods: key (direct), hivesigner (OAuth WebView), hiveauth (keychain app)
Investigation:
currentAccount.local.authType — values: 1 (posting key), 2 (active key), 5 (HiveSigner), 7 (HiveAuth)src/providers/sdk/mobilePlatformAdapter.ts — all auth routing happens hereKnown issues:
broadcastWithHiveSigner in mobilePlatformAdapter.ts — uses RootNavigation.navigate to HIVE_SIGNER modalbroadcastWithHiveAuth → handleHiveAuthFallback in dhive.tsshowAuthUpgradeUI uses lazy-loaded SheetManager — check circular import issues_tempActiveKeyTimer in mobilePlatformAdapter.ts)Auth type mapping (src/utils/authMapper.ts):
AUTH_TYPE 1 (posting key) → 'key'
AUTH_TYPE 2 (active key) → 'key'
AUTH_TYPE 5 (HiveSigner) → 'hivesigner'
AUTH_TYPE 7 (HiveAuth) → 'hiveauth'
Investigation:
src/screens/transfer/screen/ (transferScreen, delegateScreen, etc.)src/providers/queries/walletQueries/@ecency/sdk — getVestingDelegationsQueryOptions, getHivePowerDelegatingsQueryOptions, etc.Known issues:
vestsToHp() expects string like "123.456789 VESTS" — don't pass raw numbers.message extraction before displayStack: React Navigation v6 with nested navigators
src/navigation/stackNavigator.tsxsrc/navigation/drawerNavigator.tsxsrc/navigation/botomTabNavigator.tsxsrc/navigation/rootNavigation.tsKnown issues:
src/constants/routeNames.ts AND registered in stackNavigatorroute.params not stale statesrc/hooks/useLinkProcessor.tsx for URL scheme handlingSystem: react-native-actions-sheet
Registry: src/navigation/sheets.tsx
Known issues:
useEffect(() => { reset() }, [payload]) to reset statesheets.tsx AND exported from src/components/index.tsxconst result = await SheetManager.show(...); if (!result) return;System: react-native-extended-stylesheet
Themes: src/themes/lightTheme.ts, src/themes/darkTheme.ts
Known issues:
$primaryBackgroundColor, $primaryBlack, etc.$variableKey theme variables:
| Variable | Light | Dark |
|---|---|---|
$primaryBackgroundColor | #FFFFFF | #1E2835 |
$primaryBlack | #3c4449 | #F5F5F5 |
$primaryLightBackground | #f6f6f6 | #131e29 |
$iconColor | #788187 | #F5F5F5 |
Investigation:
src/providers/queries/sdk-config.tssrc/providers/queries/index.tssrc/providers/queries/ and directly in screensKnown issues:
enabled flag — undefined params cause silent no-fetchinvalidateQueries in adapterConfigManager.setHiveNodes()Android:
# Gradle patch required for RN 0.79.5
bash patch-gradle.sh
# Clean build
cd android && ./gradlew clean && cd ..
yarn android
iOS:
# Reinstall pods
cd ios && pod install && cd ..
yarn ios
Metro bundler:
# Full cache clear
yarn clear
# Or just reset Metro cache
yarn start --reset-cache
src/screens/, components in src/components/useAppSelector(selectCurrentAccount) for user stateconsole.log for quick debuggingyarn lint # Check for lint errors
yarn lint:fix # Auto-fix lint issues
yarn start --reset-cache # Clear Metro cache
adb reverse tcp:9090 tcp:9090 # Reactotron Android