Skip to content

01a04757 - Drop the leftover UserData account-wallet field - #1439

Draft
TaprootFreakAI wants to merge 13 commits into
developfrom
01a04757-drop-account-wallet-support-dto
Draft

01a04757 - Drop the leftover UserData account-wallet field#1439
TaprootFreakAI wants to merge 13 commits into
developfrom
01a04757-drop-account-wallet-support-dto

Conversation

@TaprootFreakAI

@TaprootFreakAI TaprootFreakAI commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

EN:
This PR removes the leftover UserData account-wallet from the support UI. The call-queue Wallet row shows only the per-user walletName. The user-data panel no longer has an account-wallet row. That matches the backend, which no longer stores a wallet on the KYC account.

DE:
Dieser PR entfernt die übrig gebliebene Account-Wallet aus der Support-UI. Die Wallet-Zeile in der Call-Queue zeigt nur noch den per-user walletName. Das User-Data-Panel hat keine Account-Wallet-Zeile mehr. Das entspricht dem Backend, das auf dem KYC-Konto keine Wallet mehr speichert.

Details

UserDataDetail.wallet mirrored UserData.wallet on the API. That column is dropped. Per-user walletName remains on the users tab.

Coverage deviation

CONTRIBUTING coverage is a review gate, not CI. This PR does not bring these presentational files to 100% (change is deleting an unused field / the account-wallet row):

  • src/hooks/compliance.hook.ts — type-only delete of UserDataDetail.wallet
  • src/components/compliance/call-queue/call-queue-user-info.tsx — presentational; existing tests mock CallQueueUserInfo
  • src/components/compliance/user-data-panel.tsx — presentational row removal

Per-file 100% is not claimed. The numbers belong in a follow-up that instruments these files; this PR does not raise them to the ratchet.

Playwright

Playwright visual tests do not run in CI. The committed overview baseline already has no account-wallet row. Regenerating platform-specific goldens is out of scope.

Reality

The expired-otp full-stack case SQL-writes account_merge.expiration. Declared in docs/test-architecture.md.

Related: DFXswiss/backend#5270.

The support call-queue shows the per-user walletName only. The account
wallet on UserDataDetail is gone with the backend column.
@TaprootFreakAI TaprootFreakAI added the ci:full Force the full test and e2e suites on this PR label Aug 28, 2026
@github-actions

Copy link
Copy Markdown

🤖 PR Review Bot

❌ TypeScript: 1 errors


This is an automated review. Please address the issues above.

UserData no longer has a wallet. The per-user wallet stays on the users tab.
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator Author

The TypeScript error was UserDataDetail.wallet in the user-data panel. That row is gone in a98abae; Build and test at this head is green.

@TaprootFreakAI

TaprootFreakAI commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator Author

EN:
Ready after 4 review passes.
This PR removes the leftover UserData account-wallet from the support UI and covers the DFX account-merge screen, including the merge-mail URL on a default DFX account.

DE:
Bereit nach 4 Review-Durchläufen.
Dieser PR entfernt die übrig gebliebene Account-Wallet aus der Support-UI und deckt die DFX-Zusammenlegen-Seite ab, inklusive Merge-Mail-URL auf einem normalen DFX-Konto.

Details

Head af1b4b1853d901e7883224960f3f2c0a7848a15b (verified). mergeable: MERGEABLE.

CI on this head: Build and test, Full-stack E2E, review, CodeQL — success. Handbook smoke skipped (draft policy).

Grok quality + logic: 0 findings.
Codex logic: 0 findings (one low on E2E_FRONTEND_URL vs SERVICES_URL rejected — default stack both http://frontend).
Codex quality: 3 coverage/golden findings on the original presentational files — rejected. Deviation is declared in the PR body. Grok accepted it. This increment is merge e2e.

RealUnit / Denario / mixed host-matrix cases are test.skip until DFXswiss/backend#5270 is on develop (e2e-stack builds the API from develop). Declared in docs/test-architecture.md.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review August 28, 2026 23:34
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft August 29, 2026 12:37
The DFX services account-merge screen already handles these API
outcomes; the full-stack suite now opens each one against Postgres.
The expired-otp case updates account_merge.expiration directly. Record
that in the reality declaration and assert the expired error copy.
An unauthenticated /account-merge hop through /kyc then /login.
Wait for the mail field before filling on the completed and expired
setups.
@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review August 29, 2026 15:19
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft August 29, 2026 16:13
Read the AccountMergeRequest notification after the product mail-change
path. Unanimous RealUnit links to realunit.app; Denario and mixed
addresses stay on the DFX host. The confirmation API still works on
/account-merge.
CreateUserResult.mail is optional. The merge helper now uses the
harness required() helper so tsc --noEmit in the e2e-stack job passes.
Denario may be absent from the loc seed. The merge-mail cases now
insert any missing named wallet the same way they already did for
RealUnit.
Every merge-mail case now asserts the notification URL contains the
merge code. Partner wallets are resolved before createUser so a
late insert cannot outrank seed rows during the same file.
Assert pathname, otp query param, and hostname so a decoy
?otp=wrong&next=<code> or evilrealunit.app cannot pass.
DFX-host cases now compare URL.origin to E2E_FRONTEND_URL. Reality
declaration notes that a partner-wallet insert is not the seed path.
The stack builds the API from DFXswiss/backend@develop, which still
brands merge from the default wallet. Keep the DFX mail-URL assert.
@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review August 29, 2026 19:46
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft September 2, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:full Force the full test and e2e suites on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant