Commit Graph

449 Commits

Author SHA1 Message Date
Michael Bradley, Jr 8a9b8f25ab separate "should authenticate" logic from "do authenticate" logic
but don't maintain separate methods for query string vs. props
2018-10-25 05:50:59 -05:00
Michael Bradley, Jr a5c972903b formatting 2018-10-25 05:50:58 -05:00
Michael Bradley, Jr 10fa3fec9f consolidate DEFAULT_HOST logic 2018-10-25 05:50:58 -05:00
Michael Bradley, Jr 9533b57627 formatting 2018-10-25 05:50:58 -05:00
Michael Bradley, Jr d861b0b1af prefer an empty React Fragment to an empty div 2018-10-25 05:50:58 -05:00
Michael Bradley, Jr 56177346df set error null for action.type AUTHENTICATE[REQUEST] 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr d150deb572 error is `null` in DEFAULT_CREDENTIALS_STATE 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 9ce967ca03 prefer `import` to `require()` 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 754266da17 formatting 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr a594b14f27 combine token stripping logic, use utils 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 53d6b9d704 reorg getQueryToken, stripQueryToken in utils/utils 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 8d684bf1ef make requireAuthentication clearer
if authenticating or authenticated, do not require authentication
2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 8add299f53 whitespace 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 8b23d012eb don't return Layout while authenticating 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 2088624d83 on autho failure trigger logout, which clears localStorage
We don't presently have a way to cleanly distinguish between auth attempts with
query string vs. credentials from localStorage, particularly with respect to
one kind failing vs. the other. This can create confusing behavior when
e.g. copy/pasting an old/wrong URL+token, but then it works when refreshing the
window/tab with URL minus the token.

So, this commit simplifies the situation somewhat by triggering a logout
if there's an auth failure. That will affect all open tabs/windows of the
same browser but not other browsers, e.g. if one has embark-ui open in Chrome
and Firefox.
2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 0ce26e4479 include default credentials state on auth failure 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 8d40c04107 strip token from URL if auth fails 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr d02d2f1522 make token stripping logic reusable 2018-10-25 05:50:53 -05:00
Michael Bradley, Jr 3071c489a7 introduce props.credentials.authenticating
helps prevent auth dupes and allows "flash" of Login component to be avoided
while waiting for an authentication attempt that may succeed
2018-10-25 05:50:52 -05:00
Michael Bradley, Jr ee13fcf3ad getToken -> getQueryToken 2018-10-25 05:50:52 -05:00
Michael Bradley, Jr 2abcfe5de0 remove token from URL and replace location in history if auth'd 2018-10-25 05:50:52 -05:00
Michael Bradley, Jr 1b20bbbeb8 invoke queryStringAuthenticate before requireAuthentication 2018-10-25 05:50:52 -05:00
Michael Bradley, Jr 2432489943 remove useless constructor 2018-10-25 05:50:52 -05:00
Michael Bradley, Jr fe1a0a6f3b only auth w/ stored token if there is no query string token 2018-10-25 05:50:52 -05:00
Iuri Matias 4b00145e4b
Merge pull request #160 from status-im/feature/file-tree-icons
Add icons to file tree
2018-10-25 06:13:25 -04:00
Iuri Matias 21fd3292b8
Merge pull request #161 from status-im/chores/warning
Fix warnings
2018-10-25 06:11:00 -04:00
Iuri Matias 767b81da63
Merge pull request #162 from status-im/feature/add-contracts-overview-to-deployment
Add function to contract deployment
2018-10-25 06:10:44 -04:00
Anthony Laibe df86bae377 Remove footer 2018-10-25 10:43:26 +01:00
Anthony Laibe 7e1a6848ae Add function to contract deployment 2018-10-25 09:43:50 +01:00
Anthony Laibe 48715efec8 Fix warnings 2018-10-25 08:23:09 +01:00
Anthony Laibe 8ae6c6c154 Add icons to file tree 2018-10-25 08:06:37 +01:00
Iuri Matias 2821c3deb1 improve sidebars width 2018-10-24 17:20:36 -04:00
Iuri Matias 886b78f497
Merge pull request #158 from status-im/feature/move-contracts-page-to-explorer
Move contracts to explorer
2018-10-24 17:13:37 -04:00
Iuri Matias 90c033187d
Merge pull request #156 from status-im/features/explorer-pagination
Add pagination to explorer
2018-10-24 17:13:16 -04:00
Jonathan Rainville 60c07072cf review comments 2018-10-24 16:41:05 -04:00
Andre Medeiros d02edf869b Move contracts to explorer 2018-10-24 16:03:46 -04:00
Jonathan Rainville d8145e80b1 fix tabs 2018-10-24 16:03:40 -04:00
Jonathan Rainville e268c5b8c8 remove hard-coded color 2018-10-24 15:23:31 -04:00
Jonathan Rainville c50390fb01 fix dark-theme layout 2018-10-24 15:20:31 -04:00
Jonathan Rainville 90fafd0158 fix linting on the explorer 2018-10-24 15:09:32 -04:00
Jonathan Rainville 3d3ce559e9 add pagination to transactions too 2018-10-24 14:51:09 -04:00
Jonathan Rainville ab3fa97592 change page when clicking on it for blocks 2018-10-24 14:51:09 -04:00
Jonathan Rainville 8bdc8d41d4 start pagination at the end 2018-10-24 14:51:09 -04:00
Jonathan Rainville a1b18b74f8 conflict in css 2018-10-24 14:50:07 -04:00
Jonathan Rainville 6c92e7b24d display correct pagination whatever the page 2018-10-24 14:48:48 -04:00
Jonathan Rainville 09e21f3386 conflict in layout 2018-10-24 14:48:48 -04:00
Jonathan Rainville 78e9d3257d conflict in explorer 2018-10-24 14:48:48 -04:00
André Medeiros 5fd69b60fa
Merge branch 'develop_51' into restyle-code-editor-top-bar 2018-10-24 14:14:59 -04:00
Iuri Matias 7175bc506c
Merge pull request #153 from status-im/restyle-explorer
Restyle explorer
2018-10-24 14:13:11 -04:00
Iuri Matias 8e6272d75f fix merge conflict 2018-10-24 14:11:24 -04:00
Anthony Laibe f0eb03bf05 Add editor tabs 2018-10-24 14:02:31 -04:00
Andre Medeiros 690788899e Refactor the toggle to show it on the file tree 2018-10-24 13:57:57 -04:00
Andre Medeiros 69482bda42 Refactor the right navigation 2018-10-24 13:37:40 -04:00
Iuri Matias 21d1e1e423
Merge pull request #151 from status-im/chores/fix-class-and-remove-dup
Remove usage of class and duplicate component
2018-10-24 13:20:16 -04:00
Iuri Matias 5efda2c428 move debugger to sidebar; fix config issue 2018-10-24 13:10:31 -04:00
Jonathan Rainville 991066a1f5 use bootstrap border utility 2018-10-24 11:54:21 -04:00
Jonathan Rainville e456a76d19 better position columns 2018-10-24 11:01:03 -04:00
Jonathan Rainville 54ee9417db remove unused references 2018-10-24 10:56:36 -04:00
Jonathan Rainville ee3d23567e remove useless align class 2018-10-24 10:54:25 -04:00
Jonathan Rainville 28a1303adf conflict in explorer layout 2018-10-24 10:52:53 -04:00
Jonathan Rainville 3a1042d7a9 conflict in blocks and accounts 2018-10-24 10:46:58 -04:00
Jonathan Rainville bc0a89fd6d conflict in transactions 2018-10-24 10:45:06 -04:00
Jonathan Rainville 2ed2f9388b conflict in blocks 2018-10-24 10:42:06 -04:00
Anthony Laibe 31ea6cbbb1 Remove usage of class and duplicate component 2018-10-24 09:18:42 +01:00
Iuri Matias 29ebd9c8e0 update contract debugger to not user tabler react anymore 2018-10-23 21:52:47 -04:00
Iuri Matias 1d6da99e8f display last error found
display last line on tx

fix debugger call

listen to source event only after jumping to the end

keep track of last tx; add minimal debug feature; fix ast issue

initial debugger apis & ui integration

prevent crash when step is out of bounds; send all all available data in websocket

add debugger commands

fix line number tracking in editor; toggle breakpoints

replace timeouts with callbacks

add debugger manager & refactor

refactor debugger api

refactor cmd line debugger

reduce debugger decoupling

reduce debugger decoupling

fix debug buttons

trigger source update so api triggers ws event to update source location

move locals and contracts vars to a json view

improve debugger icons

simplify debugger data

update debug package

add command handler to get a contract given a tx; update debugger so it can get a contract by its tx instead of tracking latest txs only

update debugger package
2018-10-23 18:27:40 -04:00
Anthony Laibe 00a8d9baea Add toolbar to editor
Rename overview to detail

React to save file for local storage

Add switch for hidden files

move units to ether instead of wei

separate description from link itself which makes UI cleaner

remove unneded explorer header

switch nav menu color to white

replace contract address table with simple paragraph instead

improve contract functions page

improve contract functions view

style/fix functions tab

fix rebase issue

re-style contracts sidebar

improve contract detail sidebar
2018-10-23 16:13:19 -04:00
Anthony Laibe b1da43a684 Update package lock 2018-10-23 17:06:36 +01:00
Anthony Laibe aecc667a8c
Display a search for small screen 2018-10-23 11:13:22 +02:00
Anthony Laibe 4ed329c21d
Responsive Layout 2018-10-23 11:12:53 +02:00
Anthony Laibe 3bb696e4d3
Do not fetch processes/plugins/services at
each route change

Version is not fetched anymore, we cannot use them as an
anchore
2018-10-23 11:12:53 +02:00
Pascal Precht 892200a236
fix(cockpit/services/api): make sure query params are serialized correctly
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.
2018-10-23 11:12:53 +02:00
Jonathan Rainville fd67844235
review comments 2018-10-23 11:12:53 +02:00
Jonathan Rainville 2d66870773
fix dashboard broken 2018-10-23 11:12:53 +02:00
Jonathan Rainville e660eaea72
add tooltip on copy when there is no onCopy prop 2018-10-23 11:12:52 +02:00
Jonathan Rainville ab77cc012e
conflict in index.css 2018-10-23 11:12:52 +02:00
Jonathan Rainville 29fb9fbe80
add copyButton to abi and bytecode thing 2018-10-23 11:12:52 +02:00
Jonathan Rainville bd4f4726b3
create CopyButton component to wrap arround CopyToClipboard 2018-10-23 11:12:52 +02:00
Jonathan Rainville 261b4eddf3
linting 2018-10-23 11:12:52 +02:00
Jonathan Rainville 6150ce0b54
review comments 2018-10-23 11:12:51 +02:00
Jonathan Rainville 972e0aca40
remove leftover comment 2018-10-23 11:12:51 +02:00
Jonathan Rainville 423d8dcdf0
better style search bar with error and loading 2018-10-23 11:12:51 +02:00
Jonathan Rainville 47beac499f
enable searching contracts 2018-10-23 11:12:51 +02:00
Jonathan Rainville aa742e4a6e
conflict in Layout 2018-10-23 11:12:51 +02:00
Jonathan Rainville 203c4253d7
conflict in layout 2018-10-23 11:12:51 +02:00
Jonathan Rainville e683887ea4
fix bar's css 2018-10-23 11:12:50 +02:00
Anthony Laibe 02aea0506f
Add missing error on authentication 2018-10-23 11:12:50 +02:00
Anthony Laibe 4ca753f38f
Trim text on widget 2018-10-23 11:12:50 +02:00
Anthony Laibe cf460da277
Remove toggler 2018-10-23 11:12:50 +02:00
Anthony Laibe f9dd202713
Apply header and sidebar layout navigation 2018-10-23 11:12:50 +02:00
Pascal Precht c8bd4f19e3
cleanup(cockpit/TextEditorContractsToolbar): remove unused `Icon`
In https://github.com/status-im/embark-area-51/commit/c8339c074 we started using
Font Awesome Icons, so this is a leftover.
2018-10-23 11:12:50 +02:00
Pascal Precht e692e7b19e
fix(cockpit/sevices/api): properly send query parameters for get requests
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.
2018-10-23 11:12:49 +02:00
Anthony Laibe a1c33a23a2
Remove tabler-react 2018-10-23 11:12:49 +02:00
Anthony Laibe 627fec5b49
Use cards in contract deployment 2018-10-23 11:12:48 +02:00
Pascal Precht 8740c8c0c9
fix(cockpit/Layout): ensure Layout render doesn't throw
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.
2018-10-23 11:12:48 +02:00
Anthony Laibe ba5e479ae8
PR feedback 2018-10-23 11:12:48 +02:00
Anthony Laibe 2c74c2aa30
Add identicon 2018-10-23 11:12:48 +02:00
Pascal Precht 98fc1ab51e
fix(cockpit/AppContainer): allow bootstrap with query params
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.
2018-10-23 11:12:48 +02:00
Pascal Precht 8562a3f6c8
feat(cockpit): enable query param authentication in development mode
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.
2018-10-23 11:12:47 +02:00
Anthony Laibe ff0d7d20df
Better format element of explorer 2018-10-23 11:12:47 +02:00