* support TransactionUpdateLight and CallReducerFlags
* Run generate
* Push creds
* run prettier
* Add changeset
* Turn on withLightMode
---------
Co-authored-by: Puru Vijay <awesomepuruvj@gmail.com>
Co-authored-by: Puru Vijay <47742487+PuruVJ@users.noreply.github.com>
## Description of Changes
Just bump `package.json` to `1.0.0-rc1` instead of `1.0.0`.
## API
No breaking changes
## Requires SpacetimeDB PRs
None
## Testing
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
## Description of Changes
Fix the quickstart client program, also removes the rust server program (it lives in the stdb main repo under modules/quickstart-chat)
## Testing
Second subscription resets the first one without the fix
## Testsuite
SpacetimeDB branch name: master
* Update Identity and Address to use bigints rather than byte arrays
* Add back accidentally-removed APIs
* Remove debugging log
* Add changeset
* Fix names
* Format
* Update creds
---------
Co-authored-by: Puru Vijay <awesomepuruvj@gmail.com>
## Description of Changes
*Describe what has been changed, any new features or bug fixes*
- switched our "already connected" logic to using a reference to a
`MonoBehaviour` instead of just a bool. `MonoBehaviour`s are typically
destroyed when a scene reload happens and in this case we'll want to
allow developers to spawn a new `SpacetimeDBNetworkManager` if the
previous one has been destroyed.
## API
This is *not* an API break.
- [ ] 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*
- https://github.com/clockworklabs/SpacetimeDB/pull/1869
## Testsuite
SpacetimeDB branch name: master
## Testing
*Write instructions for a test that you performed for this PR*
- [x] I have added in several new tests here, one of which is a
reconnection test. Also, the reason why we couldn't have more than 1
test before this is that it was required for reconnections to be working
in order to have multiple tests running in the testsuite. Now that we
have fixed reconnections I have enabled all of the tests.
Testsuite passes

---------
Co-authored-by: John Detter <no-reply@boppygames.gg>
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Co-authored-by: Jeremie Pelletier <jeremiep@gmail.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
**Please do not rebase this PR**
## Description of Changes
*Describe what has been changed, any new features or bug fixes*
This is very similar to
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/176
except it imports the circle game as a submodule instead of copying the
code over into this repo. This is the SpacetimeDBCircleGame PR that
we're dependent on right now:
https://github.com/clockworklabs/SpacetimeDBCircleGame/pull/3
- This PR introduces a testsuite which runs in Unity. Right now it just
spawns in a circle, eats some food and verifies the decay logic is
working correctly. I've also written some reconnection tests but they
don't work because reconnections are currently broken. There are also
one-off tests but those don't work either because they also require
reconnections to be working.
Update: reconnections have been fixed via
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/168.
I've used the built-in unity testsuite framework to achieve this, along
with the UnityCI tool from GameCI. The documentation for this docker
container can be found here:
https://game.ci/docs/github/getting-started/
## API
- [ ] This is an API breaking change to the SDK
*If the API is breaking, please state below what will break*
Not breaking
## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*
None
## Testsuite
SpacetimeDB branch name: 0935b7346b
## Testing
*Write instructions for a test that you performed for this PR*
- [x] The testsuite is passing:
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/actions/runs/11604456943/job/32313229775
You can follow test instructions here to double check my work:
https://github.com/clockworklabs/SpacetimeDBCircleGame/pull/3
## Follow-up Actions
- [ ] Rebase the reconnection logic PR onto this PR and re-enable the
reconnection tests
---------
Co-authored-by: John Detter <no-reply@boppygames.gg>
## Description of Changes
This PR edits the handling of errors related to websocket connections
and disconnections. In particular, clients and users would often run
into the dreaded `Connection Error: Success` message which was confusing
and frustrating. This PR better addresses the error by providing more
guidance and debug info for the user. It is unfortunately still
suboptimal because the `HttpStatusCode` is not available in the .NET
core version that Unity supports. We try to be as helpful as possible in
this scenario.
## API
- [x] This is an API breaking change to the SDK, because it changes the
returned values from the `OnDisconnect` and `OnConnectError` callbacks
to implement the API specification:
https://github.com/clockworklabs/SpacetimeDBPrivate/pull/866/files#diff-be533cc04817c33605a68d717c6ec320c4449904266ee8e1096971e9e17e8d31R424
## Requires SpacetimeDB PRs
No changes to SpacetimeDB required.
## Testing
I, Tyler, have tested this and confirmed it to be working with
CircleGame. Here is a sample of the output in the case of `Connection
Error: Success`:
<img width="1324" alt="image"
src="https://github.com/user-attachments/assets/2b98c69f-07e2-4d0b-a61f-0ae4f84d62f6">
---------
Co-authored-by: John Detter <no-reply@boppygames.gg>
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
## Description of Changes
*Describe what has been changed, any new features or bug fixes*
Context:
https://discord.com/channels/568217153853980682/669989878955638785/1301132060878049332
Currently, when we receive subscription updates, a table will only be
diffed if subscription has any rows for that table. If, however, there
are no subscribed values, that table will NOT be diffed, and therefore
will not get cleared. Values from previous subscription will still be
there, so the table is in incorrect state.
This PR fixes that by making sure that ALL tables are checked in state
diff
## 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*
## Testing
*Write instructions for a test that you performed for this PR*
- [ ] Create a table A with an `val: i32` field
- [ ] Generate rows for table A with field values in the range (0..100)
- [ ] Connect client and subscribe to `SELECT * FROM A WHERE val > 0`
(will have all rows from table A)
- [ ] Change your subscription to `SELECT * FROM A WHERE val > 1000`
(should have no rows)
- [ ] Note that after subscription is applied, table A will have no
values
Co-authored-by: Steve Boytsun <steve@clockwokrlabs.io>
## Description of Changes
Update the SpacetimeDB C# DLLs to be up to date with `master` in
SpacetimeDB (now that C# bindings have been bumped to `v1.0.0-rc1`).
We will need a followup PR
## API
Not a breaking change.
## Requires SpacetimeDB PRs
`master`
## Testing
Only automated tests
---------
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>