Skip to content

Commit e0302c3

Browse files
authored
fix(feedback): Send feedback rejects invalid responses (#12518)
`sendFeedback` rejects if the response isn't a valid status code. Also propagates message into form. <img width="338" alt="image" src="https://github.com/getsentry/sentry-javascript/assets/55311782/ebb6126d-92ea-4593-9cec-3f3634cc1708"> Fixes #12476
1 parent ff0d9c1 commit e0302c3

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

packages/feedback/src/core/sendFeedback.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,19 @@ export const sendFeedback: SendFeedback = (
5151
if (
5252
response &&
5353
typeof response.statusCode === 'number' &&
54-
(response.statusCode < 200 || response.statusCode >= 300)
54+
response.statusCode >= 200 &&
55+
response.statusCode < 300
5556
) {
56-
if (response.statusCode === 0) {
57-
return reject(
58-
'Unable to send Feedback. This is because of network issues, or because you are using an ad-blocker.',
59-
);
60-
}
61-
return reject('Unable to send Feedback. Invalid response from server.');
57+
resolve(eventId);
6258
}
6359

64-
resolve(eventId);
60+
if (response && typeof response.statusCode === 'number' && response.statusCode === 0) {
61+
return reject(
62+
'Unable to send Feedback. This is because of network issues, or because you are using an ad-blocker.',
63+
);
64+
}
65+
66+
return reject('Unable to send Feedback. Invalid response from server.');
6567
});
6668
});
6769
};

packages/feedback/src/modal/components/Dialog.css.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ const FORM = `
100100
}
101101
102102
.form__right {
103-
min-width: var(--form-width, 272px);
103+
flex: 0 0 var(--form-width, 272px);
104+
width: var(--form-width, 272px);
104105
display: flex;
105106
overflow: auto;
106107
flex-direction: column;

packages/feedback/src/modal/components/Form.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ export function Form({
130130
onSubmitSuccess(data);
131131
} catch (error) {
132132
DEBUG_BUILD && logger.error(error);
133-
setError('There was a problem submitting feedback, please wait and try again.');
133+
setError(error as string);
134134
onSubmitError(error as Error);
135135
}
136136
} catch {
@@ -230,7 +230,11 @@ function LabelText({
230230
label,
231231
isRequired,
232232
isRequiredLabel,
233-
}: { label: string; isRequired: boolean; isRequiredLabel: string }): VNode {
233+
}: {
234+
label: string;
235+
isRequired: boolean;
236+
isRequiredLabel: string;
237+
}): VNode {
234238
return (
235239
<span class="form__label__text">
236240
{label}

0 commit comments

Comments
 (0)