Home /
Emurgo /
yoroi-mobile
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 (1)
Nov 29, 11-12 AM (0)
Nov 30, 12-1 AM (0)
Nov 30, 1-2 AM (0)
Nov 30, 2-3 AM (0)
Nov 30, 3-4 AM (0)
Nov 30, 4-5 AM (0)
Nov 30, 5-6 AM (0)
Nov 30, 6-7 AM (0)
Nov 30, 7-8 AM (0)
Nov 30, 8-9 AM (1)
Nov 30, 9-10 AM (2)
Nov 30, 10-11 AM (5)
Nov 30, 11-12 PM (0)
Nov 30, 12-1 PM (0)
Nov 30, 1-2 PM (0)
Nov 30, 2-3 PM (1)
Nov 30, 3-4 PM (2)
Nov 30, 4-5 PM (0)
92 commits this week
Nov 23, 2025
-
Nov 30, 2025
fix: exclude Jest types from main tsconfig
- Add exclude patterns for test files (*.test.ts, *.test.tsx, *.spec.ts, *.spec.tsx) - Set types: [] to disable automatic type inclusion - Jest types remain available via tsconfig.test.json for test files
fix: resolve disclaimer storage double-parsing bug
- Remove redundant parseSafe call in useDisclaimerState - getItem already parses values internally, causing double-parsing - Double-parsing boolean values returned undefined, making disclaimers always appear as unaccepted - Fix ensures boolean values are correctly stored and retrieved
fix: resolve TypeScript errors and test failures
- Fix type mismatches in test mocks (token-offchain-metadata, async-behavior, api-maker.mocks) - Update parseSafe and parseBoolean to handle null/boolean values correctly - Fix Jest config to handle ESM modules (react-error-boundary) - Fix error message handling in dexhunter API and fetcher - Fix parameter validation in cardano links to check original types - Update swap manager tests to match actual behavior
fix: prioritize cancel APIs and fix disclaimer storage
- Update cancel API priority: minswap -> steelswap -> dexhunter -> muesliswap (Muesliswap last due to malformed CBOR issues) - Fix disclaimer storage mutations to properly await async operations - Update tests to reflect new cancel API priority order
fix: replace any type with proper types in ReviewTxNavigator
- Replace React.ComponentType<any> with React.ComponentType<Record<string, unknown>> - Use double cast through unknown to satisfy both ESLint and TypeScript - Fix formatting to comply with Prettier rules
fix: improve type safety by replacing any types and fixing type errors
- Replace any types with unknown and proper type guards in error handling - Fix type mismatches in API adapters, storage adapters, and React components - Add explicit type annotations for generic functions and return types - Fix CertificateKind import to use value instead of type - Add type guards for RemoteCertificateMeta rewardAddress property - Fix navigation type assertions and component types - Improve type safety in swap manager, links parsers, and wallet utilities - Add proper type narrowing for unknown error types
refactor: eliminate 'any' types in production code and exclude test/mock files
- Replace all 'any' types in production code with proper types or 'unknown' - Add type guards (isError, isRecord, isAxiosError) for safe type narrowing - Fix certificate builders, navigation hooks, form handlers, and error handling - Update ESLint config to exclude test/mock files from no-explicit-any rule - All production code now passes @typescript-eslint/no-explicit-any checks
add rules for no explicity any, and no class
refactor: convert Blockies and Jazzicon from classes to functional patterns
- Refactored Blockies class to factory function with closures - Refactored Jazzicon class to factory function with closures - Updated all usages across codebase (removed 'new' keyword) - Updated tests to use functional pattern - Updated README documentation - All tests passing (7/7)
fix: fix runner.test.ts migration test failures
- Updated mock storage to properly handle JSON string storage/retrieval - Added mocks for initInstallationId and installationIdStorageKeyManager - Mocked migration functions to ensure they don't fail in tests - Fixed mock storage to use parseSafe as default parser for getItem - All migration runner tests now pass
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: resolve require cycles, replace console with logger, and fix lint/types
- Fix require cycle in Governance by moving useGovernanceActions to useGovernanceVoteFlow.tsx - Replace all console.* calls with logger throughout the codebase - Fix TypeScript errors and run prettier formatting - Rename useGovernanceVoteFlow.ts to .tsx to support JSX
fix: handle empty asset names in transaction formatting
- Fix bug where assets with empty name but valid policyId were skipped - Empty name is valid for native assets and should be processed - Allow empty string as assetNameHex when constructing tokenId - Update both construction and extraction paths to handle empty names
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.'
Yv 756 withdraw rewards governance popup (#4383)
Co-authored-by: jorbuedo <[email protected]>
fix: prevent invalid vote delegation when deregistering stake key
- Only add VoteDelegation certificate when not deregistering - Fix calculateRequiredAda to not subtract deregistration refund (refunds are in outputs, not inputs) - Ensures transaction validity and proper UTXO selection
refactor: update DRep ID handling in DashboardScreen
- Replace direct import of GOVERNANCE_YOROI_DREP_ID_HEX with getYoroiDrepIdHex function for network-aware DRep ID selection. - Ensure DashboardScreen uses the appropriate DRep ID based on the wallet's network.
Merge branch 'mobile-experimental' into YV-756-withdraw-rewards-governance-popup
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 QR illustration to scan QR code card in restore wallet
Added QRsIllustration component to the scan QR code option in the restore wallet screen, matching the visual style of the other mnemonic type options. Set size to 128x120 to match other illustrations.
Merge branch 'develop' into mobile-experimental