Add error message from server when voting

This commit is contained in:
Ajay Ramachandran
2021-01-26 21:57:43 -05:00
parent 41fee58ab9
commit 67f2798672
4 changed files with 15 additions and 11 deletions

View File

@@ -125,19 +125,22 @@ async function submitVote(type: number, UUID: string, category: string) {
if (response.ok) { if (response.ok) {
return { return {
successType: 1 successType: 1,
responseText: await response.text()
}; };
} else if (response.status == 405) { } else if (response.status == 405) {
//duplicate vote //duplicate vote
return { return {
successType: 0, successType: 0,
statusCode: response.status statusCode: response.status,
responseText: await response.text()
}; };
} else { } else {
//error while connect //error while connect
return { return {
successType: -1, successType: -1,
statusCode: response.status statusCode: response.status,
responseText: await response.text()
}; };
} }
} }

View File

@@ -1373,7 +1373,7 @@ function vote(type: number, UUID: string, category?: string, skipNotice?: SkipNo
//success (treat rate limits as a success) //success (treat rate limits as a success)
skipNotice.afterVote.bind(skipNotice)(utils.getSponsorTimeFromUUID(sponsorTimes, UUID), type, category); skipNotice.afterVote.bind(skipNotice)(utils.getSponsorTimeFromUUID(sponsorTimes, UUID), type, category);
} else if (response.successType == -1) { } else if (response.successType == -1) {
skipNotice.setNoticeInfoMessage.bind(skipNotice)(utils.getErrorMessage(response.statusCode)) skipNotice.setNoticeInfoMessage.bind(skipNotice)(utils.getErrorMessage(response.statusCode, response.responseText))
skipNotice.resetVoteButtonInfo.bind(skipNotice)(); skipNotice.resetVoteButtonInfo.bind(skipNotice)();
} }
} }
@@ -1500,7 +1500,7 @@ async function sendSubmitMessage(): Promise<void> {
document.getElementById("submitButton").style.animation = "unset"; document.getElementById("submitButton").style.animation = "unset";
(<HTMLImageElement> document.getElementById("submitImage")).src = chrome.extension.getURL("icons/PlayerUploadFailedIconSponsorBlocker256px.png"); (<HTMLImageElement> document.getElementById("submitImage")).src = chrome.extension.getURL("icons/PlayerUploadFailedIconSponsorBlocker256px.png");
alert(utils.getErrorMessage(response.status) + "\n\n" + (response.responseText)); alert(utils.getErrorMessage(response.status, response.responseText));
} }
} }

View File

@@ -548,7 +548,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
PageElements.sponsorTimesContributionsContainer.classList.remove("hidden"); PageElements.sponsorTimesContributionsContainer.classList.remove("hidden");
} else { } else {
PageElements.setUsernameStatus.innerText = utils.getErrorMessage(response.status); PageElements.setUsernameStatus.innerText = utils.getErrorMessage(response.status, response.responseText);
} }
}); });
@@ -575,7 +575,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
function vote(type, UUID) { function vote(type, UUID) {
//add loading info //add loading info
addVoteMessage(chrome.i18n.getMessage("Loading"), UUID) addVoteMessage(chrome.i18n.getMessage("Loading"), UUID);
//send the vote message to the tab //send the vote message to the tab
chrome.runtime.sendMessage({ chrome.runtime.sendMessage({
@@ -587,9 +587,9 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
//see if it was a success or failure //see if it was a success or failure
if (response.successType == 1 || (response.successType == -1 && response.statusCode == 429)) { if (response.successType == 1 || (response.successType == -1 && response.statusCode == 429)) {
//success (treat rate limits as a success) //success (treat rate limits as a success)
addVoteMessage(chrome.i18n.getMessage("voted"), UUID) addVoteMessage(chrome.i18n.getMessage("voted"), UUID);
} else if (response.successType == -1) { } else if (response.successType == -1) {
addVoteMessage(utils.getErrorMessage(response.statusCode), UUID) addVoteMessage(utils.getErrorMessage(response.statusCode, response.responseText), UUID);
} }
} }
}); });

View File

@@ -286,8 +286,9 @@ class Utils {
* @param {int} statusCode * @param {int} statusCode
* @returns {string} errorMessage * @returns {string} errorMessage
*/ */
getErrorMessage(statusCode: number): string { getErrorMessage(statusCode: number, responseText: string): string {
let errorMessage = ""; let errorMessage = "";
const postFix = (responseText ? "\n\n" + responseText : "");
if([400, 429, 409, 502, 0].includes(statusCode)) { if([400, 429, 409, 502, 0].includes(statusCode)) {
//treat them the same //treat them the same
@@ -299,7 +300,7 @@ class Utils {
errorMessage = chrome.i18n.getMessage("connectionError") + statusCode; errorMessage = chrome.i18n.getMessage("connectionError") + statusCode;
} }
return errorMessage; return errorMessage + postFix;
} }
/** /**