Files
nick-doc/Issues/ISSUE-014-paymentprovider-typescript-type-excludes-shkeeper-and-decent.md
Siavash Sameni dceaf82934 audit: 2026-05-30 full-codebase audit — report, issues, docs, runbooks
Full-codebase-audit 2026-05-30 outputs:
- Audit report: 09 - Audits/Full Codebase Audit - 2026-05-30.md
- 81 issue files ISSUE-055..135 (decisions + 1 skipped no-brainer).
- Scanner docs from scratch (was zero): architecture, data model, API ref, payment
  flow, operations runbook + repo README.
- Doc-sync updates across API reference, data models, flows, design system.
- Secret Rotation Runbook (08 - Operations) for the exposed credentials.
- Reusable workflow guide (07 - Development) + .claude/workflows/full-codebase-audit.js.

Issues remain status:open intentionally — the code fixes are uncommitted-then-committed
working-tree changes per repo and aren't "resolved" until merged/deployed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 18:48:04 +04:00

1.4 KiB

issue, title, severity, domain, status, resolved, fix, labels, status, created, source
issue title severity domain status resolved fix labels status created source
014 PaymentProvider TypeScript type excludes 'shkeeper' and 'decentralized' causing UI fallthrough for main payment providers critical Payment resolved 2026-05-29 Added 'shkeeper' and 'decentralized' to PaymentProvider union type in types/payment.ts.
bug
frontend
critical
payment
type-mismatch
open 2026-05-29 Doc vs Code Audit 2026-05-29

🔴 PaymentProvider TypeScript type excludes 'shkeeper' and 'decentralized' causing UI fallthrough for main payment providers

Severity: critical Domain: Payment Labels: bug, frontend, critical, payment, type-mismatch

Description

src/types/payment.ts defines PaymentProvider as 'request.network' | 'test' | 'other'. The two primary production payment providers ('shkeeper' and 'decentralized') are absent from this union type. Frontend code that switches on PaymentProvider falls through to unknown/default state for the majority of production payments.

Current Behavior

Provider-based conditional rendering, labels, and routing logic silently falls through to unknown state for SHKeeper and DePay payments.

Expected Behavior

PaymentProvider type should include 'shkeeper' and 'decentralized' variants.

Affected Files

  • frontend/src/types/payment.ts

References