Investigate RPC solutions #83

Closed
opened 2021-05-30 15:24:11 +00:00 by projectmoon · 0 comments
Owner

Investiate RPC solutions for the bot. Ideally, we have:

  • Strongly typed.
  • Usable from a web browser/web assembly.

The Rust gRPC implementation doesn't implement grpc-web, which means we can't call gRPC directly. So we'd have to proxy it to a REST API. Perhaps we could create a GraphQL API service, which can call the bot.

We can have different RPC solutions for front-end and backend. For example, GraphQL for frontend, and gRPC for the bot itself. There are some other RPC frameworks that should be useful for the communication between the bot and its API front-end:

  • taRPC (Rust-specific)

A possibly more crazy/interesting solution for web <-> bot communication is to actually make the web frontend log in to Matrix, and send custom Matrix events to the bot. This presents some interesting benefits, but we basically completely lose the ability to do proper two-way communication (AKA request-response).

Investiate RPC solutions for the bot. Ideally, we have: - Strongly typed. - Usable from a web browser/web assembly. The Rust gRPC implementation doesn't implement grpc-web, which means we can't call gRPC directly. So we'd have to proxy it to a REST API. Perhaps we could create a GraphQL API service, which can call the bot. We can have different RPC solutions for front-end and backend. For example, GraphQL for frontend, and gRPC for the bot itself. There are some other RPC frameworks that should be useful for the communication between the bot and its API front-end: - taRPC (Rust-specific) A possibly more crazy/interesting solution for web <-> bot communication is to actually make the web frontend log in to Matrix, and send custom Matrix events to the bot. This presents some interesting benefits, but we basically completely lose the ability to do proper two-way communication (AKA request-response).
projectmoon added this to the Web UI milestone 2021-05-30 15:24:11 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: projectmoon/tenebrous-dicebot#83
No description provided.