Skip to content

Promote: staging -> develop#704

Merged
TaprootFreak merged 2 commits into
developfrom
staging
Jun 8, 2026
Merged

Promote: staging -> develop#704
TaprootFreak merged 2 commits into
developfrom
staging

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Automatic Staging PR

This PR was automatically created after changes were pushed to staging.

Commits: 1 new commit(s)

Checklist

  • Review all changes
  • Verify CI passes
  • Approve and merge to promote into develop

TaprootFreak and others added 2 commits June 8, 2026 13:15
…) (#703)

Reverts [#661](#661) (issue
[#660](#660)).

## The bug

[#661](#661) relabelled the
buy-payment button `buyPaymentConfirm` from *"Click here once you have
made the transfer"* to *"Request payment instructions by email"* /
*"Zahlungsanweisungen per E-Mail anfordern"*, on the premise that the
click *requests* the payment slip by email and the customer pays
afterwards.

That premise is wrong. On the screen where this button lives
(`PaymentInformationDetails`):

| Element | Content |
|---|---|
| `buyPaymentInformationDescription` (above) | "Please transfer the
purchase amount using your banking app with these details. The purpose
of payment is important!" |
| On screen | IBAN, BIC, name, address **and the QR payment request** —
the instructions are **already shown** |
| Button (after #661) | "Request payment instructions by email" |
| `PaymentExecutedSheet` (after tap) | "Thank you. As soon as your
transfer has been received, we will transfer the REALU tokens…" |

The button's `onPressed` calls `confirmPayment()` → `PUT
/v1/realunit/buy/{id}/confirm`, which **confirms the order** and returns
a reference. It does not email any instructions, and the instructions
are not delivered by email — they are rendered on the same screen. The
new label therefore contradicts both the description above it and the
success sheet below it, and mislabels a confirm action as an info
request.

## The fix

Full revert of [#661](#661).
Restores the original label, which is consistent with the surrounding
copy and the actual `/confirm` behaviour:

| Lang | Restored value |
|---|---|
| de | `Klicken Sie hier, sobald Sie die Überweisung getätigt haben` |
| en | `Click here once you have made the transfer` |

## Scope
- `buyPaymentConfirm` value in `strings_de.arb` + `strings_en.arb` (key
position unchanged, no other keys touched).
- Reverts the `home_page_loaded.png` golden that
[#661](#661) had bundled in.
Goldens are regenerated authoritatively on the dfx01 runner via
`golden-regenerate.yaml` after push (the `buy_payment_info_loaded`
golden must pick up the restored label).
- `lib/generated/i18n.dart` is git-ignored and regenerated in CI.

Draft until regenerated goldens land and CI (Analyze & Test + Visual
Regression + Coverage Floor) is green.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
## Summary
Backend [DFXswiss/api#3836](DFXswiss/api#3836)
drops `KycRequired` from `RealUnitRegistrationState` (YAGNI — it is no
longer emitted by `GET /v1/realunit/registration`). This removes the
now-unreachable consumer-side handling so the app stops carrying dead
code for a state the API never sends.

## Changes
- `real_unit_registration_state.dart` — remove the
`kycRequired(jsonName: 'KycRequired')` enum value.
- `kyc_cubit.dart` — remove the `case
RealUnitRegistrationState.kycRequired` dispatch arm.
- `kyc_state.dart` — remove the `KycRequiredFailure` state class.
- `kyc_page_manager.dart` — remove the `KycRequiredFailure()` →
`KycFailurePage` switch arm.
- `real_unit_registration_info_dto.dart` — drop the stale `kycRequired`
mention from the doc comment.
- `strings_de.arb` / `strings_en.arb` — remove the unused
`kycRequiredFailureMessage` key.
- `docs/wallet-modes.md` — drop the registration `KycRequired`
references.
- Tests — remove the obsolete `KycRequired` parse test and the
`KycRequiredFailure` cubit test.

## Note
`PaymentInfoError.kycRequired` (buy/sell) and the transaction-status
`kycRequired` are unrelated concepts and remain untouched. After this
change, an unexpected `state: 'KycRequired'` payload would throw
`ArgumentError` (covered by the existing unknown-state test) —
acceptable since the API no longer emits it.

## Test plan
- [x] `flutter analyze` — clean (only a pre-existing, unrelated
generated-i18n warning present on `staging`)
- [x] `flutter test` — 2272 non-golden tests pass
- [ ] Visual Regression / goldens via CI (no golden references the
removed state)
@TaprootFreak TaprootFreak merged commit 9eb4e9c into develop Jun 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant