Skip to content

✨ Quality: Fix synchronous error handling in AsyncBlock - #97

Merged
galiprandi merged 1 commit into
mainfrom
quality/async-block-sync-error-15361579710564944087
Jun 21, 2026
Merged

✨ Quality: Fix synchronous error handling in AsyncBlock#97
galiprandi merged 1 commit into
mainfrom
quality/async-block-sync-error-15361579710564944087

Conversation

@galiprandi

Copy link
Copy Markdown
Owner

💡 What: This change improves the robustness of the AsyncBlock component by ensuring it can handle cases where the promiseFn prop throws an error synchronously instead of returning a rejected promise.

🎯 Why: Synchronous errors in functions expected to return promises can cause components to crash if not explicitly caught. Standardizing this behavior ensures the component's error state is correctly triggered.

📊 Impact: Increases component stability and improves developer experience by providing a consistent error handling path for both synchronous and asynchronous failures.

✅ Verification: Added a new test case in lib/components/AsyncBlock/index.test.tsx that specifically throws a synchronous error and verifies that the component renders the error UI and invokes the onError callback. All existing tests pass.


PR created automatically by Jules for task 15361579710564944087 started by @galiprandi

- Wrap `promiseFn` call in a `try...catch` block to handle synchronous exceptions.
- Add unit test to verify synchronous error handling and prevent regressions.
- Ensure component correctly transitions to error state and calls `onError`.
- Maintain synchronous initial call to avoid micro-task delays in tests.
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@galiprandi
galiprandi merged commit 42f702c into main Jun 21, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant