Files
threshold-ui/ui/admin
hashicc 6a46e2dd57 chore: 🤖 add chrome flags to keep from backgrounding (#2714)
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.
2025-03-11 13:29:19 -04:00
..
2022-10-06 11:41:12 -04:00
2023-11-10 11:21:52 -05:00
2023-01-09 08:48:49 -08:00

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

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 test runs full tests in random order with coverage
  • ember 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.