Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI: Warn uncaught exceptions to console #3623

Merged
merged 2 commits into from
Dec 6, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions ui/DEVELOPMENT_MODE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
## Running the Web UI in development mode against a production Nomad cluster

:warning: **Running the Web UI in development mode is only necessary when debugging
issues. Unless you are debugging an issue, please only use the Web UI contained
in the Nomad binary.** :warning:

The production Web UI concatenates and minifies JavaScript and CSS. This can make errors
cryptic or useless. In development mode, files are as expected and stack traces are useful.

Debugging Web UI issues with the Web UI in development mode is done in three steps:

1. Cloning the Nomad Repo
2. Setting up your environment (or using Vagrant)
3. Serving the Web UI locally while proxying to the production Nomad cluster

### Cloning the Nomad Repo

The Web UI is part of the same repo as Nomad itself. Clone the repo
[using Github](https://help.github.com/articles/cloning-a-repository/).

### Setting up your environment

The [Web UI README](README.md) includes a list of software prerequisites and instructions
for running the UI locally or with the Vagrant VM.

### Serving the Web UI locally while proxying to the production Nomad cluster

Serving the Web UI is done with a single command in the `/ui` directory.

- **Local:** `ember serve`
- **Vagrant:** `ember serve --watch polling --port 4201`

However, this will use the [Mirage fixtures](http://www.ember-cli-mirage.com/) as a backend.
To use your own Nomad cluster as a backend, use the proxy option.

- **Local:** `ember serve --proxy https://demo.nomadproject.io`
- **Vagrant:** `ember serve --watch polling --port 4201 --proxy https://demo.nomadproject.io`

The Web UI will now be accessible from your host machine.

- **Local:** [http://localhost:4200](http://localhost:4200)
- **Vagrant:** [http://localhost:4201](http://localhost:4201)
5 changes: 5 additions & 0 deletions ui/app/controllers/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ export default Controller.extend({
run.next(() => {
throw this.get('error');
});
} else {
run.next(() => {
// eslint-disable-next-line
console.warn('UNRECOVERABLE ERROR:', this.get('error'));
});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to steal this for TFE @thrashr888

}
}),
});