bluerobotics / bluerobotics/BlueOS

core: frontend: Endpoints page selection options

Open
#1,093 3 comments 1 reaction 0 assignees View on GitHub
core enhancement triage ui
Dominant language
Vue
Stars
453
Forks
151
Avg merge
1d 3h
Merged PRs (30d)
174

Description

### Current behaviour

When creating a new endpoint you have to specify an IP and port for TCP/UDP or a device path and baudrate for serial, all via raw text. That's unintuitive, and relies on users knowing more than they should really have to when trying to achieve a simple integration/connection.

### Expected or desired behaviour

There should be context-aware dropdowns (based on the connection type), whereby

IPs can be selected from:
- Internal Link (loopback - `127.0.0.1`)
- External Link (localhost - `0.0.0.0`)
- Custom (allows custom IP, perhaps ideally as 4 number fields separated by dots?)

Serial devices can be selected from
- Available devices (with relevant device information, like on the Bridges page), or
- A custom path (perhaps needs to be chosen from at least one of the existing paths, even if it's not currently connected to a device)

Ports can be selected from:
- An open service (for internal links)
- Possibly something related to #470 (assuming an active port can be connected to)
- Custom

Baudrates can be selected from:
- A serial default (like already selectable on the Bridges page), or
- Custom

---
Supporting "Custom" could either use a value in each dropdown, or there could be a separate "custom"/"development" checkbox that just swaps out the dropdowns with text input boxes.

---
Given both pages are about serial and UDP/TCP connections, does it maybe make sense to merge the Bridges and Endpoints pages into a single "Linking" page or something?

### Prerequisites

- [X] I have checked to make sure that a similar request has not already been filed or fixed.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.