GithubHelp home page GithubHelp logo

hashicorp / boundary-ui Goto Github PK

View Code? Open in Web Editor NEW
80.0 199.0 28.0 39.32 MB

Monorepo for Boundary UIs and addons.

Home Page: http://boundary-ui.vercel.app

License: Mozilla Public License 2.0

JavaScript 77.37% HTML 0.35% Handlebars 18.16% SCSS 4.06% HCL 0.02% Shell 0.03% CSS 0.01%
hacktoberfest hacktoberfest2021

boundary-ui's Introduction

Boundary UI Monorepo

Validate Monorepo

This monorepo contains multiple projects, including UIs and addons, used by Boundary.

This top-level repository provides limited common tasks, such as installation and commit assistance. However, most tasks must be executed from within a subproject, e.g. running or testing.

Projects

This monorepo contains multiple projects.

Core (addons/core):

Core features use by Boundary UI's, i.e i18n, helpers or components. Project Readme.

API (addons/api):

The API data access layer for Boundary and all the related mocks. Project Readme.

Auth (addons/auth):

Authentication layer for Boundary. Project Readme.

Rose (addons/rose)

Common styles and components shared by Boundary UIs. Project Readme.

Admin (ui/admin)

The Admin UI for Boundary. Project Readme.

Desktop Client (ui/desktop)

The desktop client UI for Boundary. Project Readme.

Prerequisites

You will need the following things properly installed on your computer.

Optional Tooling

Our team finds the following applications useful in day-to-day development workflows. These are merely recommendations. We encourage you to use the tools that best suit you and your personal style.

  • VS Code: Code editor for building and debugging web applications
  • Warp: Terminal application for macOS
  • Homebrew: The missing package manager for macOS and Linux
  • Ember Inspector: Understand and debug Ember applications
  • Postman: Test and inspect APIs

Installation

  • git clone <repository-url> this repository
  • cd boundary-ui
  • yarn install

Yarn Commands

List of available project commands. yarn run <command-name>

Command Description
build Builds Admin UI.
test Runs tests in CI mode.
lint Runs ember-template-lint on all of the hbs, js, and sass files.
compliance:audit Checks for issues using yarn audit with moderate and above criticality.
compliance:licenses Checks that all dependencies have OSS-compatible licenses.
doc:toc Automatically generates a table of contents for the README file.

Contributing

Branching

We follow GitHub Flow.

Building ToC

To autogenerate a ToC (table of contents) for this README, run yarn doc:toc. Please update the ToC whenever editing the structure of README.

Building Admin UI for Production

See ui/admin/README.md Building for Production for more information on how to build the Admin UI. Be sure to set build-related environment variables as necessary for your target environment, as described in the Admin UI readme.

To quickly produce a production build of Admin UI, run from this folder:

yarn install
yarn build

Assets are saved to ui/admin/dist/.

Building with a Container

Optionally, you may build the UI within a container. Execute the following command:

docker-compose -f docker-compose-embedding.yml run build

Assets are saved to ui/admin/dist/.

Building Desktop UI for Production

See ui/desktop/README.md Building for Production for more information on how to build the Desktop UI. Be sure to set build-related environment variables as necessary for your target environment, as described in the Desktop UI readme.

To quickly produce a production build of Desktop UI, run from this folder:

yarn install
yarn build:ui:desktop

In windows, UI is generated using docker to provide a stable UI across platforms.

yarn install
docker-compose -f docker-compose-embedding.yml run build-desktop-production
yarn build:ui:desktop:app

To provide a signing identify for macOS build, use BOUNDARY_DESKTOP_SIGNING_IDENTITY environment variable to set signing certificate name (e.g Developer ID Application: * (*)) when building desktop app using yarn build:ui:desktop:app.

Assets are saved to ui/desktop/electron-app/out/make/. DMG packaged desktop UI is available at asset location as boundary.dmg. EXE archived desktop UI is available at asset location under zip folder.

Connect Boundary UI to Boundary local instance

This describes how to connect local Boundary UI to your local instance of Boundary.

This assumes you already have up and running a Boundary dev instance in your local environment with a listener 127.0.0.1:9200 (default behaviour). Learn how to start a local Boundary dev instance.

For admin

This assumes you are within boundary-ui/ui/admin.

You will need to turn off mirage, tell the UI where to find Boundary and run it: $ ENABLE_MIRAGE=false API_HOST=http://localhost:9200 yarn start.

Following terminal instructions, open in your browser: http://localhost:4200/.

Once you open the UI you will see the login screen, authenticate using generated admin login name and password.

For desktop

This assumes you are within boundary-ui/ui/desktop.

You will need to turn off mirage and run it: $ ENABLE_MIRAGE=false yarn start:desktop.

In login screen, authenticate using generated admin login name and password.

Enter the cluster URL of your Boundary dev instance, by default is: http://localhost:9200.

Committing

We use husky and lint-staged to ensure linting and other checks pass before a commit is completed. Simply do a yarn install to make sure the hooks are installed.

Use a normal git commit to go through the checks, if you need to skip these checks, use git commit --no-verify to bypass them. However, a consistent commit message will still be enforced even if you use --no-verify.

License Checking

The licenses of dependencies are checking against an allowlist before every commit. This helps catch undesirable licenses sooner (e.g. GPL). If your commit fails due to a non-allowlisted license, you may add it to the allowlist in package.json as long as it is not a GPL variant or UNLICENSED. The change will be verified upon PR. GPL variants and UNLICENSED dependencies will not be accepted.

boundary-ui's People

Contributors

99 avatar alex-ju avatar amyrlam avatar calcaide avatar cameronperera avatar dependabot[bot] avatar dharinijeeva avatar dizzyup avatar dvonanderson avatar finnigja avatar gsusmi avatar hashicorp-copywrite[bot] avatar hashicorp-tsccr[bot] avatar hc-github-team-secure-boundary avatar jefferai avatar johanbrandhorst avatar kristinlbradley avatar lisbet-alvarez avatar malnick avatar mcollao-hc avatar mdeggies avatar moduli avatar natashakab avatar pbernal avatar samsalisbury avatar sarahethompson avatar stasryzhov avatar vancluever avatar zedli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boundary-ui's Issues

Add support to open Boundary Desktop targets with App Links/URIs

Is your feature request related to a problem? Please describe.
Not into a problem but it would be easier to write documentations or explain to the user how to get to the target.

Describe the solution you'd like
Add support to connect to a target by using URIs, for instance: boundary-ui://o_CVhEdpFI9t/ttcp_rJUKbtbqfE, so it would open Boundary in the proper target page with the connection details.

Describe alternatives you've considered
Not sure if there's a proper alternative to this.

Mess characters when input fast in search bar in desktop client

Describe the bug
OS: Windows 11
Desktop client version: 2.0.0

To Reproduce
Steps to reproduce the behavior:

  1. Input search keyword in the search bar a bit faster
  2. Delete search keyword
  3. Repeat step 1&2
  4. See video (inputed characters are flashing):
    https://github.com/hashicorp/boundary-ui/assets/15604715/e052b15f-919c-4348-90c3-5878db167fe6

Expected behavior
A clear and concise description of what you expected to happen.

Additional context
Add any other context about the problem here.

Support listen-port flag in the UI

Is your feature request related to a problem? Please describe.
boundary cli supports listen-port flag to have static ports endpoints defined. desktop seems to not support it.

Describe the solution you'd like
a way to define the local port on the desktop

Describe alternatives you've considered
none really

Explain any additional use-cases
multiple connections to DBs and need to reconfigure the clients like dbeaver every day

Additional context
No idea feel free to ask any complement

Boundary desktop never updates

Describe the bug

On macOS with Boundary Desktop installed via Homebrew, it will display a prompt to auto update but never updates. Checking for updates continuously displays the same "update available" message, but Download just closes the dialog, no progress anywhere, and even a day later after a restart it will say the same update available message.

To Reproduce
Steps to reproduce the behavior:

  1. Run boundary desktop 2.0.0
  2. Click Download on the prompt
  3. Wait an hour
  4. Nothing happens
  5. Restart boundary desktop and version still 2.0.0 and update still available

Expected behavior

  1. Eventual prompt that download completed and ask to restart
  2. Or eventual prompt that failure occurred
  3. When accessing Check for updates manually in menu, a message that download is in progress, if it is

libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)

On a fresh build in Linux the ember app tries to start but then immediately reports an error and crashes. Not what version of libva is expected but mine worked earlier:

Your Ember app (or other code) in the main window has crashed.
This is a serious issue that needs to be handled and/or debugged.
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[93416:1226/161547.973073:FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.

vainfo:

$ vainfo
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_12
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.13 (libva 2.13.0)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG4Simple            : VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    : VAEntrypointVLD
      <unknown profile>               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD

Support a default Boundary Controller URL

Is your feature request related to a problem? Please describe.
I wish to deploy the Boundary Desktop in my environment with a default Boundary Controller URL. The idea is to provide to my customers a package that is ready to use.

Describe the solution you'd like
Provide in a configuration file or anything else the default Boundary Controller URL.

Describe alternatives you've considered
I have tried to modify the Boundary Desktop code but it's not easy to build, especially in our CI-CD based on Linux for a Windows target.

Explain any additional use-cases
Providing a ready to use packaging of Boundary Desktop can be a really nice feature of the product. I already manage on my side a CI-CD MSI packaging that works for Boundary Desktop that I can share with you. Maybe only specifying the Default Boundary Controller on the command line can be a quick-win implementation.

Additional context

Slowness in loading a huge list of target hosts

Describe the bug
Slowness in loading a big list of target hosts
For ~1000 hosts, it takes ~20 seconds to load.

To Reproduce
Steps to reproduce the behavior (1/2):

  1. Open the App
  2. OIDC Login
  3. Long waiting time (Blank Screen)

Steps to reproduce the behavior (2/2):

  1. Go to Sessions list page
  2. Go back to Targets list page
  3. Long waiting time (Freezed Screen)

Expected behavior
Smooth transitions and short loading time

Additional context
The application was built with a code base of the commit 91a6023

Admin UI users page serves stale content after user -> account association

Describe the bug
The admin UI users page shows user -> account association with a gray background text. When assigning an account to a user account that previously did not have an account, the visual hint is not shown until a page reload.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new user
  2. Create a new account
  3. Associate the new account with the user.
  4. Navigate to the users page. Note that the visual association is not present.
  5. Reload the page. Note that the visual association is now present.

Expected behavior
I expect the visual user -> account association to be present after the association is completed.

Additional context

See recording for a visual example:

user-account-association.mov

The same thing (in reverse) is present when removing an account association from a user.

GitHub Actions - deprecated warnings found - action required!

Workflow Name: Jira Sync
Branch: main
Run URL: https://github.com/hashicorp/boundary-ui/actions/runs/4955222045

save-state deprecation warnings: 0
set-output deprecation warnings: 0
node12 deprecation warnings: 1

Please review these deprecation warnings as soon as possible and merge in the necessary updates.

GitHub will be removing support for these commands and plan to fully disable them on 31st May 2023. At this time, any workflow that still utilizes these commands will fail. See https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/.

GitHub have not finalized a date for deprecating node12 yet but have indicated that this will be summer 2023. So it is advised to switch to node16 asap. See https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.

If you need any help, please reach out to us in #team-rel-eng.

Filter expression not being sent in request to create a new managed group

Describe the bug
When attempting to add a new OIDC Managed Group, the filter expression provided in the input box is not being sent in the request to the /v1/managed-groups endpoint.

To Reproduce
Steps to reproduce the behavior:

  1. Setup HCP Boundary
  2. Connect Azure AD as an OIDC provider
  3. Open the page to create a new managed group for the provider
  4. Fill out the form. For the filter, I am using "081a4544-cc93-4b17-a004-463b71812e0a" in "/token/roles"
  5. Open the Network Requests tab in the browsers developer tool.
  6. Hit the save button and receive the error message
  7. Check the data sent in the post request and see that the attributes.filter value in the JSON data is set to null.

image

Expected behavior
The Filter value should be sent to boundary so that the managed group can be created

Additional context
This was all done on an HCP Boundary instance spun up using the official learn guide using a free tier Azure AD account.

Connection to Boundary fails

Describe the bug
When connecting with boundary desktop to my cluster URL, I get a failure instead of an authentication window.

Authentication to the web interface and the CLI works fine.

To Reproduce
Steps to reproduce the behavior:

  1. Start boundary desktop and enter https://boundary.inqi.essigke.net
  2. Error message
Something went wrong
Error
We're not sure what happened. Please contact your administrator or try again later.

Expected behavior
Authentication window should open.

Additional context
It is a cluster of three boundary servers behind a Amazon ELB load balancer and with Nginx to terminate SSL. The servers are running boundary v.12.1. The client Desktop Client v1.5.1 (amd64, deb)
I couldn't find anything helpful in the log files.

Cannot log in with boundary desktop

Describe the bug

When I try to log in to my boundary instance with boundary desktop the following error occures:

image

To Reproduce
Steps to reproduce the behavior:

  1. Open Boundary Desktop
  2. Connect to https://boundary.abfelbaum.dev
  3. Log In

Expected behavior
Boundary desktop should log in to my account and I should be able to connect to my targets

Additional context
I ran boundary desktop with the --enable-logging option and got the following logs:

[7428:0605/130025.433:INFO:CONSOLE(3697)] "Refused to connect to 'https://boundary.abfelbaum.dev/v1/scopes' because it violates the following Content Security Policy directive: "connect-src 'self'".
", source: serve://boundary/assets/vendor-c45cd3fe4fc053d713149ecaffed61a4.js (3697)
[7428:0605/130034.470:INFO:CONSOLE(0)] "Access to XMLHttpRequest at 'https://boundary.abfelbaum.dev/v1/scopes' from origin 'serve://boundary' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: serve://boundary/#/scopes/global/authenticate/ampw_pducx1eWW7 (0)
[7428:0605/130034.471:INFO:CONSOLE(3697)] "Uncaught (in promise) TypeError: Network request failed", source: serve://boundary/assets/vendor-c45cd3fe4fc053d713149ecaffed61a4.js (3697)
[7428:0605/130034.474:INFO:CONSOLE(0)] "Access to XMLHttpRequest at 'https://boundary.abfelbaum.dev/v1/scopes/global' from origin 'serve://boundary' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: serve://boundary/#/scopes/global/authenticate/ampw_pducx1eWW7 (0)
[7428:0605/130034.474:INFO:CONSOLE(0)] "Access to XMLHttpRequest at 'https://boundary.abfelbaum.dev/v1/scopes' from origin 'serve://boundary' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: serve://boundary/#/scopes/global/authenticate/ampw_pducx1eWW7 (0)
[7428:0605/130034.474:INFO:CONSOLE(0)] "Access to XMLHttpRequest at 'https://boundary.abfelbaum.dev/v1/scopes?scope_id=global' from origin 'serve://boundary' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: serve://boundary/#/scopes/global/authenticate/ampw_pducx1eWW7 (0)
[7428:0605/130034.474:INFO:CONSOLE(4799)] "Uncaught (in promise) Error: Attempted to handle event `notFound` on <scope:global> while in state root.loaded.created.uncommitted. ", source: serve://boundary/assets/vendor-c45cd3fe4fc053d713149ecaffed61a4.js (4799)
[7428:0605/130034.474:INFO:CONSOLE(0)] "Access to XMLHttpRequest at 'https://boundary.abfelbaum.dev/v1/scopes/global' from origin 'serve://boundary' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: serve://boundary/#/scopes/global/authenticate/ampw_pducx1eWW7 (0)
[7428:0605/130034.474:INFO:CONSOLE(0)] "Access to XMLHttpRequest at 'https://boundary.abfelbaum.dev/v1/scopes?scope_id=global' from origin 'serve://boundary' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: serve://boundary/#/scopes/global/authenticate/ampw_pducx1eWW7 (0)
[7428:0605/130034.475:INFO:CONSOLE(3697)] "Uncaught (in promise) TypeError: Network request failed", source: serve://boundary/assets/vendor-c45cd3fe4fc053d713149ecaffed61a4.js (3697)
[7428:0605/130034.480:INFO:CONSOLE(4799)] "Uncaught (in promise) Error: Attempted to handle event `notFound` on <scope:global> while in state root.loaded.created.uncommitted. ", source: serve://boundary/assets/vendor-c45cd3fe4fc053d713149ecaffed61a4.js (4799)
[7428:0605/130034.506:INFO:CONSOLE(0)] "Access to XMLHttpRequest at 'https://boundary.abfelbaum.dev/v1/scopes?filter=(%22%2Fitem%2Ftype%22%20%3D%3D%20%22project%22)&recursive=true&scope_id=global' from origin 'serve://boundary' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: serve://boundary/#/scopes/global/authenticate/ampw_pducx1eWW7 (0)
[7428:0605/130034.509:INFO:CONSOLE(1158)] "Error while processing route: scopes.scope.projects.targets.index Network request failed TypeError: Network request failed
    at serve://boundary/assets/vendor-c45cd3fe4fc053d713149ecaffed61a4.js:3697:90", source: serve://boundary/assets/vendor-c45cd3fe4fc053d713149ecaffed61a4.js (1158)

Because of these errors I also modified the following things (in an attempt to fix the issue) with traefik wich runs in front of boundary:

  • Set access-control-allow-origin: * http header

I also reviewed #1687, but I think that is another issue since I can get to the login interface.

`recursive` parameter in `scopesCheck` breaks with strict rbac

Another issue has been created in the main Boundary repo that I think is related to the recursive parameter in scopesCheck below

When recursive is true, at least one of your orgs must allow unauthenticated scopes list, otherwise the Boundary API will respond with a 500 status code, which makes the check fail and Boundary Desktop show the modal (thinking that it's actually talking to an older version of the API).

Originally posted by @macmiranda in hashicorp/boundary#4370 (comment)

Delayed session displaying in desktop client v2.0.0

Describe the bug
Hi, team

I observe a very long delayed session list displaying in desktop client v2.0.0 (tested in windows).

To Reproduce
Steps to reproduce the behavior:

  1. Login to desktop client and connect any target
  2. Go to "Sessions", see:
    image
  3. But if go to web UI, see sessions already there:
    image
  4. After a long time (3+ minutes), sessions are displaying
    image

What could be wrong here?

Expected behavior
A clear and concise description of what you expected to happen.

Additional context
Add any other context about the problem here.

Black screen on a host detail page from an AWS dynamic host catalog

Describe the bug

To Reproduce

This is an example of the full URL to go to find the issue in a web browser:
https://boundary.example.com/scopes/p_xX6WRL3KIS/host-catalogs/hcplg_0c3QKp1vbt/host-sets/hsplg_G7nM07wai8/hosts

Note that using the default boundary dev environment won't help to the issue because you need to setup a Dynamic host catalog. In my case it was in AWS EC2. I don't know if this will work the Azure dynamic host catalog.

Steps to reproduce the behavior:

  1. Login into the Web UI
  2. Setup an AWS Host Catalog and then
  3. Go to the "Host Catalog"
  4. Click on your dynamic host catalog name
  5. Click on the "Host sets" tab you associated to that host catalog.
  6. Click on the "Hosts" tab for that Host set.
  7. Click on any host you want to see the details.
  8. You get a full black screen. Check the error on the Developer console of any browser.

Expected behavior

You should see the details of the Host of the Host set.

Additional context

The error line from the web developer console:

Error while processing route: scopes.scope.host-catalogs.host-catalog.host-sets.host-set.hosts.host.index i.find is not a function TypeError: i.find is not a function router.js:1385 

"rose-button-body" in some desktop browser width configurations can prevent click on links

Describe the bug

In some UI areas, such as Targets listing, you can experience problems clicking the target name because it won't be clickable.

Upon inspection you can see a 1px by 1px box is preventing click - I think Safari on macOS may be making the clickable area larger than 1px by 1px to ensure accessible.

To Reproduce

Open Targets with a long list of targets of at least maybe 50 entries. Set your browser width in macOS Safari 17.1 to 1876x896.

Hover around the Target name column links and notice that only the left side and the top part of the links show a cursor hand icon for click ability, and then just hover still on the other region of the blue text and you'll see "Copy to Clipboard" appear.

Upon inspection you'll see it's the rose-button-body around the hidden Copy to Clipboard text in the far column where you can copy to clipboard. It's set to move off screen but is only using -1000px for top and left so it's far from off screen, and on most desktops is likely still on screen.

You can see the offset here:

.rose-button-body {
position: absolute;
top: -1000px;
left: -1000px;
width: 1px;
height: 1px;
opacity: 0;
}

Expected behavior

Links to always be clickable.

Possibly have -10000px instead of just 1 thousand so it's far off. It should also be set to have z-index to move it below everything and possibly even ignore cursor events.

Additional context

N/A

Retain Last Boundary URI in UI

Is your feature request related to a problem? Please describe.
Eventually a connection to Boundary will be broken and the user will be asked to disconnect, then the user has to type in the boundary URI again:

image

Describe the solution you'd like
It would be nice to retain the last connected URI autofilled in the URI field. OR to have some clickable item representing a destination.

Additional context
Users aren't good at remembering long URIs.

Search & sort of targets

Is your feature request related to a problem? Please describe.
Above a certain number of targets, the search for a specific one can become very time-consuming.

Describe the solution you'd like
It would be nice if the filter allows a live "search"/filtering via the standard keyboard shortcut.

Describe alternatives you've considered
It would already be helpful if the columns of the overview table could be sorted by header. Or at least display the entries sorted by name.

After deleting an account associated with a user, the user is irrecoverably corrupted

Describe the bug
When deleting an account associated with a user, it becomes impossible to reassign an account to the user from within the UI.

To Reproduce
Steps to reproduce the behavior:

  1. Create a user, an account and associate the user with the account.
  2. Delete the account.
  3. Navigate to the users page.
  4. Click the "Accounts" tab. A white screen is displayed (the subsection of the UI seems to crash). Reloading the page instead shows a "Resource not found" page. At this point, it becomes impossible to reassign an account to the user through the admin UI.

Expected behavior
I expected to be able to reassign the user to another account.

Additional context
See recording for an overview of the bug:

user-account-deassociation.mov

Translations missing

Describe the bug
After building the ui\desktop and running the application, the translations are missing.

To Reproduce

  1. yarn install
  2. yarn build:ui:desktop
  3. run (...)\ui\desktop\electron-app\out\Boundary-win32-x64\Boundary.exe

Expected behavior
Normal application load.

Additional context
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.