In 9097f31c83 we ensured to send query parameters
along with GET requests done by our API service. This resulted in weird behaviour
where query parameters have been attached as `params` in a serialized format of our API requests.
So instead of sending sth. like:
```
/embark-api?token=foo-bar
```
Requests looked like:
```
/embark-api?params=...
```
This has even been patched accordingly on the server like here 043697bddc,
while still being unpatched in other places on the server.
It turns out however, that the reason this `params` parameter appears, is that all of our GET requests,
already send their payload as `params`.
This commit now ensures that GET parameters are sent in the correct format.
Ever since we moved to using Axios in 20831179fc,
we haven't properly sent GET parameters along with the requests.
This is because Axios exposes two different properties to send params
along different http verb methods.
In https://github.com/status-im/embark-area-51/commit/62964c8ce we've introduced a
regression where are two errors are thrown when `Layout` component is rendered:
- one for NavItem not having a key property
- one for margin-top not being a supported style property on Container
This commits fixes both.
Cockpit allows for authentication via a `token` query parameter a la
```
http://localhost:8000/embark?token=xxxx-xxxx-xxxx-xxxx
```
So far, this was the only query parameter cockpit knew about, which is
why the algorithm during bootstrap always assumed that, if we have
query parameters, there has to be a `token` query parameter.
However, since 20831179fc, this turns out to be a problem. The hashing algorithm
for the request headers will throw, when `token` is not defined, which
can be possible with future features that add new query parameters.
This can be easily reproduced by bootstrapping/refreshing Cockpit using
any arbitrary query string parameter that is not `token`.
With this commit we ensure that we only perform query string authentication
when a `token` parameter is available.
Prior to this commit it wasn't possible to authenticate using the
`token` query param as the `host` used for authentication doesn't
match the one of the Embark host.
This commit adds a new component to decode and analyze transactions.
It's similar to the transaction component that's already available,
with the difference that it takes advantage of the ReactJson tree
view for better analysis experience.