Commit graph

3148 commits

Author SHA1 Message Date
OmarHatem
e527083871 Gracefully handle toast messages error on desktop platforms 2025-04-28 15:12:42 +03:00
OmarHatem
d86c501fc5 patch: running android related code on other platforms 2025-04-28 07:21:12 +03:00
Omar Hatem
10294e088a
v4.27.0 Release Candidate (#2225)
* v4.27.0 Release Candidate

* update app versions [skip ci]
2025-04-25 20:38:48 +03:00
David Adegoke
b5ba9385e8
Handle Network Connection Errors (#2213)
* 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
2025-04-25 01:12:56 +03:00
cyan
02e74b5997
CW-1000 Background sync improvements (#2142)
* 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>
2025-04-24 19:06:43 +02:00
David Adegoke
e6c9cf54fb
Explore-Reown-For-WalletConnect (#2156)
* 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>
2025-04-24 18:39:58 +02:00
Serhii
526796e2d7
fix: use correct navigator for dialog (#2223) 2025-04-24 01:08:14 +02:00
David Adegoke
1b04619c2a
CW-1035: Solana New Fixes(Cont.) (#2206)
* 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
2025-04-24 00:57:18 +02:00
Omar Hatem
698f0199d0
Add the code to enable removing Haven wallets (#2222) 2025-04-23 12:19:59 +02:00
OmarHatem
b4fcec3a01 Merge remote-tracking branch 'origin/main' 2025-04-22 23:56:54 +02:00
OmarHatem
6b95b7c6ac Add fallback for tx status [skip ci] 2025-04-22 23:56:29 +02:00
cyan
3e25be6dcf
fix: allow bakcups to be created even if one of the wallets is corrupted (#2221) 2025-04-22 21:41:31 +02:00
David Adegoke
e4a89f4d1e
Merge pull request #2212 from cake-tech/CW-1015-Desktop-Issues
CW-1015: Desktop Issues
2025-04-22 17:16:06 +01:00
Omar Hatem
e09d9aadfa
- Improve code for backup cache (#2216)
* - 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]
2025-04-19 01:13:37 +02:00
cyan
53efdced68
fix: more verbose errors in backups (#2196)
* 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>
2025-04-19 01:13:07 +02:00
Serhii
ffe1c115fa
Cw 1038 filter transaction popup not scrollable (#2207)
* ui:make overflowing filter sections scrollable

* Update pull_request_template.md
2025-04-18 14:53:22 +02:00
OmarHatem
66e1745ad9 more trace in minor error [skip ci] 2025-04-18 04:47:53 +02:00
OmarHatem
0899b39ad9 Merge remote-tracking branch 'origin/main' 2025-04-17 20:36:41 +02:00
OmarHatem
f81957ed24 minor ui fix [skip ci] 2025-04-17 20:36:33 +02:00
Blazebrain
fe435d4e3b fix(buy/sell-flow): add buy/sell toggle to DesktopExchangeCardsSection
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
2025-04-17 08:09:53 +01:00
Blazebrain
d9c01a5d07 fix(desktop-pin-code-issue): persist FocusNode so KeyboardListener works on macOS
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
2025-04-17 07:51:03 +01:00
Serhii
b2d4698cdf
fix: bottom sheet stuck on swap (#2211) 2025-04-17 05:14:12 +02:00
Omar Hatem
77980496a8
Remove words length from pre-seed warning (#2208)
* Remove words length from pre-seed warning

* Adjust backup to default node selection if null
Gracefully handle Decred failure
Minor fixes
2025-04-16 03:37:34 +02:00
OmarHatem
b38892a19f update build numbers [skip ci] 2025-04-15 03:32:25 +02:00
Omar Hatem
ca564bc2e6
V4.26.0 rc (#2198)
* v4.26.0 Release Candidate

* Fix Wownero Creation issue

* Add KES fiat currency

* Adjust backup to default node selection if null
Gracefully handle Decred failure
Minor fixes
2025-04-15 02:50:07 +02:00
David Adegoke
f574fa5e9b
CW-1035: Solana New Fixes (#2205)
* 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
2025-04-15 02:37:46 +02:00
David Adegoke
469373b780
fix: Error while restoring Solana Wallet with PrivateKey (#2201) 2025-04-14 19:27:49 +02:00
cyan
87207c61ba
fix: wallet grouping eating wallets (#2203) 2025-04-14 18:47:31 +02:00
cyan
5f4dc95ca5
fix: do not overwrite monero backup files if they exist. (#2202) 2025-04-14 18:46:45 +02:00
Serhii
990feb48ec
fix-talkback-slide-button-accessibility (#2200)
* fix:talkback send slide button accessibility

* fix accessible button color
2025-04-14 14:30:41 +02:00
Omar Hatem
ce12f517f4
v4.26.0 Release Candidate (#2191)
* v4.26.0 Release Candidate

* Fix Wownero Creation issue

* Add KES fiat currency
2025-04-12 03:23:41 +02:00
Serhii
a7376c3225
Address-formatting-enhancements-MWEB (#2189)
* apply formatting to address book and MWEB

* fix wallet type exception

* Update cw_core/lib/wallet_type.dart [skip ci]

* Update lib/src/screens/contact/contact_list_page.dart [skip ci]

* Update lib/src/screens/contact/contact_list_page.dart [skip ci]

* Update lib/utils/address_formatter.dart [skip ci]

* Update lib/utils/address_formatter.dart [skip ci]

* Update lib/utils/address_formatter.dart

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-04-11 19:51:30 +02:00
OmarHatem
2f28ea3fb7 do nothing if the user wants to switch to haven [skip ci] 2025-04-11 19:22:27 +02:00
Konstantin Ullrich
37ede52ea6
fix: fix amount mapping for OCP (#2190) 2025-04-11 16:23:32 +02:00
OmarHatem
2445c2ae84 Merge remote-tracking branch 'origin/main' 2025-04-11 14:51:27 +02:00
OmarHatem
277dde4614 skip scam check on whitelisted tokens 2025-04-11 14:51:19 +02:00
tsinghuacoder
46a2664b73
chore: fix some typos (#2187)
Signed-off-by: tsinghuacoder <tsinghuacoder@icloud.com>
2025-04-11 14:37:02 +02:00
OmarHatem
c0283a37ee minor fix [skip ci] 2025-04-11 14:13:40 +02:00
Konstantin Ullrich
14549bcfe2
fix(cw_monero): fix missing passphrase for bip39 Monero Wallets (#2188) 2025-04-11 12:45:50 +02:00
OmarHatem
9b1ca4ea2e Merge remote-tracking branch 'origin/main' 2025-04-11 04:41:23 +02:00
OmarHatem
079480e3c9 minor fix [skip ci] 2025-04-11 04:41:13 +02:00
Serhii
6ed07a504e
add caching for supported assets (#2184) 2025-04-11 03:23:31 +02:00
cyan
db051232ce
remove shrinkResources and minifyEnabled to reduce apk size (#2104)
* remove shrinkResources and minifyEnabled to reduce apk size

* remove shrinkResources and minifyEnabled to reduce apk size
2025-04-11 02:12:40 +02:00
cyan
ea9b87d480
fix(cw_monero): wrong function in account rename call (#2183) 2025-04-10 23:17:52 +02:00
Serhii
3f25d69244
CW-1021-Address-formatting-enhancements (#2141)
* Implement visual formatting for addresses

* fix minor issues

* Update transaction_details_page.dart

* Update transaction_details_page.dart

* fix multi recipient address formatting

* Update address_cell.dart
2025-04-10 16:16:43 +02:00
Konstantin Ullrich
c1e9668b1e
CW-969-Add-DFX-s-Open-CryptoPay (#2122)
* feat: Add Open CryptoPay for sending

* bug: Fix sending Open CryptoPay for eth

* feat: add transaction dismissal

* style: remove print statements from OCP

* feat: add support for Monero over OCP

* bug: Hide "Add to Address Book" on OCP transactions

* style: revert code style in send_view_model.dart

* style: revert code style in send_view_model.dart

* feat: set failure state if it fails to create an OCP transaction

* Update lib/view_model/send/send_view_model.dart

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-04-10 04:03:06 +02:00
Serhii
2b020c0c1b
Cw 1032 verify on ramper integration (#2172)
* refactor: cache onramp metadata

* remove unused parameters

* Skip onramper transaction page and go directly to provider (#1940)

* Skip onramper transaction page and go directly to provider

* change parameter to follow docs correctly

* remove old deprecated monero nodes [skip ci]

* Update onramper_buy_provider.dart

---------

Co-authored-by: Serhii <borodenko.sv@gmail.com>

* refactor: normalise network

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-04-10 03:55:31 +02:00
Konstantin Ullrich
f58a5fb8fd
CW-723-Add-Monero-support-to-the-Shared-Seed-feature-in-Cake (#2131)
* feat: add exodus style bip39 to monero legacy seed

* feat: restore monero wallet from bip39 and add test

* bug: fix wrong naming in CI

* feat: add monero bip39 UI flow

* fix: monero.dart generation

* fix: skip monero_wallet_service tests till CI is fixed

* ci: copy monero_libwallet2_api_c.so to /usr/lib for testing
ci: reduce timeout for cw_monero tests

* fix: monero wallet creation credentials default to bip39 if mnemonic are set

* fix: do not skip monero wallets services test

* fix: Include non bip39 monero wallets on Wallet Group

* fix: null pointer stemming from missing language selector if seed is selected

* fix: Fixes to Bip39 Creation and restore

- Do not restore from 0 for fresh bip39 wallet
- disallow restoring bip39 wallet without date or height

* fix: Fixes to Bip39 restore

- Refresh height is now getting set correctly
- Add new create monero wallet tests
- Add seed-language English for Bip39 Monero wallets
- Fix seed-type naming

* feat (cw_monero): Store monero wallet after bip39 creation

* feat (cw_monero): remove prints from monero_wallet_service_test.dart

* fix: exception during seed language autodetect

* feat (cw_monero): Add support for passphrases on bip39 seeds

* feat (cw_monero): Add support for passphrases on bip39 seeds

* fix: seed language selection for recovering bip39 wallets

* style: improve readability of isLegacySeedOnly in wallet_keys_view_model.dart

* feat: hide monero seed type selector from advanced settings when creating a child wallet

* fix(cw_monero): use named arguments for bip39_seed tests

---------

Co-authored-by: cyan <cyjan@mrcyjanek.net>
2025-04-10 03:31:26 +02:00
cyan
494207290e
fix: disable impeller backend (#2176) 2025-04-09 02:52:14 +02:00
OmarHatem
b949584645 minor fix [skip ci] 2025-04-08 20:30:32 +02:00