bluerobotics / bluerobotics/cockpit

frontend: automatically find web-socket connections

Open
#2,389 0 comments 0 reactions 0 assignees View on GitHub
enhancement ui
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.