ui: handle errors from unimplemented services (#18020)

When a request is made to an RPC service that doesn't exist (for
example, a cross-region request from a newer version of Nomad to an
older version that doesn't implement the endpoint) the application
should return an empty list as well.
This commit is contained in:
Luiz Aoqui 2023-07-21 09:16:35 -04:00 committed by Tim Gross
parent 63316363c9
commit 21cf30178a
2 changed files with 6 additions and 1 deletions

3
.changelog/18020.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:bug
ui: Fixed error handling for cross-region requests when the receiving region does not implement the endpoint being requested
```

View File

@ -44,7 +44,9 @@ export default class ApplicationAdapter extends RESTAdapter {
return super.findAll(...arguments).catch((error) => {
const errorCodes = codesForError(error);
const isNotImplemented = errorCodes.includes('501');
const isNotImplemented =
errorCodes.includes('501') ||
error.message.includes("rpc: can't find service");
if (isNotImplemented) {
return [];