There was an issue in tests where events fired in Hds::FlyOut and Hds::Modal were not being dispatched. These close events were depended on by test waiters to know when the element was removed. In recent versions of chrome, when ran headless and on macos, these events were not firing. This meant the tests waited indefinitely on developers local machines, until the tests timed out. This issue was seen across multiple macbooks and even on the hds repo. This issue was *only* experienced in headless chrome on recent macos. It was **not** happening in: * macos chrome headed locally * linux chrome headless in CI This made the issue only impact people running tests locally, getting obscure timeouts. This issue is fixed by the addition of this flag: --disable-backgrounding-occluded-windows The other flags added in this commit are not required for the fix but should help keep a browser "active", which was loosely what researching this bug hinted at the cause of finding the issue fix.
Admin UI
The Admin UI for Boundary.
Table of Contents generated with DocToc
Prerequisites
You will need the following things properly installed on your computer.
Installation
See monorepo README for installation instructions.
Yarn Commands
List of available project commands. yarn run <command-name>
| Command | Description |
|---|---|
| build:development | Builds the Admin UI in development mode. |
| build | Builds the Admin UI for production. |
| lint | Runs all lint commands. |
| lint:hbs | Lints hbs template files. |
| lint:js | Lints js files. |
| lint:sass | Lints scss files. |
| format | Runs all auto-formatters. |
| format:js | Auto-formats js files using Prettier. |
| format:sass | Auto-formats scss files using Prettier. |
| start | Runs the dummy app local server. |
| test | Runs all tests in random order, with coverage reporting. |
| doc:toc | Automatically generates a table of contents for this README file. |
Running / Development
ember serve- Visit your app at http://localhost:4200.
- Visit your tests at http://localhost:4200/tests.
Building for Production
Before executing a build, be sure to set any environment variables necessary for your target environment (see next section). To build this UI for production, run the following commads from this folder:
yarn install
yarn build
The static production assets are saved into the dist/ folder.
Environment Variables
These environment variables may be used to customized the build.
| Variable | Default Value | Description |
|---|---|---|
APP_NAME |
Application Name | The user-facing name of the application, appearing in titles, etc. |
API_HOST |
The host of the API, if different than UI (e.g. https://example.net:1234). |
Running Tests
npm testruns full tests in random order with coverageember test --server
Keep in mind that tests are executed in random order. This is intentional and helps to prevent hard-to-debug order dependencies among tests.
Please also note that we report test coverage. We strive for "the right amount of testing". Use test coverage as a guide to help you identify untested high-value code.
We rely on ember-a11y-testing to validate accessibility in acceptance tests.
If you write acceptance tests, please ensure at least one validation per
route using await a11yAudit();.
Deploying
Specify what it takes to deploy your app.