2.8.6
Flow Reference Wallet Extension 2.8.6
π Key Highlights
π Better dApp Connectivity & Stability
- Improved Multi-Wallet Support (#1046): Reworked the provider injection logic to ensure our extension co-exists peacefully with other wallets like MetaMask. The extension now intelligently routes
ethereum.request
calls, only handling requests intended for Flow Wallet. This prevents conflicts and ensures dApps connect to the correct wallet, providing a seamless user experience even with multiple wallet extensions installed. - Improved Privy Integration (#1067): Corrected a race condition that prevented the provider from being initialised properly. Resolved loading issues when dev wallet is installed by isolating the extension's
localStorage
. We now use environment-specific prefixes for storage keys (frw-dev:
,frw-beta:
,frw:
), which prevents data collisions between different extension builds (e.g., development, beta, production) and ensures Privy initializes correctly every time.
π± Account Management Redesign
- Complete overhaul of account listing interface (#974, #1009) with better hierarchy display showing main β EVM β child account relationships
- New Menu Drawer design with improved navigation and account switching
- Account menu icon improvements (#977)
- Redesigned profile selection in account menu (#978)
- Enhanced account cards with better visual indicators and balance display
- Improved handling of multi-account scenarios
π’ Improved Balance Display
- Token balances now use a common decimal formatting for better readability and to ensure non-zero amounts are never shown as zero (#1045).
- Balance > 0: Rounded to 2 decimal places, with trailing zeros trimmed.
- 0.01 <= Balance < 1: Shown with 2 decimal places.
- 0.001 <= Balance < 0.01: Shown with 3 decimal places.
- 0.0001 <= Balance < 0.001: Shown with 4 decimal places.
- 0 < Balance < 0.0001: Shown in a condensed format (e.g., 0.0β1).
- Balance = 0: Shown as "0".
π KittyPunch Swap Integration
- New Swap Provider (#1049): Replaced the existing EVM swap functionality with KittyPunch.
π² Mobile App Integration
- New mobile import workflow (#979) with step-by-step visual guidance for users migrating from the Flow Wallet mobile app.
- Updated import interface with a dedicated mobile app tab and clearer instructions.
π¨ UI/UX Updates
- UI Fixes (#1058, #1061): Addressed various layout issues, including EVM address display and import links.
- Updated terminology: "Seed Phrase" β "Recovery Phrase" throughout the app.
- Improved responsive design and better visual feedback.
- Enhanced account avatars with support for pending states.
π οΈ Technical Improvements
- Environment-Specific Storage (#1067): Refactored local storage handling to support environment-specific prefixes, preventing data collisions between development, beta, and production builds.
- Build & CI/CD Enhancements (#1043, #1050, #1055): Updated the build process, corrected Webpack configuration for GitHub Actions, and added new project rules.
- Pre-release Beta Indicator (#1060): Added a "beta" tag to the extension icon for pre-release builds to make them easily distinguishable.
- Playwright Test Reports (#1034, #1037): Test reports are now hosted on GitHub Pages with automatic sanitization.
- Enhanced Test Tracing Controls (#1031) for better debugging.
- Font Loading Fix (#1052): Corrected an issue where fonts were not loading properly.
- Improved Error Handling (#1069): Wrapped error-capturing logic in a
try-catch
block to prevent circular error reporting, making the extension more stable.
π Key Bug Fixes
- Addressed a critical loading issue with the Privy SDK (#1067).
- Fixed request routing to prevent conflicts with other wallets (#1046).
- Fixed account key listing for multi-account wallets (#1027).
- Resolved race conditions in wallet state management.
- Corrected account switching logic for EVM and child accounts.
Issues Resolved: #974, #975, #977, #978, #979, #1009, #1027, #1031, #1034, #1037, #1039, #1043, #1045, #1046, #1049, #1050, #1052, #1055, #1058, #1060, #1061, #1067, #1069
What's Changed
- 759-feature-replace-consoleerror-with-error-logger-function by @tombeckenham in #943
- 969-task-resolve-master-dev-conflicts by @tombeckenham in #970
- Dev by @tombeckenham in #963
- fixed: check child accouunt script update and fix get storage by @zzggo in #968
- feat: add register status when scanning from mobile by @zzggo in #971
- Partial update to store public key and algos in keyring by @tombeckenham in #972
- fixed: add switch network component by @zzggo in #988
- Updated to fcl 1.18 (websocket support) by @tombeckenham in #986
- fixed: add optional currency code for coinlist to prevent extra render by @zzggo in #989
- 905-feature-complete-data-storage by @tombeckenham in #990
- Generated doc to document all the places where scripts are called from by @tombeckenham in #987
- 965 bug security feedbacks by @zzggo in #991
- 2.8.5 by @tombeckenham in #993
- 994-task-reorganise-ui-components by @tombeckenham in #995
- refactor: update current_device logic and replace Box with IconButton in KeyList component by @tombeckenham in #999
- 966 bug add loading page when sync with mobile hotfix by @zzggo in #1000
- 977-feature-account-menu-icon by @tombeckenham in #1003
- 974-feature-account-listing by @tombeckenham in #1008
- 978 feature profiles in account menu by @zzggo in #1010
- Updated to use hooks in the component by @tombeckenham in #1011
- Santizes reports before uploading by @tombeckenham in #1032
- 979-feature-import-mobile-profile by @tombeckenham in #1017
- fixed: use the selected address by @zzggo in #1028
- Host santised reports by @tombeckenham in #1035
- add story for playwright test reports by @nialexsan in #1038
- 975 feature add an account create new account by @zzggo in #1015
- Filters out accounts with revoked keys and weight of less than 1000. Validates active accounts when loading by @tombeckenham in #1041
- Update build configurations and package dependencies by @tombeckenham in #1051
- Refactor webpack configuration to use asset/resource for images and fonts by @tombeckenham in #1053
- 1046 update only the function fix by @zzggo in #1047
- chore: update .gitignore and clean up build workflow by @tombeckenham in #1056
- Changed evm swap link to KittyPunch by @tombeckenham in #1057
- 1058-task-small-ui-fixes---evm-add-account-icon-and-import-link by @tombeckenham in #1059
- 1045-feature-common-decimals-for-token-balances by @tombeckenham in #1054
- Fix layout issue on dev branch by @tombeckenham in #1062
- 1060-feature-add-beta-to-icon-for-pre-release-build by @tombeckenham in #1064
- Privy loading issue by @tombeckenham in #1068
- Wrapped message sending to prevent error logging generating more errors by @tombeckenham in #1070
Full Changelog: 2.8.5...2.8.6