Home / Emurgo / yoroi-mobile
Nov 23, 12-1 AM (0)
Nov 23, 1-2 AM (0)
Nov 23, 2-3 AM (0)
Nov 23, 3-4 AM (0)
Nov 23, 4-5 AM (0)
Nov 23, 5-6 AM (0)
Nov 23, 6-7 AM (0)
Nov 23, 7-8 AM (0)
Nov 23, 8-9 AM (0)
Nov 23, 9-10 AM (0)
Nov 23, 10-11 AM (0)
Nov 23, 11-12 PM (0)
Nov 23, 12-1 PM (0)
Nov 23, 1-2 PM (0)
Nov 23, 2-3 PM (0)
Nov 23, 3-4 PM (0)
Nov 23, 4-5 PM (0)
Nov 23, 5-6 PM (0)
Nov 23, 6-7 PM (0)
Nov 23, 7-8 PM (0)
Nov 23, 8-9 PM (0)
Nov 23, 9-10 PM (0)
Nov 23, 10-11 PM (0)
Nov 23, 11-12 AM (0)
Nov 24, 12-1 AM (0)
Nov 24, 1-2 AM (0)
Nov 24, 2-3 AM (0)
Nov 24, 3-4 AM (0)
Nov 24, 4-5 AM (0)
Nov 24, 5-6 AM (1)
Nov 24, 6-7 AM (0)
Nov 24, 7-8 AM (2)
Nov 24, 8-9 AM (0)
Nov 24, 9-10 AM (3)
Nov 24, 10-11 AM (0)
Nov 24, 11-12 PM (0)
Nov 24, 12-1 PM (0)
Nov 24, 1-2 PM (0)
Nov 24, 2-3 PM (1)
Nov 24, 3-4 PM (2)
Nov 24, 4-5 PM (5)
Nov 24, 5-6 PM (1)
Nov 24, 6-7 PM (0)
Nov 24, 7-8 PM (0)
Nov 24, 8-9 PM (0)
Nov 24, 9-10 PM (2)
Nov 24, 10-11 PM (0)
Nov 24, 11-12 AM (0)
Nov 25, 12-1 AM (0)
Nov 25, 1-2 AM (0)
Nov 25, 2-3 AM (0)
Nov 25, 3-4 AM (0)
Nov 25, 4-5 AM (0)
Nov 25, 5-6 AM (0)
Nov 25, 6-7 AM (0)
Nov 25, 7-8 AM (5)
Nov 25, 8-9 AM (1)
Nov 25, 9-10 AM (1)
Nov 25, 10-11 AM (2)
Nov 25, 11-12 PM (1)
Nov 25, 12-1 PM (0)
Nov 25, 1-2 PM (0)
Nov 25, 2-3 PM (0)
Nov 25, 3-4 PM (2)
Nov 25, 4-5 PM (0)
Nov 25, 5-6 PM (0)
Nov 25, 6-7 PM (0)
Nov 25, 7-8 PM (2)
Nov 25, 8-9 PM (0)
Nov 25, 9-10 PM (3)
Nov 25, 10-11 PM (1)
Nov 25, 11-12 AM (1)
Nov 26, 12-1 AM (0)
Nov 26, 1-2 AM (0)
Nov 26, 2-3 AM (0)
Nov 26, 3-4 AM (0)
Nov 26, 4-5 AM (0)
Nov 26, 5-6 AM (0)
Nov 26, 6-7 AM (0)
Nov 26, 7-8 AM (0)
Nov 26, 8-9 AM (2)
Nov 26, 9-10 AM (1)
Nov 26, 10-11 AM (0)
Nov 26, 11-12 PM (1)
Nov 26, 12-1 PM (5)
Nov 26, 1-2 PM (5)
Nov 26, 2-3 PM (6)
Nov 26, 3-4 PM (2)
Nov 26, 4-5 PM (1)
Nov 26, 5-6 PM (1)
Nov 26, 6-7 PM (0)
Nov 26, 7-8 PM (0)
Nov 26, 8-9 PM (0)
Nov 26, 9-10 PM (0)
Nov 26, 10-11 PM (0)
Nov 26, 11-12 AM (3)
Nov 27, 12-1 AM (0)
Nov 27, 1-2 AM (0)
Nov 27, 2-3 AM (0)
Nov 27, 3-4 AM (0)
Nov 27, 4-5 AM (0)
Nov 27, 5-6 AM (0)
Nov 27, 6-7 AM (1)
Nov 27, 7-8 AM (0)
Nov 27, 8-9 AM (2)
Nov 27, 9-10 AM (0)
Nov 27, 10-11 AM (0)
Nov 27, 11-12 PM (2)
Nov 27, 12-1 PM (0)
Nov 27, 1-2 PM (0)
Nov 27, 2-3 PM (0)
Nov 27, 3-4 PM (1)
Nov 27, 4-5 PM (0)
Nov 27, 5-6 PM (0)
Nov 27, 6-7 PM (0)
Nov 27, 7-8 PM (1)
Nov 27, 8-9 PM (0)
Nov 27, 9-10 PM (0)
Nov 27, 10-11 PM (1)
Nov 27, 11-12 AM (0)
Nov 28, 12-1 AM (0)
Nov 28, 1-2 AM (0)
Nov 28, 2-3 AM (0)
Nov 28, 3-4 AM (0)
Nov 28, 4-5 AM (0)
Nov 28, 5-6 AM (0)
Nov 28, 6-7 AM (0)
Nov 28, 7-8 AM (0)
Nov 28, 8-9 AM (0)
Nov 28, 9-10 AM (1)
Nov 28, 10-11 AM (1)
Nov 28, 11-12 PM (0)
Nov 28, 12-1 PM (0)
Nov 28, 1-2 PM (0)
Nov 28, 2-3 PM (0)
Nov 28, 3-4 PM (0)
Nov 28, 4-5 PM (0)
Nov 28, 5-6 PM (2)
Nov 28, 6-7 PM (0)
Nov 28, 7-8 PM (0)
Nov 28, 8-9 PM (0)
Nov 28, 9-10 PM (0)
Nov 28, 10-11 PM (0)
Nov 28, 11-12 AM (0)
Nov 29, 12-1 AM (0)
Nov 29, 1-2 AM (0)
Nov 29, 2-3 AM (0)
Nov 29, 3-4 AM (0)
Nov 29, 4-5 AM (0)
Nov 29, 5-6 AM (0)
Nov 29, 6-7 AM (0)
Nov 29, 7-8 AM (0)
Nov 29, 8-9 AM (0)
Nov 29, 9-10 AM (0)
Nov 29, 10-11 AM (4)
Nov 29, 11-12 PM (0)
Nov 29, 12-1 PM (0)
Nov 29, 1-2 PM (0)
Nov 29, 2-3 PM (0)
Nov 29, 3-4 PM (0)
Nov 29, 4-5 PM (0)
Nov 29, 5-6 PM (0)
Nov 29, 6-7 PM (0)
Nov 29, 7-8 PM (0)
Nov 29, 8-9 PM (1)
Nov 29, 9-10 PM (0)
Nov 29, 10-11 PM (0)
Nov 29, 11-12 AM (0)
Nov 30, 12-1 AM (0)
80 commits this week Nov 23, 2025 - Nov 30, 2025
fix: reload all wallets on network change and improve logging
- Reload all wallets when network changes (not just new ones)
  This ensures wallets get the correct networkManager for the new network
  and balances/tokens update properly when switching between mainnet/preprod

- Change swap manager warnings to debug logs
  When all swap APIs fail (e.g., on testnet), log at debug level instead
  of warning to reduce noise in production logs

- Change read-only wallet errors to debug logs
  When read-only wallets don't have address data for a network (expected
  when switching networks), log at debug level instead of error level
fix: correct asset amount calculation for transactions with empty asset names
- Fix bug where assets with empty name but valid policyId were incorrectly normalized to primary token
- Empty name is valid for native assets and should be tracked separately
- This was causing incorrect displayed amounts in transaction history (showing asset amounts as ADA)
- Properly construct tokenId for assets with empty names as 'policyId.'
docs: add extension greenfield migration plan
Add comprehensive migration plan for creating new browser extension
in monorepo with shared packages extracted from mobile app.

Plan includes:
- Monorepo setup and package extraction strategy
- Extension project initialization with Vite/React Query 5
- Feature migration approach (incremental porting)
- Challenges and solutions for platform differences
- Testing and documentation strategy
feat: add preprod DRep ID support for governance
- Add GOVERNANCE_YOROI_DREP_ID_HEX_PREPROD constant with preprod DRep ID
- Create getYoroiDrepIdHex() helper function to return network-appropriate DRep ID
- Update all components to use network-aware DRep ID selection:
  - YoroiDrepCard now shows correct DRep ID based on wallet network
  - useEarnRewardsDelegation uses network-aware DRep ID
  - StakingCenter uses network-aware DRep ID for combined delegations
  - useGovernanceVoteFlow uses network-aware DRep ID for comparisons
  - ChangeVoteScreen uses network-aware DRep ID
  - All helper functions updated to use network-aware DRep ID
- Maintain backward compatibility with legacy GOVERNANCE_YOROI_DREP_ID_HEX export
- Add tests for new constants and helper function
refactor: create utility function for safe txId extraction in onSuccess callbacks
- Add getTxIdFromArgs utility function to safely extract txId from callback args
- Prioritizes args?.txId (already calculated), falls back to unsigned CBOR (safe), then signedTx (with null checks)
- Replace manual txId calculations in onSuccess callbacks with utility function:
  - useDappConnectorManager.tsx: collateral reorganization transactions
  - ManageCollateralScreen.tsx: collateral creation transactions
  - helpers.tsx: governance action tracking (delegate, vote)
- Prevents CSL null pointer errors by using safe fallback hierarchy
- Ensures consistent behavior across all transaction flows
fix: improve transaction error handling and fix collateral tx hash calculation
- Add comprehensive error logging in useOnConfirm and useSubmitTx for transaction failures
- Fix CSL Optional handling in signatureUtils for collateral (use Optional directly instead of calling .value())
- Fix collateral transaction hash calculation to use txId from args when available
- Add null checks before calling toBytes() on Transaction objects
- Improve error messages to extract Cardano-specific errors from nested structures
fix: restore wallet from QR code navigation and password manager prompts
- Fix navigation error when restoring wallet via QR code on fresh install (no wallets)
  - Check hasWallets before navigating through manage-wallets
  - Use reset() instead of navigate() for proper nested navigation typing
- Prevent password manager prompts during wallet restoration
  - Use textContentType='none' and autoComplete='off' for password fields
  - Apply to both restore-from-link and regular mnemonic restore flows
feat: improve restore wallet flow with QR code scanning and keyboard positioning
- Fix suggestion box positioning above keyboard on real devices in mnemonic input
- Add scan QR code option to ChooseMnemonicTypeScreen for restoring from QR codes
- Improve navigation for restore-from-link to use reset() instead of navigate() to prevent blocking
- Add scan QR code translations for all supported locales
- Remove any type usage in useActionExecutor navigation code