Conversation
chore(ios): switch bundle ID to com.GleecDEX.wallet and team to B52ZC…
* chore(sdk): update submodule for legacy wallet migration scaffold * feat(migration): add legacy wallet migration dependency to app * feat(migration): implement legacy wallet migration with compatibility dialog Add end-to-end legacy wallet migration flow that detects native legacy wallets and guides users through a compatibility dialog to set a valid KDF wallet name and password before migrating. Key changes: - AuthBloc: add AuthLegacyMigrationRequested event with non-critical step isolation so metadata/asset failures don't block login - WalletsRepository: legacy wallet detection, seed decryption, name sanitisation, native-secret extraction, and post-migration cleanup - New PreparedLegacyMigration model and LegacyAppSettingsMigrationService for reading legacy shared-preference data - IguanaWalletsManager: intercept legacy wallet sign-in and present the LegacyMigrationCompatibilityDialog before dispatching migration - SecuritySettings: add LegacyMigrationCleanupPlate for incomplete native cleanup visibility - zHTLC config dialog: expose "recent transactions" sync policy option consumed during migration - Translation strings for all new migration UI copy * feat(fiat): persist default fiat currency preference across sessions Store the user's selected fiat currency in local storage so it survives bloc resets and app restarts. On initialisation the bloc hydrates from storage; on selection it writes through immediately. - Add fiat_default_preference.dart with load/persist helpers - FiatFormBloc: hydrate on construction via new event, write on select - FiatFormState.initial: accept optional pre-selected fiat currency - Resolve selected fiat against the loaded fiat list to avoid stale refs * chore(android): migrate MainActivity to com.gleec.gleecdex package Move the Android MainActivity from the old com.komodoplatform.atomicdex package to com.gleec.gleecdex to match the updated application ID. * chore(ios): update bundle identifier to com.GleecDEX.wallet Align the iOS PRODUCT_BUNDLE_IDENTIFIER across Debug, Profile, and Release configurations to the new com.GleecDEX.wallet identifier. * test: add unit tests for legacy migration and fiat preference Cover the new migration and fiat-preference features: - LegacyAppSettingsMigrationService parsing and edge cases - FiatDefaultPreference load/persist round-trip - Legacy native wallet migration integration scenarios - LegacyMigrationCleanupPlate widget rendering - LegacyMigrationCompatibilityDialog validation and flow * chore(sdk): roll SDK to 26a077b * feat(wallet): add legacy wallet migration flow - move legacy migration handling into the parent app auth and wallet manager flows, including already-migrated wallet routing - finalize restore and migration metadata in the background so login can complete without blocking on non-critical steps * fix(migration): address PR review findings for legacy migration safety P1: Make legacy linkage metadata write a hard requirement by removing the try-catch that silently swallowed setMigratedLegacySource failures. Failures now propagate to the outer catch, aborting the migration and preventing the user from being logged into a wallet with no source-link metadata (which would allow duplicate migrations). P2: Fix cleanup status to reflect the actual outcome regardless of wallet type. Previously, non-native legacy wallets always got 'complete' status even on partial cleanup failure, suppressing follow-up handling. * fix(sdk): replace dargon2_flutter with pointycastle for WASM compatibility dargon2_flutter's web plugin uses JS interop APIs incompatible with Flutter WASM builds. Replaced with pointycastle's pure-Dart Argon2 implementation which works on all platforms. Removes 7 transitive dargon2 packages from the dependency tree. * chore(sdk): roll SDK to include dargon2 -> pointycastle migration * fix(auth): address PR review for watcher suppression and migration rollback P2: Allow metadata-enriched watcher updates through after optimistic login. The early return in _onAuthChanged was suppressing all same-wallet updates, including post-finalizer metadata changes (cleanup status, activated coins). Now only suppresses when incoming metadata has no new or changed values vs the current optimistic state. P1: Roll back SDK session when pre-login migration metadata write fails. After auth.register succeeds but linkage metadata write throws, sign out the freshly registered user before emitting error state to avoid leaving SDK auth and UI auth out of sync. * fix(auth): address PR review findings for cleanup race and SDK probe Replace timeout-wrapped cleanup-then-persist sequence in legacy migration with inline try-catch so the persisted cleanup status always reflects the actual outcome instead of racing against a 5-second Future.timeout that cannot cancel the underlying I/O. Roll SDK submodule to af9c5b7 which hardens the RPC readiness probe against transient transport errors and adds platform guards to readWalletSecrets.
* chore(release): prepare 0.9.5 * chore(release): align Dart SDK floor * fix: sync Apple pod dependencies
|
Visit the preview URL for this PR (updated for commit 523407e): https://walletrc--pull-3487-merge-9kazl2dq.web.app (expires Tue, 12 May 2026 20:52:51 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: f66a4ff03faa546f12f0ae5a841bd9eff2714dcc |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This release prepares the
0.9.4release line for mobile publishing as0.9.5, keeping the app version at0.9.5+0while incorporating the final mobile-readiness work fromdev. It covers the published SDK0.6.0roll, the in-app legacy wallet migration flow, the iOS publishing identity update, Gleec Dex branding, web publishing alignment, and refreshed dependency metadata.New Features
komodo-defi-sdk v0.6.0release commitccc855082ee5026683188751484eed5342602698and keeps the root lockfile aligned with the SDK package versions used by the app.SDK Updates
This release integrates
komodo-defi-sdk v0.6.0with the mobile publishing package set bringing:komodo_legacy_wallet_migrationpackage and supporting auth/framework hooks for discovering, verifying, importing, and cleaning up legacy wallet data.Bug Fixes
UI/UX Improvements
dev.Platform-Specific Changes
iOS
com.GleecDEX.walletand the signing team toB52ZCS7TMQfor mobile publishing.Android
MainActivityinto the Gleec package path used by the native release configuration.Web
devso web publishing remains aligned with the current deployment target.Technical Improvements
0.9.5+0, aligns the SDK submodule with SDK0.6.0, refreshes dependency resolution, and aligns the Dart SDK floor with the generated lockfile at>=3.11.0 <4.0.0.Validation
Release prep PR validation completed before merge:
flutter pub get --offlinedart pub get --enforce-lockfile -C sdkflutter analyze --no-fatal-warnings --no-fatal-infosexited 0 with existing warning/info backlogflutter test test_units/main.dartFull Changelog: 0.9.4...0.9.5