Skip to content

Conversation

@yuvrajangadsingh
Copy link
Contributor

Summary

Fixes #17513

Add try-catch block around the fetch call in createProxyAwareFetch to log errors before re-throwing. This helps diagnose IDE connection issues like "TypeError: fetch failed" by providing more context in debug logs.

The error is logged with the URL that failed, making it easier to troubleshoot network connectivity issues between the CLI and IDE.

Test plan

  • Run npx vitest run packages/core/src/ide/ide-client.test.ts - all 56 tests pass
  • Manual testing with IDE connection failures (disconnect network, check debug logs)
Fixes google-gemini#17513

Add try-catch block around the fetch call in createProxyAwareFetch to
log errors before re-throwing. This helps diagnose IDE connection issues
like "TypeError: fetch failed" by providing more context in debug logs.

The error is logged with the URL that failed, making it easier to
troubleshoot network connectivity issues between the CLI and IDE.
@yuvrajangadsingh yuvrajangadsingh requested a review from a team as a code owner January 30, 2026 19:16
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @yuvrajangadsingh, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a diagnostic improvement by adding error logging to network requests made to the IDE. By catching and logging exceptions during fetch operations, it provides more detailed information about connection failures, which will significantly aid in troubleshooting and resolving IDE communication problems.

Highlights

  • Enhanced Error Logging: Implemented a try-catch block around fetch calls within createProxyAwareFetch to capture and log errors related to IDE connection failures.
  • Improved Diagnostics: The error log now includes the specific URL that failed and the error message, providing crucial context for diagnosing network connectivity issues between the CLI and IDE.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-cli gemini-cli bot added area/core Issues related to User Interface, OS Support, Core Functionality help wanted We will accept PRs from all issues marked as "help wanted". Thanks for your support! labels Jan 30, 2026
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds valuable error logging for fetch failures in the IDE client, which will aid in diagnosing connection problems. The implementation is a good, simple fix. I have one suggestion to improve the logging by using the existing logger instance and the error log level for better consistency and semantics, aligning with our guidelines for detailed error logging.

@yuvrajangadsingh
Copy link
Contributor Author

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds valuable error logging for fetch requests to the IDE, which will greatly aid in diagnosing connection issues. The implementation is straightforward and correct. I've suggested an improvement to the logging call to pass the full error object, aligning with our guidelines to provide richer debugging information, including the stack trace, when catching exceptions.

@yuvrajangadsingh yuvrajangadsingh force-pushed the fix/ide-fetch-error-handling branch from 195f474 to f23bac3 Compare January 30, 2026 20:10
@yuvrajangadsingh
Copy link
Contributor Author

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request effectively addresses the issue of lacking error visibility during IDE fetch failures by introducing a try-catch block around the fetchFn call in createProxyAwareFetch. The added logging provides crucial context, including the failed URL and the error object, which will significantly aid in diagnosing IDE connection problems. The implementation is clean and correctly re-throws the error, preserving the original error propagation flow. This is a valuable improvement for debugging and overall system maintainability.

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

Labels

area/core Issues related to User Interface, OS Support, Core Functionality help wanted We will accept PRs from all issues marked as "help wanted". Thanks for your support!

2 participants