4ad691fa2f
The Consul API can pass through `Value: null` which does not get cast to a string by ember-data. This snowballs into problems with `atob` which then tried to decode `null`. There are 2 problems here. 1. `Value` should never be `null` - I've added a removeNull function to shallowly loop though props and remove properties that are `null`, for the moment this is only on single KV JSON responses - therefore `Value` will never be `null` which is the root of the problem 2. `atob` doesn't quite follow the `window.atob` API in that the `window.atob` API casts everything down to a string first, therefore it will try to decode `null` > `'null'` > `crazy unicode thing`. - I've commented in a fix for this, but whilst this shouldn't be causing anymore problems in our UI (now that `Value` is never `null`), I'll uncomment it in another future release. Tests are already written for it which more closely follow `window.atob` but skipped for now (next commit) |
||
---|---|---|
.. | ||
http | ||
model | ||
ascend.js | ||
atob.js | ||
btoa.js | ||
callable-type.js | ||
confirm.js | ||
createURL.js | ||
distance.js | ||
error.js | ||
get-component-factory.js | ||
hasStatus.js | ||
injectableRequestToJQueryAjaxHash.js | ||
isFolder.js | ||
keyToArray.js | ||
left-trim.js | ||
makeAttrable.js | ||
promisedTimeout.js | ||
qsa-factory.js | ||
remove-null.js | ||
right-trim.js | ||
sumOfUnhealthy.js | ||
tomography.js | ||
ucfirst.js |