Skip to content

Commit 16c059a

Browse files
authored
client: display a better error when rate limited for add previews (#1560)
1 parent f948329 commit 16c059a

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

client/src/components/AddPreview.vue

+14-5
Original file line numberDiff line numberDiff line change
@@ -200,13 +200,15 @@ export const AddPreview = defineComponent({
200200
hasAddPreviewFailed.value = true;
201201
videosLoadFailureText.value = t("add-preview.messages.unknown-error");
202202
console.error("Failed to get add preview", err);
203+
let unknownFail = true;
203204
if (axios.isAxiosError(err) && err.response) {
204205
console.error(
205206
`add preview response: ${err.response.status}`,
206207
err.response.data
207208
);
208209
209210
if (err.response.status === 400) {
211+
unknownFail = false;
210212
videosLoadFailureText.value = err.response.data.error.message;
211213
if (
212214
err.response.data.error.name === "FeatureDisabledException" &&
@@ -219,14 +221,21 @@ export const AddPreview = defineComponent({
219221
"_blank"
220222
);
221223
}
224+
} else if (err.response.status === 429) {
225+
unknownFail = false;
226+
videosLoadFailureText.value = t("common.errors.rate-limited", {
227+
duration: err.response.headers["Retry-After"],
228+
});
222229
}
223230
}
224231
225-
toast.add({
226-
style: ToastStyle.Error,
227-
content: t("add-preview.messages.failed-to-get-add-preview"),
228-
duration: 6000,
229-
});
232+
if (unknownFail) {
233+
toast.add({
234+
style: ToastStyle.Error,
235+
content: t("add-preview.messages.failed-to-get-add-preview"),
236+
duration: 6000,
237+
});
238+
}
230239
} finally {
231240
isLoadingAddPreview.value = false;
232241
}

client/src/locales/en.ts

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ export default {
2626
"success": "Success",
2727
"vote": "Vote",
2828
"unvote": "Unvote",
29+
"errors": {
30+
"rate-limit": "Rate limit exceeded. Please try again in {duration} seconds.",
31+
},
2932
},
3033
"behavior": {
3134
[BehaviorOption.Always]: "Always",

0 commit comments

Comments
 (0)