- Integrate protobufectomy, which replaces our protobuf and json WS message schemas
with a SATS-ful schema for both BSATN and JSON.
- Notice that this SDK's implementation of JSON had diverged significantly
from SpacetimeDB's use of `serde_json` leading to incompatible encodings.
Rather than fixing this, remove JSON support in favor of only BSATN.
- Rewrite tests to use BSATN WS format.
- Also rewrite tests to be closer to legal in a few ways, but not entirely.
E.g. don't put floats for `Point` fields with declared type `U16`.
- Hoist compression into a WS wrapper so that tests can bypass it.
- Update quickstart example for consistent filtering rules changes.
- Add `__identity_bytes`/`__address_bytes` getters to `Identity` and `Address`
so serialization doesn't need to special-case them.
- Run prettier, which inflates this diff somewhat.
If I had planned ahead I would have done this separately, but I didn't,
and it's too late to separate the functional changes from the formatting now.
---------
Co-authored-by: Piotr Sarnacki <drogus@gmail.com>
## Description of Changes
*Describe what has been changed, any new features or bug fixes*
## API
- [ ] This is an API breaking change to the SDK
*If the API is breaking, please state below what will break*
## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*
## Description of Changes
- Removed JSON support (similar to changes being made on the TypeScript
side)
- Removed all references to protobuf
- Swapped the protobuf codegen for the output of our own C# codegen in
rust
- Refactored the connection class to reflect the API changes from
protobuf to bsatn
- Updated the example to reflect these changes
## API
- [ ] This is an API breaking change to the SDK
Changes the SDK types passed into event handlers.
## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*
* expanded on taggedenums and added examples for each special ReducerKind
Fixed a few typos/mistakes here and there also.
* fixed part2 hyperlinks
* fixed config version type
from Identity to uint
* update Throw => throw
* update log typo
* fix type on connect reducerkind from init=>connect
* private=>public for UpdatePlayerLoginState reducer
* remove double "publish" condenses it into one publish at the end after chat
* fixed name of GameManager file, tweaks to instructions
kept application.runInBackground (it wasn't included)
renamed many instances of "TutorialGameManager.cs" to "BitcraftMiniGameManager.cs" to represent accurate filename
* fixed onConnectError
* more TutorialGameManager renames to BitcraftMiniGameManager.cs and also a FilterByX fix
* added clarity to UIUsernameChooser.cs and LocalPlayer.cs -- Also fixed RemotePlayer.cs errors
* some small tweaks again to GameManager name
* updated tagged enums to reflect record usage and pattern matching
* filter -> find fixes
* expanded on taggedenums and added examples for each special ReducerKind
Fixed a few typos/mistakes here and there also.
* fixed config version type
from Identity to uint
* update Throw => throw
* update log typo
* fix type on connect reducerkind from init=>connect
* private=>public for UpdatePlayerLoginState reducer
* remove double "publish" condenses it into one publish at the end after chat
* fixed name of GameManager file, tweaks to instructions
kept application.runInBackground (it wasn't included)
renamed many instances of "TutorialGameManager.cs" to "BitcraftMiniGameManager.cs" to represent accurate filename
* fixed onConnectError
* more TutorialGameManager renames to BitcraftMiniGameManager.cs and also a FilterByX fix
* added clarity to UIUsernameChooser.cs and LocalPlayer.cs -- Also fixed RemotePlayer.cs errors
* some small tweaks again to GameManager name
* updated tagged enums to reflect record usage and pattern matching
* filter -> find fixes
* updated based on feedback
* Update docs for Consistent Filtering proposal
Updating docs for FilterBy methods across SDKs, adding docs for FindBy methods, and a couple of drive-by fixes for broken links.
* Update docs/sdks/c-sharp/index.md
Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
---------
Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>