Skip to content

Implement the latest version of the webthing subprotocol - #410

Draft
rwb27 wants to merge 1 commit into
mainfrom
webthing-subprotocol
Draft

rwb27 wants to merge 1 commit into
mainfrom
webthing-subprotocol

Conversation

@rwb27

@rwb27 rwb27 commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

This is the second part of the overhaul of websockets and property observations. It updates the websocket protocol to the latest version of the webthingprotocol which paves the way for sharing websockets between multiple Things.

This MR contains the following

  • pydantic models describing the messages sent and received via the websocket.
  • Code to relay these messages to/from the MessageBroker

Before merge:

  • Use the new models in an updated websocket implementation
  • Share websocket between all Things on the server.
  • Test all new code

Merge checklist:

  • All new/changed functions have up to date typehints and docstrings.
  • Any changes to the public API have been updated in docs/src/public_api.rst.
  • New or changed features have been added to (or updated in) the conceptual documentation.
  • Any new or updated dependencies have been added to the project configuration (e.g., pyproject.toml).
  • New functionality is fully tested.
  • Any decrease in test coverage has been justified.
  • Either the test-against-ofm-v3 job passes, or test-against-ofm-feature-branch passes.
  • New features have been used in a branch of the OpenFlexure Microscope, which is tested in test-against-ofm-feature-branch.
  • This code has been tested manually against simulated hardware (detail tests in "Before merge").
  • This code has been tested against real hardware (detail tests in "Before merge").

@barecheck

barecheck Bot commented Oct 26, 2026

Copy link
Copy Markdown

Barecheck - Code coverage report

Total: 96.22%

Your code coverage diff: -1.21% ▾

Uncovered files and lines
FileLines
src/labthings_fastapi/webthing_subprotocol.py11-13, 15, 17, 20, 27-32, 35, 38-39, 42, 45-46, 49, 52-53, 56, 63-65, 68, 71-76, 79, 87-90, 93, 96-99

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant