fix/BUNYIP-191-humanise-generic-internal-error #215

Merged
YousifShkara merged 1 commit from fix/BUNYIP-191-humanise-generic-internal-error into main 2026-06-24 10:54:02 +02:00
Owner
No description provided.
Release v0.4.0
All checks were successful
E2E / Playwright against deployment (pull_request) Successful in 1m0s
Check / fmt + clippy + build + tests (pull_request) Successful in 6m27s
Create release / Create release from merged PR (pull_request) Successful in 5s
9cb932e7b0
Signed-off-by: YousifShkara <yousif@niceguyit.biz>
fix(membership): map dunite generic internal-error to actionable copy (BUNYIP-191)
All checks were successful
E2E / Playwright against deployment (pull_request) Successful in 54s
Check / fmt + clippy + build + tests (pull_request) Successful in 6m13s
Create release / Create release from merged PR (pull_request) Has been skipped
26fa792db1
Follow-up to BUNYIP-187. The Subscribe flash banner correctly surfaces
the api's `user_message`, but for any `AppError::InternalError` /
`AppError::DatabaseError` dunite-core returns the single generic string
"An unexpected error occurred. Please try again later." That leaves
the operator with no actionable hint - the real cause is logged on the
api side but the banner does not point at the logs.

Add a match arm in `humanise_checkout_error` that detects this exact
dunite string and rewrites it to:

    "Checkout failed unexpectedly on the server. The api logged the
     cause - check `docker logs <bunyip-api>` for 'Failed to create
     Stripe checkout session' or similar, then contact support."

so an operator chasing a Subscribe failure knows where to look without
having to read dunite-core or guess. Specific 400-class messages
("No active price configured", "Stripe is not configured") still match
their existing arms first, so the targeted copy from BUNYIP-187 is
unchanged when the api actually produces a recognisable validation
error.

#BUNYIP-191
YousifShkara deleted branch fix/BUNYIP-191-humanise-generic-internal-error 2026-06-24 10:54:02 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/bunyip!215
No description provided.