Conversation
sendFeedback resolved as soon as the envelope was handed to the main process, before anything was sent. Feedback envelopes now go over their own IPC channel. The main process prepares and sends them directly and replies with the transport result, so sendFeedback resolves on a 2xx and rejects when the send failed, was queued offline or was dropped. Other envelopes are unchanged.
4 tasks
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5fa6a89. Configure here.
Other event types must go through captureEvent so beforeSend and sampleRate apply. A thrown error left the protocol response empty on older Electron, which the renderer could not parse.
JPeer264
approved these changes
Sep 18, 2026
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.

Fixes #1428
sendFeedbackin a renderer resolved as soon as the envelope was handed to the main process, before anything was sent. In protocol mode thefetchwas not even awaited, so closing the window straight after could abort the upload. This is a problem for apps that show "thanks for your feedback" on resolve, because the feedback can still be lost, for example behind a proxy that blocks requests to Sentry.Feedback envelopes now go over their own IPC channel (
ipcRenderer.invokewith a preload, an awaitedfetchover the custom protocol). The main process prepares the event withprepareEvent, sends it withclient.sendEnvelopeand replies with the transport result. The renderer transport returns that result, sosendFeedbackresolves on a 2xx and rejects on anything else, including a send that was queued offline, rate limited, dropped by an event processor, or not sent because main hasenabled: false. This matches howsendFeedbackbehaves in the browser SDK with the offline transport.captureEventis not used for feedback because it doesn't expose the send result. Nothing is lost by that:beforeSendandsampleRateonly apply to error events, and the hookscaptureEventemits have no listeners for feedback events.All other envelopes are unchanged. They still return 200 immediately, so nothing else waits on the network.
The
User Feedbacke2e test now closes the window oncesendFeedbackresolves and asserts on the resolve. Unit tests cover the transport's channel choice.