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

DX: Push libp2p events and receipts through Websocket interface to subscribed client(s), i.e. control panel. #407

Closed
Tracked by #331 ...
zeeshanlakhani opened this issue Oct 31, 2023 · 1 comment
Assignees
Labels
dx Developer experience applications and improvements

Comments

@zeeshanlakhani
Copy link
Contributor

zeeshanlakhani commented Oct 31, 2023

Summary

As part of #390, we can now push events through via subscriptions. We want to push libp2p information over WebSocket to subscribers.

ETA: 2023-11-10

@zeeshanlakhani zeeshanlakhani added the dx Developer experience applications and improvements label Oct 31, 2023
@bgins bgins self-assigned this Nov 1, 2023
@bgins bgins mentioned this issue Nov 6, 2023
9 tasks
zeeshanlakhani added a commit that referenced this issue Nov 7, 2023
# Description

This pull request implements the following changes:

- [x] Add event notifications
- [x] Add `emit_event` notification utility function
- [x] Add `emit_receipt` notification utility function
- [x] Move receipt notifications to event handler notifications
- [x] Add `ConnnectionEstablished`, `ConnnectionClosed`, `ListeningOn`,
`OutgoingConnectionError`, and `IncomingConnectionError` network
notifications
- [x] Test JSON event notification bytes roundtrip
- [x] Test JSON event notification string roundtrip
- [x] Integration test connection notifications with two Homestar nodes

## Link to issue

Closes #407

## Type of change

- [x] New feature (non-breaking change that adds functionality)

## Test plan (required)

We have included unit tests to check roundtrip conversions between JSON
bytes and strings. In addition, we have included an integration test
that subscribes and listens for connection messages between Homestar
nodes.

---------

Co-authored-by: Zeeshan Lakhani <[email protected]>
zeeshanlakhani added a commit that referenced this issue Nov 8, 2023
# Description

This pull request implements the following changes:

- [x] Add event notifications
- [x] Add `emit_event` notification utility function
- [x] Add `emit_receipt` notification utility function
- [x] Move receipt notifications to event handler notifications
- [x] Add `ConnnectionEstablished`, `ConnnectionClosed`, `ListeningOn`,
`OutgoingConnectionError`, and `IncomingConnectionError` network
notifications
- [x] Test JSON event notification bytes roundtrip
- [x] Test JSON event notification string roundtrip
- [x] Integration test connection notifications with two Homestar nodes

## Link to issue

Closes #407

## Type of change

- [x] New feature (non-breaking change that adds functionality)

## Test plan (required)

We have included unit tests to check roundtrip conversions between JSON
bytes and strings. In addition, we have included an integration test
that subscribes and listens for connection messages between Homestar
nodes.

---------

Co-authored-by: Zeeshan Lakhani <[email protected]>
@zeeshanlakhani
Copy link
Contributor Author

Closed as part of #417 (we're just tuning/tweaking), and can then break-up specific features and events needed.

hugomrdias pushed a commit that referenced this issue Nov 14, 2023
# Description

This pull request implements the following changes:

- [x] Add event notifications
- [x] Add `emit_event` notification utility function
- [x] Add `emit_receipt` notification utility function
- [x] Move receipt notifications to event handler notifications
- [x] Add `ConnnectionEstablished`, `ConnnectionClosed`, `ListeningOn`,
`OutgoingConnectionError`, and `IncomingConnectionError` network
notifications
- [x] Test JSON event notification bytes roundtrip
- [x] Test JSON event notification string roundtrip
- [x] Integration test connection notifications with two Homestar nodes

## Link to issue

Closes #407

## Type of change

- [x] New feature (non-breaking change that adds functionality)

## Test plan (required)

We have included unit tests to check roundtrip conversions between JSON
bytes and strings. In addition, we have included an integration test
that subscribes and listens for connection messages between Homestar
nodes.

---------

Co-authored-by: Zeeshan Lakhani <[email protected]>
@bgins bgins mentioned this issue Nov 16, 2023
20 tasks
zeeshanlakhani added a commit that referenced this issue Nov 29, 2023
# Description

This pull request implements the following changes:

- [x] Add event notifications
- [x] Add `emit_event` notification utility function
- [x] Add `emit_receipt` notification utility function
- [x] Move receipt notifications to event handler notifications
- [x] Add `ConnnectionEstablished`, `ConnnectionClosed`, `ListeningOn`,
`OutgoingConnectionError`, and `IncomingConnectionError` network
notifications
- [x] Test JSON event notification bytes roundtrip
- [x] Test JSON event notification string roundtrip
- [x] Integration test connection notifications with two Homestar nodes

## Link to issue

Closes #407

## Type of change

- [x] New feature (non-breaking change that adds functionality)

## Test plan (required)

We have included unit tests to check roundtrip conversions between JSON
bytes and strings. In addition, we have included an integration test
that subscribes and listens for connection messages between Homestar
nodes.

---------

Co-authored-by: Zeeshan Lakhani <[email protected]>
bgins added a commit that referenced this issue Nov 29, 2023
## Description

Includes:
  - re-purposing of feature flags 
    * metrics is always a thing (on) 
    * monitoring is the gated feature 
    * The websocket-server flag is gone, we only gate push notifications
  - JSON-RPC setup and RPC method register
  - Prometheus exposition format to JSON parser

Other features and other fixes:

- [x] e2e testing of run workflow
- [x] #407
- [x] #410
- [x] #418
- [x] #424
- [x] #354 
- [x] #409
- [x] #425 
- [x] #426
- [x] #429 
- [x] #433
- [x] #435
- [x] #421
- [x] #436
- [x] #437
- [x] #444
- [x] #438
- [x] #390
- [x] #451 
- [x] #456

---------

Signed-off-by: Brian Ginsburg <[email protected]>
Signed-off-by: Zeeshan Lakhani <[email protected]>
Co-authored-by: Brian Ginsburg <[email protected]>
Co-authored-by: Hugo Dias <[email protected]>
bgins added a commit that referenced this issue Nov 29, 2023
Includes:
  - re-purposing of feature flags
    * metrics is always a thing (on)
    * monitoring is the gated feature
    * The websocket-server flag is gone, we only gate push notifications
  - JSON-RPC setup and RPC method register
  - Prometheus exposition format to JSON parser

Other features and other fixes:

- [x] e2e testing of run workflow
- [x] #407
- [x] #410
- [x] #418
- [x] #424
- [x] #354
- [x] #409
- [x] #425
- [x] #426
- [x] #429
- [x] #433
- [x] #435
- [x] #421
- [x] #436
- [x] #437
- [x] #444
- [x] #438
- [x] #390
- [x] #451
- [x] #456

---------

Signed-off-by: Brian Ginsburg <[email protected]>
Signed-off-by: Zeeshan Lakhani <[email protected]>
Co-authored-by: Brian Ginsburg <[email protected]>
Co-authored-by: Hugo Dias <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dx Developer experience applications and improvements
Projects
None yet
Development

No branches or pull requests

2 participants