Fix critical runtime crashes: handle empty blog posts and calendar fetch failures#1919
Fix critical runtime crashes: handle empty blog posts and calendar fetch failures#1919inland-taipen wants to merge 1 commit intojson-schema-org:mainfrom
Conversation
|
Hi @inland-taipen! Thanks a lot for your contribution! I noticed that the following required information is missing or incomplete: issue reference, kind of change description Please update the PR description to include this information. You can find placeholders in the PR template for these items. Thanks a lot! |
Issue: Runtime crashes when blogPosts array is empty or calendar fetch fails Kind of change: Bug fix (fixes runtime crashes) Description: - Add null checks for blogPosts array before accessing first element - Add safe array access with fallback to empty array for datesInfo - Add proper error handling with try-catch for calendar data fetching - Add TypeScript type annotations for datesInfo to prevent type errors - Wrap blog post section in conditional rendering to prevent crashes - Both homepage and community page now handle empty data gracefully Files modified: - pages/index.page.tsx - pages/community/index.page.tsx
|
Hi @inland-taipen! Thanks a lot for your contribution! I noticed that the following required information is missing or incomplete: issue reference, kind of change description Please update the PR description to include this information. You can find placeholders in the PR template for these items. Thanks a lot! |
|
Hii @inland-taipen, can you please mention which issue this PR points out, Do not open PRs without proper issue listing and assignment, will help maintainers to organise codebase effectively. Thanks |
|
hi @inland-taipen and in description add the issue number you solved |
|
What we did
Fixed two runtime crash bugs in the JSON Schema website:
Bug #1: Homepage crash when blogPosts is empty
Problem: Accessing blogPosts[0] without checking if the array was empty caused crashes.
Solution:
Added null/empty checks: const blogPosts = props.blogPosts || []
Introduced firstBlogPost variable with safe access
Wrapped blog post section in conditional rendering: {firstBlogPost && (...)}
Added fallback for reading time calculation
Bug #2: Homepage crash when calendar fetch fails
Problem: Calendar fetch errors left datesInfo as undefined, causing .map() to crash.
Solution:
Replaced .catch() that didn't return a value with a try-catch block
Defaulted datesInfo to empty array [] on error
Added TypeScript type annotations for datesInfo
Added safe array access: (props.datesInfo || []).map(...)
Files modified
pages/index.page.tsx — Homepage fixes
pages/community/index.page.tsx — Community page fixes