Promote: staging -> develop - #949
Merged
Merged
Conversation
EN: If a software-wallet REALU send already broadcast but the receipt wait timed out, the app now treats that as success when the HTTP status is 500 and the error names the tx hash. A 400 or 409 whose JSON body happens to look like a timeout stays a failure. The failure sheet never shows raw viem or exception text for generic errors. The in-progress copy no longer asks the user to confirm in a wallet. DE: Wenn ein REALU-Send mit Software-Wallet schon broadcastet ist und der Receipt-Wait ausläuft, zeigt die App Erfolg nur bei HTTP 500 und einem Fehler, der den tx-Hash nennt. Ein 400 oder 409, dessen JSON-Body wie ein Timeout aussieht, bleibt ein Fehler. Das Fehler-Sheet zeigt bei generic keinen viem- oder Exception-Rohtext. Der Fortschrittstext verlangt keine Wallet-Bestätigung mehr. <details> <summary>Details</summary> - The transfer service maps HTTP 500 plus a receipt-wait timeout phrase (`timed out while waiting for transaction` and `0x` + 64 hex) to `TransferReceiptTimeoutException`. The cubit maps only that type to success. - Body `statusCode` must not override the HTTP status: HTTP 400/409 with a timeout-like JSON body stays `ApiException`. - Generic failures always use localized copy; viem/timeout strings are never shown. - `sendSigning`: EN `Sending the transfer` / DE `Überweisung wird gesendet`. - The signing-state visual baseline was refreshed from the self-hosted Visual Regression runner for that copy. - Retry still reuses the same prepare id. - Tests on the build host: exception surface, transfer service, send cubit, send page — 113 passed. The matching API change is a separate public pull request. </details> --------- Co-authored-by: TaprootFreakAI <315477232+TaprootFreakAI@users.noreply.github.com>
EN: Send and Pay no longer stack a second amount or quote page when the camera keeps seeing the same QR. Both scanner pages re-arm only after that route pops. A catalog, real-cubit double-capture tests, and a CONTRIBUTING rule make the same mistake a blocking review finding. DE: Senden und Bezahlen stapeln keine zweite Betrags- oder Quote-Seite mehr, wenn die Kamera denselben QR weiter sieht. Beide Scanner-Seiten rüsten erst wieder auf, nachdem diese Route geschlossen wurde. Katalog, Tests mit echtem Cubit und eine CONTRIBUTING-Regel machen denselben Fehler zum blockierenden Review-Fund. <details> <summary>Details</summary> `QrScannerView` forwards every camera frame. The send recipient page and the pay scan page used to `Navigator.push` the next step and `reset()` the cubit in the same listener turn. That dropped the decoded/valid guard, so the next frame pushed a second copy of the same page. Both consumers now use `pushThenRearm`: push first, call `reset` only after the route pops. Invalid-scan snackbars that do not push still reset immediately. Tests: - Catalog `test/helper/scanner_navigation_catalog.dart` plus a discovery self-test that fails if any `QrScannerView(` under `lib/` is missing from the catalog. - Real-cubit widget tests fire two `BarcodeCapture`s and expect the destination `findsOne`; after pop, a third capture is accepted. - Existing mock page tests now assert `reset` is not called until pop. CONTRIBUTING.md has a new **Scanner navigation — CRITICAL** section; `docs/testing.md` has the matching test contract. </details> --------- Co-authored-by: TaprootFreakAI <315477232+TaprootFreakAI@users.noreply.github.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.
Automatic Staging PR
This PR was automatically created after changes were pushed to staging.
Commits: 1 new commit(s)
Checklist