bluerobotics / bluerobotics/cockpit
frontend: automatically find web-socket connections
- Dominant language
- TypeScript
- Stars
- 198
- Forks
- 63
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 57
Description
### Current behaviour
Users can manually add web-socket clients (per #2383), but they also need to know that they need to (and how to) set up a client connection. That's not necessarily _hard_, but it's extra steps and UX complexity for a software to somehow tell the user they need to set up a web-socket, and how/where to do so, and which address to connect it to.
### Expected or desired behaviour
Extensions could list available websocket URLs via the `cockpit_extras` API, or perhaps we could add some kind of event-based advertising support to #2300? At the moment as I understand it users will need to manually set up the websockets, which could be a challenge for some non-technical users, and a bit inconvenient for developers of external software.
Ideally an Extension (or other software) could just tell Cockpit (via a dedicated API, and/or `cockpit_extras`) "I have a websocket for you", and Cockpit would confirm with the user if they want to accept it, and if so create the connection for them automatically (with no manual setup/configuration required).
### 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
Research direction
Review the existing manual WebSocket client flow described in #2383 and the event-based advertising proposal in #2300. Clarify whether discovery belongs in the cockpit_extras API, a dedicated API, or event support, then define the user confirmation and automatic connection behavior. Done means the selected design is agreed and the discovery flow is implemented without manual setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100