Binance UX: fiat precision, lot size info & network error handling#78
Merged
Conversation
…r handling - Fix fiat amount display: show 2 decimal places (4.36 instead of 4) - Add Binance lot size info note per crypto in plan form and plan details - Add localized network error message for credential validation (CS/EN) - Add fiatWhole() formatter for chart axis labels (no decimals) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Show push notification + dashboard banner when purchase fails due to no internet (instead of silent retry). Banner shows retry count, next retry time, and "Run Now" button. - Track retry state on DcaPlanEntity (networkRetryCount, nextNetworkRetryAt, originalScheduledAt) so banner survives notification deletion. - Purchase notification shows scheduled vs actual time when delay >5 min. - Worker runs without NetworkType.CONNECTED constraint on alarm trigger so offline state is detected immediately. - Auto-mark all notifications as read after 2s on notifications tab. - DB migrations v15→v16→v17. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…eschedule fix - Detect missed purchases after retry recovery and device boot/long-off, offer user choice to buy missed or skip via dashboard banner. - Worker repeat count support for executing multiple missed purchases. - Fix alarm not rescheduling after plan mutations (edit, toggle, delete). - Show "unavailable" placeholder for price/ROI when offline instead of hiding KPI values. - Clickable transactions in plan detail screen. - Replace em dash with en dash across entire codebase. - Remove retry time from network error notification (only first failure notified). - Fix race conditions in missed purchases banner dismiss/execute. - Fix missed count calculation: subtract 1 for the just-executed purchase, and only calculate after successful purchase (not before). - DB migrations v17→v18 (missedPurchaseCount). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add BackHandler + discard confirmation dialog to EditPlanScreen and AddPlanScreen so users are warned before losing unsaved changes - Fix potential NPE in MinOrderSizeRepository (null-safe response.body) - Fix NoSuchElementException in Kraken API when result has no keys - Fix Kraken trade history timestamp precision loss causing duplicate imports - Fix HistoryViewModel search query updating two state sources (extra recomposition) - Add Done button to backup export result screen Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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
fiatWhole()formatter for chart axesNetworkErrorsealed variant in credential validation with localized message (error_no_internet) in both EN and CSChanged files (16)
NumberFormatters.kt—fiat()→ 2 decimals, newfiatWhole()for chartsModels.kt—Exchange.binanceLotStepSizemap with real Binance step sizesValidateAndSaveCredentialsUseCase.kt—NetworkErrorsealed variantCredentialFormDelegate.kt—@StringReserror support,resolvedCredentialsErrorcomposable extensionPlanFormContent.kt— lot size info row for BinancePlanDetailsScreen.kt— info icon + AlertDialog for lot sizeEditPlanViewModel.kt/EditPlanScreen.kt— pass exchange to formAddPlanScreen.kt/FirstPlanScreen.kt— pass exchange to formAddPlanViewModel.kt— handleNetworkErrorAddExchangeScreen.kt/ExchangeDetailScreen.kt/ExchangeSetupScreen.kt— useresolvedCredentialsErrorstrings.xml(EN + CS) —binance_lot_size_note,error_no_internetTest plan
🤖 Generated with Claude Code