clockworklabs / SpacetimeDB

Multiplayer at the speed of light
https://spacetimedb.com
Other
4.41k stars 110 forks source link

websocket: send/receive reducer & table ids instead of names #1883

Open Centril opened 1 month ago

Centril commented 1 month ago

Description of Changes

Receive and send reducer ids and table ids as opposed to names in the SDK.

TODO:

Fixes https://github.com/clockworklabs/SpacetimeDBPrivate/issues/1091.

API and ABI breaking changes

Yes.

Centril commented 2 weeks ago

Please update the PR description to match the template.

👍

  • I would like to see a Rust SDK test added which verifies that it's possible to construct a connection and then immediately invoke a reducer, without first waiting for the on-connect callback. I would expect this to queue the reducer call until the handshake message is received. The code appears to do this correctly, but I want a test to make sure we don't regress it in the future.

This is exercised by the test exec_caller_always_notified which failed before I adjusted the SDK to first always process the handshake.