Feat/refine custom error pages#232
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refines the branded error-page experience so failure states stay polished, intentional, and easier to recover from.
Changes
uilayercore/error_views.pymodule403,404, and500Behavior
Error states now continue to render through the branded UI layer while offering a more neutral sign-in recovery path. Users still get the same clear explanation of what happened and a direct way back to a safe entry surface, but they are no longer funneled to a merchant-specific login route from generic error pages.
Why
This makes the error experience more consistent with the rest of the product and avoids implying that merchant login is the default recovery action for every failure state. It also removes duplicate error-view code so there is one clear active implementation.
Validation
The current implementation is aligned with the live project wiring:
config/urls.pypoints error handlers atui.error_viewstemplates/errors/403.htmltemplates/errors/404.htmltemplates/errors/500.htmlui.error_viewsimplementation rather than the removed duplicate moduleResult
ReturnHub now has cleaner custom error-page wiring and more appropriate recovery CTAs, while preserving the polished branded failure-state experience.
Notes