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

Frontend ~ close button #534

Conversation

andreaj00
Copy link

NOTE, Merge first the pull request: #527

New Feature:

Add the 'close button' that once clicked will close the connection to the MIR node (Any current Incoming Log message will be declined by default)

Usage Example:

The new button:
image
Once the 'Close Connection' button is clicked, the waiting incoming log will be declined and the connection to the MIR node closed:
image

@andreaj00 andreaj00 force-pushed the reactFrontend_closeButton branch from 5a59d00 to 95ca189 Compare February 15, 2024 10:23
Copy link
Contributor

@matejpavlovic matejpavlovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@andreaj00 andreaj00 force-pushed the reactFrontend_closeButton branch from 95ca189 to d17bce6 Compare February 16, 2024 09:07
@matejpavlovic matejpavlovic merged commit 2e972b8 into consensus-shipyard:visualization Feb 16, 2024
3 checks passed
komplexon3 pushed a commit to komplexon3/mir that referenced this pull request Mar 29, 2024
Generalize and simplify the interceptor

Generalize:
The interceptor can now interfere with the intercepted events.
Instead of returning just an error value, it now also returns an `EventList`.
It is those returned events (instead of the input events)
that Mir uses for delivering to its modules.

Simplify:
The `EventRecord`s have been overused in parts of the code where they did not necessarily belong.
They are now replaced by simple `EventList`s wherever appropriate.

Signed-off-by: Matej Pavlovic <[email protected]>
Co-authored-by: Schmit Catherine <[email protected]>
Co-authored-by: Matej Pavlovic <[email protected]>

Add run.sh to pingpong for convenience

Signed-off-by: Matej Pavlovic <[email protected]>

Implement WebSocket debugger (consensus-shipyard#528)

Signed-off-by: Matej Pavlovic <[email protected]>
Co-authored-by: Schmit Catherine <[email protected]>
Co-authored-by: Matej Pavlovic <[email protected]>

Add Mir debugger frontend (consensus-shipyard#527)

Create frontend to connect to MIR nodes to accept or decline new log messages

Co-authored-by: Andrea Jiang <[email protected]>

Event modification through frontend (consensus-shipyard#541)

* added the replace event functionality for the debugger in the backend,
using protojson.Marshal instead of json.Marshal
* Satisfy linter
* Do not re-generate timestamp in debugger
* Update the frontend deparser to support the protojson parsing

Signed-off-by: Matej Pavlovic <[email protected]>
Co-authored-by: Matej Pavlovic <[email protected]>
Co-authored-by: Andrea Jiang <[email protected]>
Co-authored-by: Schmit Catherine <[email protected]>

Modify event data using the debugger (consensus-shipyard#533)

Added the possibility to modify the logs
that each MIR node sends by
modifying the incoming message.
(For now, only the JSON leaves are modifiable. )
All the JSON types have been taken care of:

it's important to notice that once
a 'null' field is clicked to modify,
it will become a 'string type afterward'.
For other types, the type will be preserved
if the newly modified value is acceptable for that specific type.
For example, inserting 'true' into a boolean field
will remain a boolean, but using 'tru' will result
in it becoming a string field.

Co-authored-by: Andrea Jiang <[email protected]>

Disconnecting the debugger (consensus-shipyard#534)

* Added 'close connection' button to close the connection to the specific websocket
* Decline any current Log when clicking the 'close connection' button

Co-authored-by: Andrea Jiang <[email protected]>

Async debug mode (consensus-shipyard#535)

Add the possibility to automatically accept
the incoming logs from the MIR node.

Co-authored-by: Andrea Jiang <[email protected]>

Describe debugger events (consensus-shipyard#542)

Co-authored-by: Andrea Jiang <[email protected]>

Latest debugger event on top (consensus-shipyard#543)

Co-authored-by: Andrea Jiang <[email protected]>

Update debugger log message (consensus-shipyard#544)

Co-authored-by: Andrea Jiang <[email protected]>

restructure original visualization code
komplexon3 pushed a commit to komplexon3/mir that referenced this pull request Apr 1, 2024
Generalize and simplify the interceptor

Generalize:
The interceptor can now interfere with the intercepted events.
Instead of returning just an error value, it now also returns an `EventList`.
It is those returned events (instead of the input events)
that Mir uses for delivering to its modules.

Simplify:
The `EventRecord`s have been overused in parts of the code where they did not necessarily belong.
They are now replaced by simple `EventList`s wherever appropriate.

Signed-off-by: Matej Pavlovic <[email protected]>
Co-authored-by: Schmit Catherine <[email protected]>
Co-authored-by: Matej Pavlovic <[email protected]>

Add run.sh to pingpong for convenience

Signed-off-by: Matej Pavlovic <[email protected]>

Implement WebSocket debugger (consensus-shipyard#528)

Signed-off-by: Matej Pavlovic <[email protected]>
Co-authored-by: Schmit Catherine <[email protected]>
Co-authored-by: Matej Pavlovic <[email protected]>

Add Mir debugger frontend (consensus-shipyard#527)

Create frontend to connect to MIR nodes to accept or decline new log messages

Co-authored-by: Andrea Jiang <[email protected]>

Event modification through frontend (consensus-shipyard#541)

* added the replace event functionality for the debugger in the backend,
using protojson.Marshal instead of json.Marshal
* Satisfy linter
* Do not re-generate timestamp in debugger
* Update the frontend deparser to support the protojson parsing

Signed-off-by: Matej Pavlovic <[email protected]>
Co-authored-by: Matej Pavlovic <[email protected]>
Co-authored-by: Andrea Jiang <[email protected]>
Co-authored-by: Schmit Catherine <[email protected]>

Modify event data using the debugger (consensus-shipyard#533)

Added the possibility to modify the logs
that each MIR node sends by
modifying the incoming message.
(For now, only the JSON leaves are modifiable. )
All the JSON types have been taken care of:

it's important to notice that once
a 'null' field is clicked to modify,
it will become a 'string type afterward'.
For other types, the type will be preserved
if the newly modified value is acceptable for that specific type.
For example, inserting 'true' into a boolean field
will remain a boolean, but using 'tru' will result
in it becoming a string field.

Co-authored-by: Andrea Jiang <[email protected]>

Disconnecting the debugger (consensus-shipyard#534)

* Added 'close connection' button to close the connection to the specific websocket
* Decline any current Log when clicking the 'close connection' button

Co-authored-by: Andrea Jiang <[email protected]>

Async debug mode (consensus-shipyard#535)

Add the possibility to automatically accept
the incoming logs from the MIR node.

Co-authored-by: Andrea Jiang <[email protected]>

Describe debugger events (consensus-shipyard#542)

Co-authored-by: Andrea Jiang <[email protected]>

Latest debugger event on top (consensus-shipyard#543)

Co-authored-by: Andrea Jiang <[email protected]>

Update debugger log message (consensus-shipyard#544)

Co-authored-by: Andrea Jiang <[email protected]>

restructure original visualization code
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.

2 participants