Skip to content

Implement wallet journey state, UI marker, tests, and regtest/dev docs#1225

Open
Bluuefanatic wants to merge 7 commits into
joinmarket-webui:v2from
Bluuefanatic:wallet-journey-state
Open

Implement wallet journey state, UI marker, tests, and regtest/dev docs#1225
Bluuefanatic wants to merge 7 commits into
joinmarket-webui:v2from
Bluuefanatic:wallet-journey-state

Conversation

@Bluuefanatic
Copy link
Copy Markdown

Summary

This competency test PR adds a deterministic wallet journey state model in the frontend, exposes it in the main wallet view for UI-state verification, adds RTL coverage, and documents both friction findings and practical regtest simulation steps.

What Changed

  • Added typed wallet journey state hook:
    • useWalletJourneyState.ts
    • Returns a single state string with deterministic logic and no side effects.
    • Uses existing wallet and service/session values only (no backend changes).
  • Integrated journey state into main wallet page:
    • MainWalletPage.tsx
    • Added data-journey-state on the top-level container.
  • Added React Testing Library coverage for journey state attribute:
    • MainWalletPage.test.tsx
    • Mocks wallet and service/session inputs.
    • Verifies at least two journey states:
      • no_wallet_or_not_initialized
      • coinjoin_in_progress
  • Added one-page wallet friction audit:
    • wallet-state-friction-audit.md
    • Covers silent stuck points and practical UX improvements across key routes.
  • Added concise developer docs for regtest state simulation:
    • developing.md
    • New section: Simulating Wallet Journey States (Regtest)
    • Includes steps for empty wallet, funded wallet, coinjoin-ready state, UI verification, and contributor tips.

Why

  • Establishes a clear, reusable state model for wallet journey UX.
  • Makes state transitions observable in the DOM for testing and debugging.
  • Improves confidence with focused RTL coverage.
  • Documents route-level friction and practical contributor workflows for faster iteration.

Validation

  • Ran: npm test -- MainWalletPage.test.tsx
  • Result: passing

Scope Notes

  • Frontend-only changes.
  • No API or backend contract changes.
  • No behavior/layout changes beyond adding the data-journey-state attribute and docs/tests additions.

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