Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebSocket Communication #1

Open
exastencil opened this issue Feb 22, 2024 · 0 comments
Open

WebSocket Communication #1

exastencil opened this issue Feb 22, 2024 · 0 comments
Assignees
Labels
core A core feature new Something that needs to be built from scratch
Milestone

Comments

@exastencil
Copy link
Owner

The intention to keep interaction between components and application data simple for users is to just treat the data as if it is accessible and not to let users manually trigger API calls. The idea is to have a database abstraction running in the client (browser / app) and keep data in sync based on what is needed. This requires a duplex communication protocol, so the simplest way is to open a WebSocket connection and send and request data and events that way.

This is one of the core features needed to make Porous feasible.

Currently the development server makes use of Agoo in order to upgrade regular connections to WebSocket connections alongside regular HTTP requests. This works, and while the entity and event systems do not exist yet, it is being used for live reload.

What is needed is to structure the mechanisms better, which will likely happen as part of the entity and event handling implementations. There is also currently an issue where, as soon as a WebSocket connection is initiated the Opal::Builder inevitably suffers a segmentation fault (opal/opal#2643). I have mitigated it as much as I can with configuration, but unless they find and resolve an issue in the builder code, I will also need to separate the builder into its own process or otherwise isolate it from the server (e.g. using the opal command). This makes emitting message over WebSockets harder, so I am hoping to avoid that and continue using the Opal::Builder in process.

@exastencil exastencil added bug Something isn't working core A core feature labels Feb 22, 2024
@exastencil exastencil added this to the v1.0 milestone Feb 22, 2024
@exastencil exastencil added extension An opt-in feature or integration new Something that needs to be built from scratch and removed bug Something isn't working extension An opt-in feature or integration labels Mar 14, 2024
@exastencil exastencil self-assigned this Mar 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core A core feature new Something that needs to be built from scratch
Projects
None yet
Development

No branches or pull requests

1 participant