Commit Graph

512 Commits

Author SHA1 Message Date
Pascal Precht e72d6483df feat(@cockpit/transaction-decoder): allow for decoding raw transaction hashes 2019-01-17 10:40:33 +01:00
Anthony Laibe eab9aa57d7 feat(embark-ui): add storybook 2019-01-16 09:03:57 +00:00
Anthony Laibe 1e4eaa5fb6 fix: allow to debug instanceOf contracts 2019-01-14 10:33:08 +01:00
emizzle 135fde0a85 feat(@embark/core): Disable regular txs until needed
Regular transactions (aka “dev funds”) exist in embark as a workaround to a known bug in geth when using metamask. The workaround is to send a transaction at a regular interval (1.5s), which pushes through any transactions that were stuck. The problem is that the transaction logs and trace logs become cluttered and difficult to parse visually.

This PR disables regular transactions until the following conditions are met:
1. Embark is running geth
2. The user is running metamask in their browser
3. The user authenticates to the cockpit with `enableRegularTxs=1|true` in the query string.

A console warning is show in large letters in the browser with a link to the cockpit URL that includes the special query string to enable regular txs.

This could be extended later to have a button in the cockpit that start/stops regular txs. Or at least extended to allow disabling of regular txs once started.

Support standalone blockchain process.
2019-01-10 12:43:18 +11:00
emizzle 2613c56da7 feat(@embark-ui): Change page title and description
Update page title and description tags in the page head when the view changes.
2019-01-09 17:27:55 -05:00
Anthony Laibe d67863cff6 feat: add API server 2019-01-09 14:11:03 +00:00
Iuri Matias c693db9c2e refactor(@embark/embark-ui) remove usage of use strict 2018-12-24 16:14:01 -05:00
Jonathan Rainville f2d6f609ba chore(browser): change Go to refresh since that's what they do 2018-12-21 12:48:13 -05:00
Andre Medeiros 7574e141fa fix: consistent service order in cockpit 2018-12-20 16:18:01 -05:00
Anthony Laibe bbcfe9b1de fix: all ws endpoint use new technique
This is dues to those 2 endpoints being added
as the same time of the new technique
2018-12-17 10:05:58 +00:00
Andre Medeiros 6aa8781ff5 fix(@embark): single use tokens 2018-12-16 10:28:18 -05:00
Jonathan Rainville 89c9b1f0ef chore(web3): up web3 to beta 37 in embark-ui 2018-12-12 14:44:31 -05:00
Jonathan Rainville d30b00e526 fix(cockpit/editor): remove arrows next to files in file explorer 2018-12-11 15:08:25 -05:00
Anthony Laibe d10d906ee7 feat(ui): auto updates contracts in cockpit 2018-12-11 15:49:19 +00:00
Anthony Laibe a92a98608c feat(ui): auto updates services in cockpit 2018-12-11 11:58:03 +01:00
Pascal Precht 8a5871e606 fix(@embark/cockpit/converter): allow decimal numbers
Prior to this commit, it wasn't possible to enter decimal numbers
with dots. The reason for that is that all units are recalculated
on form control change and values like `2.` are simply converted to
`2`.

As every change will cause a `setState()` in Cockpit, users never had
a chance to get "beyond" the first dot of their input value.

This is now fixed by preventing the recalculation all together when
the last character in the entered value is a `.`

In that case, we simply update the form control using `setState()` and
don't touch all the other values. The next key stroke will cause a full
recalculation again.
2018-12-11 11:56:31 +01:00
Iuri Matias 74985f4174 chore(@embark): update remix-debug dependency 2018-12-07 21:47:18 -05:00
Iuri Matias c645b9b8f8 chore(@embark): remove unused dependency underscore 2018-12-07 21:47:18 -05:00
Iuri Matias 958e93ef10 chore(@embark): move react-scripts to embark-ui 2018-12-07 21:47:18 -05:00
emizzle 1e2cb64141 feat(@embark/core): Allow search to find contract by name
In the cockpit, allow the search to find the contract by name. For example in the test_app, searching for “Token” (or “token”) in the cockpit, will take the user to the Token contract page.
2018-12-07 10:19:14 -05:00
Iuri Matias d0d3a35e9e feature(@embark/debugger): enable/disable debugger prev/next buttons in cockpit 2018-12-07 10:16:16 -05:00
Michael Bradley, Jr f10e0258cb build: introduce a `prepare` script in embark's package.json
**TL;DR**

These changes affect workflow with yarn. To prevent embark's `prepare` script
from running undesirably:

- If node_modules is in place and you're reinstalling after switching branches:

```
yarn run install_all
```

- If node_modules is missing (fresh clone or deleted):

```
EMBARK_NO_PREPARE=t yarn install && yarn run install_all
```

It's not recommended to set `EMBARK_NO_PREPARE` in your environment (e.g. in
`.bashrc`) since that would interfere with embark's `release` script if/when
you run it.

-----------------

**1.** Specify embark's build-related steps in the `prepare` script of
  package.json.

When embark is installed directly from GitHub the `prepare` script results in a
"pre install" phase (handled automatically by npm/yarn) that fetches
devDependencies, builds embark (including embark-ui), packs a tarball with the
same steps (minus testing and tree-checking) as would happen during an embark
release, and finally does a production install from that tarball.

Important point: installs from GitHub must be performed with yarn; they're no
longer possible with npm since during the "pre install" phase npm will honor
embark's `.npmrc` and `"engines"` settings.

The following will work correctly after this commit is merged:

```
yarn [global] add git+https://github.com/embark-framework/embark.git
```

Use of "hosted git" shortcuts (e.g. `embark-framework/embark#bracnh`) won't
work correctly because yarn doesn't fully support them. See:
https://github.com/yarnpkg/yarn/issues/5235.

It's important to use `git+https` urls. Following a succesful install with
`git+https` it is possible to use a "hosted git" shortcut or `https` url, but
that's owing to a subtle and unreliable interaction between yarn's cache and
yarn's logic for installing from a url/shortcut.

**2.** Adjust the npm configs (`.npmrc`) for embark/-ui so that `yarn run [cmd]
  [--opt]` can be used in place of `npm run [cmd] -- [--opt]`.

Either way is okay for running scripts, they're equivalent, but note the
requirement to use `--` before specifying command options with `npm run`.

**3.** Introduce yarn configs (`.yarnrc`) for embark/-ui and include the
  `check-files` directive.

H/t to @alaibe for the recommendation.

**4.** Ignore embark's `dist/typings` and `scripts` directories when packing a
  tarball.

**5.** Refactor embark/-ui's npm-scripts in relation to the `prepare` script,
  and make other small improvements.

Notably, if the environment variable `EMBARK_NO_PREPARE` is truthy (from JS
perspective) then embark's `prepare` script will exit early. This prevents
`install_all` and `prepare` from getting stuck in a loop (`install:core` uses
cross-env to set `EMBARK_NO_PREPARE`) and provides a mechanism for users to
skip the `prepare` script when doing a fresh install:

```
EMBARK_NO_PREPARE=t yarn install
```

**6.** Give `.js` extensions to node scripts in embark's `scripts/`, remove the
  shebang lines, and have npm-scripts explicitly invoke them with node.

This arrangement works for all platforms: Linux, macOS, and Windows.

**7.** Adjust travis and appveyor configs.

Since at present there aren't any tests or other CI steps that make use of
embark-ui's production build, set `EMBARK_NO_PREPARE` in the CI environments
and invoke `build:node` directly.

Check the working tree after `yarn install` for embark/-ui. This detects
situations where changes should have been committed to `yarn.lock` but were
not. Check the working tree again at the end to detect situations where ignore
files should have been adjusted but were not. Both checks could also detect
other surprising behavior that needs to be investigated. Any time the working
tree is not clean (there are untracked files or changes) CI will fail.

Drop CI runs for node 8.11.3 because that version ships with an older npm that
results in unstaged changes to the test apps' `package-lock.json` files,
causing the working tree check to fail at the end of the CI run. A simple
workaround isn't apparent, but the matter can be revisited.

**8.** Refactor embark's `release` script in light of the `prepare` script.

Notably, do the push step only after `npm publish` completes successfully. This
allows embark's `prepare` and `prepublishOnly` scripts to detect problems
before a commit and tag are pushed to GitHub, avoiding a need to rebase/revert
the remote release branch; the local branch will still need to have a commit
dropped and tag deleted before rerunning the `release` script.

Prompt the user if the `release` script is not being run in `--dry-run` mode.

Provide additional visual indicators of `--dry-run` mode.

Force the user to supply `--repo-branch [branch]` if the intention is to
release from a branch other than `master`.
2018-12-03 16:24:10 -06:00
Anthony Laibe 160015311e fix(ui): click on debug button start the debugger
Remove fake line
2018-11-28 09:21:45 +00:00
Anthony Laibe 7728c542e9 fix: open/close aside container 2018-11-26 15:38:35 +00:00
Jonathan Rainville d09d410021 refactor(ENS): adds a whitelist for ens
Enables only the use of domains in that white list
2018-11-23 16:32:57 -05:00
Michael Bradley, Jr 53191447f5 build: use yarn for reproducible builds and CI
yarn.lock files are generated for embark and embark-ui, and their package.json
files and other npm related files are updated to support and require using yarn
for development of embark itself and for embark's CI.
2018-11-20 09:25:42 -06:00
Michael Bradley, Jr 9cd50c2031 build: remove and disable npm lock files, rely on pinned dev/deps
Buggy behavior related to npm lock files makes the goal of reproducible builds
and hassle-free automated releases nearly impossible to achieve at
present. With npm's lock files disabled we rely on pinned dependencies (exact
versions only in the package.json files of embark and embark-ui) for a
hopefully good result. This is an experiment while the project is in an alpha
release phase, and if problems are experienced we can return to using
npm-shrinkwrap.json / package-lock.json, or we can investigate a transition to
the yarn package manager, for ourselves and possibly for our users too.
2018-11-20 09:25:42 -06:00
Anthony Laibe 10caddd872 fix(ui): white screen on text editor
Only happens on Firefox
2018-11-20 13:31:50 +00:00
Anthony Laibe 66e431cf13 fix(ui): switch aside 2018-11-20 09:21:03 +00:00
Anthony Laibe 192e6e112a chore(embark-ui): upgrade embark-ui to latest and greatest CRA 2018-11-13 10:55:35 +00:00
Anthony Laibe f82d3de1b0 feat: add CRUD to file explorer 2018-11-13 09:13:23 +00:00
Michael Bradley, Jr 23f19a0df5 fix: runtime environment needs to support locally installed embark
Reintroduce NODE_PATH so that DApps with embark locally installed can properly
resolve modules supplied by embark. Refactor process.env related settings into
src/lib/core/env.js
2018-11-12 11:03:48 -06:00
Michael Bradley, Jr 69dd8c5b89 build(packaging): reorg sources for transpilation with Babel
Allow for embark sources to be authored in TypeScript and/or JavaScript, and to
make use of upcoming features of the JS language. Sources in the src/ directory
are transpiled into the dist/ directory, and npm-scripts are provided to
support and automate various aspect of the build process. Source map support is
enabled at runtime, i.e. when invoking the embark cli and running embark's test
suite.
2018-11-11 15:08:55 -06:00
Anthony Laibe 184e1e277a feat: add debug button to transaction and contract log 2018-11-09 09:29:58 +00:00
Iuri Matias 087a2e8c6b
Merge branch 'master' into feature/deployment-strategy 2018-11-08 16:35:04 -05:00
Iuri Matias 70b26176db
Merge pull request #1036 from embark-framework/features/eth-search
Add searching ENS names in cockpit search bar
2018-11-08 16:22:03 -05:00
Iuri Matias c3ae7d608f
Merge pull request #1035 from embark-framework/chore/disable-autocomplete-login
Disable autocomplete in Login component and fix indentation
2018-11-08 16:21:30 -05:00
Jonathan Rainville 1030607813 feat(cockpit): make editor resizable 2018-11-08 15:17:41 -05:00
Jonathan Rainville a714e078c4 fix(cockpit): fix aside not opening correctly and typos 2018-11-08 13:57:48 -05:00
Jonathan Rainville 3ddcd1f825 fix(cockpit): disable autocomplete in Login component 2018-11-08 12:06:57 -05:00
Jonathan Rainville dca52d0d4e feat(cockpit): add searching ENS names in search bar 2018-11-08 12:04:27 -05:00
Iuri Matias 8a4b5d3d5d
Merge pull request #1034 from embark-framework/chore/remove-interfaces-deploy
Hide interfaces in contract deployment page
2018-11-08 10:21:42 -05:00
Pascal Precht 3c0e360540
refactor(cockpit/TextEditorToolbar): make toolbar tabs generation more generic 2018-11-07 13:35:22 +01:00
Anthony Laibe 0e7aad81aa chore: remove fiddle dead code 2018-11-07 11:35:36 +00:00
Jonathan Rainville 24e3da65b2 fix proptypes warnings and fix indexes 2018-11-06 15:55:57 -05:00
Jonathan Rainville 2f4625c143 hide interfaces in contract deployment page 2018-11-06 14:57:06 -05:00
Anthony Laibe 3ef7fd7411 Event filter typo 2018-11-01 14:11:51 +01:00
Anthony Laibe 436786bfe4 Add back event on file save sucess 2018-10-31 16:55:25 +01:00
Michael Bradley, Jr b5b581c6c0 bump embark-ui pkg lock 2018-10-31 11:01:34 +01:00
Eric Mastro 63847b7842
Merge pull request #1015 from embark-framework/bug_fix/gas-estimator
Add a warning when there is no blocks for the estimator
2018-10-31 10:37:26 +01:00