Skip to content

01a0765d - Log displayed failures and KYC/limit blockers - #1454

Merged
TaprootFreak merged 3 commits into
developfrom
fix/01a0765d-report-displayed-errors
Sep 7, 2026
Merged

01a0765d - Log displayed failures and KYC/limit blockers#1454
TaprootFreak merged 3 commits into
developfrom
fix/01a0765d-report-displayed-errors

Conversation

@TaprootFreakAI

@TaprootFreakAI TaprootFreakAI commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

EN:
Customer-visible failures (ErrorHint, ConnectError, crash screen) post as ERROR. KYC/limit process blockers (QuoteErrorHint) post as QuoteError so they are recorded as INFO, not as crashes. Visible copy is unchanged. Coverage on every touched production file is 100% statement, branch, function and line.

DE:
Sichtbare Ausfälle (ErrorHint, ConnectError, Crash-Screen) gehen als ERROR. KYC-/Limit-Blocker (QuoteErrorHint) gehen als QuoteError und werden als INFO erfasst, nicht als Absturz. Die sichtbare Copy bleibt gleich. Coverage auf jeder angefassten Produktionsdatei ist 100 % Statement, Branch, Function und Line.

Details

useReportDisplayedError takes an optional type (default HandledError). QuoteErrorHint reports with QuoteError. Empty KYC-data hint reports the enum string. Form validation is not logged. A matching backend change records QuoteError at INFO.

Per-file coverage (statement / branch / function / line), measured on the build host with Node 20:

File S B F L
src/hooks/report-displayed-error.hook.ts 100 100 100 100
src/components/error-hint.tsx 100 100 100 100
src/components/home/connect-shared.tsx 100 100 100 100
src/components/quote-error-hint.tsx 100 100 100 100

@TaprootFreakAI TaprootFreakAI added the ci Run PR CI on this draft label Sep 6, 2026
…ror log

The crash screen already posted failures to POST /v1/log/clientError. In-flow
ErrorHint and wallet ConnectError did not, so a customer-visible failure never
reached the error log. Both now report through useReportDisplayedError.
The ingest treats a later account id as a different failure. Match the crash
screen: send once with whatever account is known at first fire.
@TaprootFreakAI
TaprootFreakAI force-pushed the fix/01a0765d-report-displayed-errors branch from c932107 to 0dd0ae0 Compare September 6, 2026 11:54
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator Author

EN:
Ready after 2 review passes.
Displayed ErrorHint and ConnectError failures are posted to the client error ingest as ERROR.

DE:
Bereit nach 2 Review-Durchläufen.
Sichtbare ErrorHint- und ConnectError-Fehlschläge gehen als ERROR an den Client-Error-Ingest.

Details

Pass 1 found that hydrating accountId after the first report would send a second ingest POST, because the ingest signature includes the account. Pass 2 confirmed the fix: the hook keeps accountId on a ref and depends only on message and pathname.

Quality and logic were re-reviewed on HEAD 0dd0ae07. Coverage on the three production files is 100% statement/branch/function/line. mergeable is MERGEABLE. No open review threads. CI at this head: Build and test, review, CodeQL, and Analyze are success.

KYC/limit process hints and form validation are intentionally not reported.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 6, 2026 12:08
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft September 6, 2026 12:44
KYC, limit and similar in-flow blockers now post to the client error ingest
with type QuoteError so they are recorded without being treated as crashes.
@TaprootFreakAI TaprootFreakAI changed the title 01a0765d - Report displayed frontend errors to the client error log 01a0765d - Log displayed failures and KYC/limit blockers Sep 6, 2026
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator Author

EN:
Ready after 3 review passes.
Displayed failures log as ERROR; KYC/limit blockers log as QuoteError.

DE:
Bereit nach 3 Review-Durchläufen.
Sichtbare Ausfälle loggen als ERROR; KYC-/Limit-Blocker als QuoteError.

Details

Head beb908d29ebff5904468fe09ef21d41d5a7fb6d2 on develop.

Review passes:

  1. Hydrating accountId after the first report would send a second ingest POST. Fixed with accountIdRef and effect deps [message, pathname, type].
  2. After that fix, quality and logic reported 0 remaining findings on the ErrorHint/ConnectError scope.
  3. QuoteErrorHint process blockers were added as type QuoteError. Quality and logic reported 0 remaining code findings. The pull-request body was missing per-file coverage numbers required by CONTRIBUTING; that is now a table of 100/100/100/100 for the four production files. A jest.mock reality-declaration request was rejected as contradicting the existing unit-layer convention.

Comment gate: no review threads, no inline comments, no reviews. The earlier ready comment (5559107929) described the pre-QuoteError scope and is superseded by this one.

Mergeable: MERGEABLE (draft BLOCKED is CODEOWNER review, not a conflict).

CI at this head, all SUCCESS: Build and test, review, CodeQL, Analyze (javascript-typescript), Analyze (actions), Full-stack E2E. Label ci is already set, so Request CI on ready will skip. Handbook build check did not run: this diff does not match its path filter.

Commits are GitHub-verified.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 6, 2026 15:42
@TaprootFreak
TaprootFreak merged commit 270356c into develop Sep 7, 2026
8 checks passed
@TaprootFreak
TaprootFreak deleted the fix/01a0765d-report-displayed-errors branch September 7, 2026 05:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Run PR CI on this draft

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants