Commit Graph

4694 Commits

Author SHA1 Message Date
Anthony Laibe d6f7c652f9 bug: send gas when calling a function via API 2018-10-27 11:51:03 +02:00
Iuri Matias b02cafe672
Merge pull request #133 from status-im/bug_fix/double-auth
Don't authenticate twice
2018-10-26 16:58:08 +02:00
Iuri Matias 908db2d923
Merge pull request #168 from status-im/feature/add-tooltip-to-header-link
Add tooltip to header external link
2018-10-26 16:57:02 +02:00
Anthony Laibe ed9a910f4a Add tooltip to header external link 2018-10-26 16:40:34 +02:00
Iuri Matias 87dfffef4d
Merge pull request #166 from status-im/features/improve-gas-estimator
Add gas estimator to the functions that need it
2018-10-25 15:43:39 -04:00
Iuri Matias e25a5ad020
Merge pull request #165 from status-im/bug-fix/full-height-file-tree
Fix file-tree height
2018-10-25 15:43:14 -04:00
Jonathan Rainville 22f94563fe add a title to the auto-set button to explain 2018-10-25 12:04:25 -04:00
Jonathan Rainville 8886f6b0f2 add gas price estimator is functions as well as a button to auto-set 2018-10-25 11:59:25 -04:00
Jonathan Rainville 92d433ff9a impore contract overview style 2018-10-25 10:23:47 -04:00
Jonathan Rainville 8ec1199074 fix file-tree height 2018-10-25 09:51:54 -04:00
Iuri Matias 7df05fdce3
Merge pull request #164 from status-im/feature/light-theme-editor
Add light theme to editor
2018-10-25 07:50:15 -04:00
Iuri Matias 7461d0b4a8
Merge pull request #143 from status-im/bug_fix/backend_tab/logs-blockchain-broken
Embark blockchain logs when running standalone
2018-10-25 07:49:56 -04:00
Pascal Precht 6dccbd8902
fix: Ensure Embark process live updates are being retrieved by Cockpit 2018-10-25 13:04:33 +02:00
emizzle efa21a1915
Fix process logs not returning
The API endpoint listening for a dump of process logs was not returning logs properly for two reasons:
1. The `id` field was being appended to each log. This had been moved to the `handleLog` function of the `LogHandler`.
2. The slice needed to grab logs from the end, so the `limit` was made negative on the `.slice()`.
2018-10-25 13:04:33 +02:00
emizzle dcdcfb5b32
Minor fixes for rebase 2018-10-25 13:04:33 +02:00
emizzle 9a830c3423
Remove default behavior of logging to file
Default behavior of logging to file is no longer needed now that Embark log history can be properly served using the `ProcessLogsApi` and `LogHandler` classes.

# Conflicts:
#	lib/core/logger.js
#	lib/modules/blockchain_process/blockchain.js
2018-10-25 13:04:33 +02:00
emizzle f5c77b1416
Process logs API refactor
There are three separate instances of process log APIs: embark logs, blockchain logs (when in standalone mode), and child process logs (storage, communication, blockchain, etc). Each one was repeating the implementation of creating a process log API endpoint. This commit centralises the API declaration by using the class `ProcessLogsApi`.

`ProcessLogsApi` is started for all three components mentioned above: blockchain (in standalone) in the `BlockchainListener` module, embark in the `EmbarkListener` module, and for all child processes in the `ProcessLauncher`.

These listeners have two functions:
1. Create the process logs API endpoints for `get` and `ws`, and
2. Ensure that all logs are logged through the `LogHandler`, which normalises the output of the log and ensures each log has a timestamp and id (used in the cockpit for log ordering).

Also, this commit moved the pipeline in to a module, so that the `embark` object could be passed to the `ProcessLogsApi` (to be used for registering API endpoints).
2018-10-25 13:04:28 +02:00
Anthony Laibe 079a2dbba4 Add light theme to editor 2018-10-25 12:02:13 +01:00
emizzle 3246b62151
Revert changes to `scaffold` function in `cmd_controller.js` 2018-10-25 12:51:48 +02:00
emizzle 728713a183
Embark blockchain logs when running standalone
When running `embark blockchain` followed by `embark run` previously, logs generated in the standalone `embark blockchain` process were black boxed and not accessible to the main Embark process.

This is fixed by creating a client IPC connection in the `embark blockchain` process that connects to the IPC server connection running in `embark run`. The connection is made by way of polling `ipc.connect` and continues polling even after a connection is made in case `embark run` is killed and restarted without restarting `embark blockchain`.

`LogHandler` was introduced to extrapolate functionality used in `ProcessLauncher` that needed to also be used in the standalone blockchain process. It also caps the number of logs that are stored in memory per process by a constant value defined in `constants.json`.

A `blockchain_listener` was module was created (and run inside of `embark run`) that listens for logs emitted by the `embark blockchain` client IPC and runs them through the `LogHandler`. Additionally, this module registers the API endpoints needed to handle requests for blockchain process logs in the cockpit (which were 404’ing before).

# Conflicts:
#	lib/modules/blockchain_process/blockchain.js
2018-10-25 12:51:43 +02:00
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
Iuri Matias 8591923e53
Merge pull request #163 from status-im/feature/remove-footer
Remove footer
2018-10-25 06:10:25 -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