* fix(moralis-nft-errors): guard against concurrent NFT fetches and adjusts the message being presented to the user.
Previously multiple calls to get NFTs for the currently opened wallet could overlap and queue the error bottom sheet multiple times.
This change:
- Registers the NFTViewModel as a lazySingleton so its isLoading flag persists.
- Adds an early return in the call to fetch the wallet NFTs when isLoading is already true.
- Cleans up the error message being displayed to the user when there is an error.
* feat(moralis-nft-error): localize error message in NFTViewModel
* feat(nft/wc-bottom-sheet): Revamped the flow, service, theme, and UI for smoother UX
Revamps bottom‑sheet handling end‑to‑end to deliver a much more smoother experience.
This change:
- Refactors the BottomSheetService queueing logic to prevent races and ensure strict sequencing
- Update theme extensions and styling for the bottom‑sheet components
- Adds the option to either auto dismiss or allow user manually dismiss the bottomsheet
* fix: Context clash when entering the wallets on airplane mode. The flushbar clashes with the bottomSheet and results in it blocking entry to the selected wallet.
This change:
- Moves the logic for fetching nft to the listing page, no need fetching if the user does not route to the page,
- Routes to balance page when entering from wallet list page
- Adds a fade transition when entering the dashboard
- Reverts nftViewModel registeration to be a factory
* fix: Revert animation for now, prior to when the UX overhaul for the app is done
* fix: Remove duplicate registration
* feat: background sync improvements
- dev options on ci build cherrypick
- add permissions for background sync to AndroidManifestBase
- enable desugaring + update java compatibility to 17
- update walletconnect_flutter_v2
- update ens_dart
- update nostr_tools
- add notification for new transactions found in background
- expose more settings from flutter_daemon in UI
- remove battery optimization setting when it's already disabled
- fix notification permission handling
- fix background sync last trigger saving
- prevent notifications from being duplicated
* potential fix for multiple notifications firing for the same tx
* improve logging in background sync
* ui improvements to ignore battery optimization popup
* feat: logs for bg sync
disable decred bgsync
* fix: call store() directly to be sure that it is writing the data
* chore: rename logs to background sync logs
* Update lib/view_model/dashboard/dashboard_view_model.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* chore: remove unused key
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Reown WalletConnect Implementation
- Setup for Solana Chain
- Setup for EVM chain
- Enable signing messages and transactions on Solana Chain
- Fix issues related to signinig of transactions on Solana chain
- Decode mesage to human readable format - WIP
* Reown WalletConnect Implementation Continuation:
- Add readable text for signedTypedDatav4 and sendTransaction event requests
- Modify styling for bottomsheetModel
- Switch minimum deployment target to 13.0
- Gracefully handle errors
- Fix issues discovered while testing across dApps
* chore: ReownWalletConnectImplementation (Cont.)
- Remove unneeded code and files
- Rename files to match classes and vice versa
- Add maven jitpack repository for reown.com/yttrium repo
- Add better folder structuring to entire feature
- Add localization for all feature related texts
- Add testnet and devnet access for Solana Chain Service
- Add a better error message for Moralis NFT fetch
* feat:
- Add field to enter wc uri directly
- Handle bottomsheet not coming up after initial display
- Remove unneeded print statements
- Remove double display of success popup for session proposal bottomsheets
* fix:
- Add visual feedback to WC RelayClient Errors
- Adjust theme for bottomSheets
* Testing a theroy
* Temporarily add flags back
* Remove added flags and update proguard rules
* fix(android): update proguard-rules.pro and drop minify flags (#2199)
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Switch bottomsheet result from signOne to signAll
---------
Co-authored-by: cyan <cyjan@mrcyjanek.net>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Error while restoring Solana Wallet with PrivateKey
* fix: Enhance Solana Error Messages, especially for ATA Creation Errors
* - Optimize Solana Transaction History, now more smoother and faster
- fix bug with transactions history not being displayed in real time until next reload
* fix: Resolve Solana Issue from Github where user transaction showed amount and fee as the same
* - Improve code for backup cache
- Backup all Cached values without manually adding each one
* Exclude some cache keys from backup [skip ci]
* Exclude some cache keys from backup [skip ci]
* fix: more verbose errors in backups
* show user friendly error, but prompt to send the full logs [skip ci]
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
The desktop exchange screen was only showing the buy flow with no way
to switch to sell. This change adds the missing toggle to the DesktopExchangeCardsSection and links it up in the buy/sell page
Previously, every rebuild created a new FocusNode, so KeyboardListener never
held focus and missed key events on macOS.
This change:
- Moves the FocusNode into state and initializes it in initState
- Requests focus once after the first frame
- Disposes of the FocusNode in dispose
- Removes the inline FocusNode creation from build