Skip to content

Commit

Permalink
#1475 | Friendly error message when server is unavailable
Browse files Browse the repository at this point in the history
  • Loading branch information
1t5j0y committed Aug 22, 2024
1 parent 3c33877 commit 47541ca
Show file tree
Hide file tree
Showing 8 changed files with 22 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@ import EnvironmentConfig from "../EnvironmentConfig";
class AvniError {
userMessage;
reportingText;
showOnlyUserMessage;

static create(userMessage, reportingText) {
static create(userMessage, reportingText, showOnlyUserMessage = false) {
const avniError = new AvniError();
avniError.userMessage = userMessage;
avniError.reportingText = reportingText;
avniError.showOnlyUserMessage = showOnlyUserMessage;
return avniError;
}

Expand All @@ -17,7 +19,7 @@ class AvniError {
}

getDisplayMessage() {
if (EnvironmentConfig.isHighSecurity())
if (EnvironmentConfig.isHighSecurity() || this.showOnlyUserMessage)
return _.truncate(this.userMessage, {length: 80});

return _.truncate(this.reportingText, {length: 600});
Expand Down
9 changes: 6 additions & 3 deletions packages/openchs-android/src/service/ServerError.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,10 @@ function getServerStatusMessageKey(serverError) {
case 408:
return "poorConnection";
case 429:
case 502:
case 503:
case 504:
return "serverUnavailable";
return "serverUnavailableTryLater";
default:
return "unknownServerErrorReason";
}
Expand All @@ -41,10 +42,12 @@ export function getAvniError(serverError, i18n) {
const avniError = new AvniError();
const serverErrorPromise = serverError.response.text() || Promise.resolve(i18n.t("unknownServerErrorReason"));
return serverErrorPromise.then((errorMessage) => {
avniError.userMessage = `${i18n.t(getServerStatusMessageKey(serverError))}. ${errorCode}. ${errorMessage}`;
const statusMessageKey = getServerStatusMessageKey(serverError);
if (statusMessageKey === 'serverUnavailableTryLater') avniError.showOnlyUserMessage = true;
avniError.userMessage = `${i18n.t(statusMessageKey)}. ${errorCode}. ${errorMessage}`;
return ErrorUtil.getNavigableStackTraceSync(serverError);
}).then((stackTraceString) => {
avniError.reportingText = `${avniError.userMessage}\n${stackTraceString}`;
avniError.reportingText = `${avniError.userMessage}\n\n${stackTraceString}`;
return avniError;
});
}
Expand Down
3 changes: 2 additions & 1 deletion packages/openchs-android/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -502,6 +502,7 @@
"copyErrorTryAgain": "Copy Error & Try Again",
"copyErrorAndCancel": "Copy Error & Cancel",
"reportCopiedReportByPasting": "Report is copied. You can paste in a messaging app to report.",
"lastRefreshedMessage": "Card numbers last updated on {{dateTime}}"
"lastRefreshedMessage": "Card numbers last updated on {{dateTime}}",
"serverUnavailableTryLater": "Server under maintenance. Please try again after sometime"
}
}
3 changes: 2 additions & 1 deletion packages/openchs-android/translations/gu_IN.json
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,7 @@
"copyErrorTryAgain": "કોપી ભૂલ કરો અને ફરીથી પ્રયાસ કરો",
"copyErrorAndCancel": "કોપી ભૂલ અને રદ કરો",
"reportCopiedReportByPasting": "रिपोर्ट कॉपी कर ली गई है। रिपोर्ट करने के लिए आप मैसेजिंग ऐप में पेस्ट कर सकते हैं।",
"lastRefreshedMessage": " {{dateTime}}"
"lastRefreshedMessage": " {{dateTime}}",
"serverUnavailableTryLater": "જાળવણી હેઠળ સર્વર. કૃપા કરીને થોડીવાર પછી ફરી પ્રયાસ કરો"
}
}
3 changes: 2 additions & 1 deletion packages/openchs-android/translations/hi_IN.json
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,7 @@
"copyErrorTryAgain": "त्रुटि कॉपी करें और पुनः प्रयास करें",
"copyErrorAndCancel": "त्रुटि कॉपी करें और रद्द करें",
"reportCopiedReportByPasting": "रिपोर्ट कॉपी कर ली गई है। रिपोर्ट करने के लिए आप मैसेजिंग ऐप में पेस्ट कर सकते हैं।",
"lastRefreshedMessage": "कार्ड नंबर अंतिम बार {{dateTime}} पर अपडेट किए गए"
"lastRefreshedMessage": "कार्ड नंबर अंतिम बार {{dateTime}} पर अपडेट किए गए",
"serverUnavailableTryLater": "सर्वर रखरखाव के अधीन है। कृपया कुछ समय बाद पुनः प्रयास करें"
}
}
3 changes: 2 additions & 1 deletion packages/openchs-android/translations/ka_IN.json
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,7 @@
"copyErrorTryAgain": "ನಕಲು ದೋಷ ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ",
"copyErrorAndCancel": "ನಕಲು ದೋಷ ಮತ್ತು ರದ್ದುಗೊಳಿಸು",
"reportCopiedReportByPasting": "ವರದಿಯನ್ನು ನಕಲಿಸಲಾಗಿದೆ. ವರದಿ ಮಾಡಲು ನೀವು ಸಂದೇಶ ಕಳುಹಿಸುವ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಅಂಟಿಸಬಹುದು.",
"lastRefreshedMessage": "ಕಾರ್ಡ್ ಸಂಖ್ಯೆಗಳನ್ನು {{dateTime}} ರಂದು ಕೊನೆಯದಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ"
"lastRefreshedMessage": "ಕಾರ್ಡ್ ಸಂಖ್ಯೆಗಳನ್ನು {{dateTime}} ರಂದು ಕೊನೆಯದಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ",
"serverUnavailableTryLater": "ಸರ್ವರ್ ನಿರ್ವಹಣೆಯಲ್ಲಿದೆ. ದಯವಿಟ್ಟು ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ"
}
}
3 changes: 2 additions & 1 deletion packages/openchs-android/translations/mr_IN.json
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,7 @@
"copyErrorTryAgain": "एरर कॉपी करा आणि पुन्हा प्रयत्न करा",
"copyErrorAndCancel": "एरर कॉपी करा आणि रद्द करा",
"reportCopiedReportByPasting": "अहवाल कॉपी केला आहे. तुम्ही तक्रार करण्यासाठी मेसेजिंग ॲपमध्ये पेस्ट करू शकता.",
"lastRefreshedMessage": "कार्ड क्रमांक {{dateTime}} रोजी शेवटचे अपडेट केले गेले"
"lastRefreshedMessage": "कार्ड क्रमांक {{dateTime}} रोजी शेवटचे अपडेट केले गेले",
"serverUnavailableTryLater": "देखभाल अंतर्गत सर्व्हर. कृपया काही वेळाने पुन्हा प्रयत्न करा"
}
}
3 changes: 2 additions & 1 deletion packages/openchs-android/translations/ta_IN.json
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,7 @@
"copyErrorTryAgain": "பிழையை நகலெடுத்து மீண்டும் முயற்சிக்கவும்",
"copyErrorAndCancel": "நகல் பிழை & ரத்துசெய்",
"reportCopiedReportByPasting": "அறிக்கை நகலெடுக்கப்பட்டது. புகாரளிக்க செய்தியிடல் பயன்பாட்டில் ஒட்டலாம்.",
"lastRefreshedMessage": "கார்டு எண்கள் கடைசியாக {{dateTime}} அன்று புதுப்பிக்கப்பட்டது"
"lastRefreshedMessage": "கார்டு எண்கள் கடைசியாக {{dateTime}} அன்று புதுப்பிக்கப்பட்டது",
"serverUnavailableTryLater": "சர்வர் பராமரிப்பில் உள்ளது. சிறிது நேரம் கழித்து மீண்டும் முயற்சிக்கவும்"
}
}

0 comments on commit 47541ca

Please sign in to comment.