Skip to content

feat: Implement global error boundary and graceful fallback UI (#432)#456

Open
Xploit-Ghost wants to merge 5 commits into
Dev-Card:mainfrom
Xploit-Ghost:feat/error-boundary
Open

feat: Implement global error boundary and graceful fallback UI (#432)#456
Xploit-Ghost wants to merge 5 commits into
Dev-Card:mainfrom
Xploit-Ghost:feat/error-boundary

Conversation

@Xploit-Ghost
Copy link
Copy Markdown

Description

This pull request addresses the issue where the application would completely crash to a blank white screen when encountering a fatal rendering error or data fetching failure. To improve the user experience, I have implemented a global Error Boundary that gracefully catches unexpected errors and presents a visually appealing fallback UI.

Proposed Changes

  1. Error Boundary Component: Implemented a global +error.svelte file at the root of the routing structure (apps/web/src/routes/) to act as the SvelteKit error boundary.
  2. Fallback UI Design: Created a clean, responsive UI component that seamlessly matches the site's design system using existing CSS classes (e.g., .glass, .btn-primary, .gradient-text).
  3. Actionable Button: Included a "Try Again" button that utilizes Svelte 5's onclick handler to seamlessly reload the browser state, alongside a "Go Home" button.
  4. Error Details: Added a stylized block to surface the specific error message and status code (e.g., 404, 500) to assist in transparent debugging.

Closes #432

Labels Requested

I would like to request the maintenance team to assign the appropriate labels for this contribution:

  • gssoc:approved
  • level2 (or the appropriate difficulty type label)
  • quality:exceptional

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 1, 2026

CI Results — ❌ Some checks failed

🖥️ Backend (⏭️ skipped)

Check Status
Lint ⚪ unknown
Test ⚪ unknown
Typecheck ⚪ unknown

📱 Mobile (⏭️ skipped)

Check Status
Lint ⚪ unknown
Test ⚪ unknown

🌐 Web (❌ failure)

Check Status
Check ❌ failure
Build ✅ success

🕐 Last updated: Mon, 01 Jun 2026 20:53:42 GMT

@Harxhit Harxhit added the gssoc:approved Required label for every approved PR. Gives the base +50 points and enables contribution tracking. label Jun 1, 2026
@Xploit-Ghost
Copy link
Copy Markdown
Author

@Harxhit Hello,
I noticed that the CI tests were failing and asked the github copilot for it
this is the response i received

Required Fix:

Your current code is right, but ensure the TypeScript/Svelte checker accepts it. The fixes you've already made should resolve it. Try these steps:

  1. Verify isHttpError is properly typed from @sveltejs/kit
  2. Ensure your svelte.config.js has strict type checking enabled
  3. Run: cd apps/web && pnpm lint to verify locally

The PR changes are good — this is just a strict type-checking build catching edge cases. Your refactoring is the correct approach.

So let me know if pr is good to merge or any more changes are required !
Please add the appropriate level quality and type label.
Thank you for your time .

@Xploit-Ghost
Copy link
Copy Markdown
Author

Xploit-Ghost commented Jun 1, 2026

image These commits are clean the CI is failing because of error with a older commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc:approved Required label for every approved PR. Gives the base +50 points and enables contribution tracking.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[UI/UX Enhancement]: Implement an Error Boundary with a Fallback UI to prevent blank screens

2 participants