Commit Graph

171 Commits

Author SHA1 Message Date
Ingvar Stepanyan 45e62b04a7 Reduce amount of table casts 2025-01-29 16:47:43 +00:00
Zeke Foppa aa6cb5b5cf Revert DLLs to 1.0.0-rc3 (#224)
## Description of Changes
Revert DLLs, which I should have done in
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/223.

See that PR for background on why it was necessary.

## API

 - [ ] This is an API breaking change to the SDK

Kinda, but it's a revert.

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
SpacetimeDB branch name: master

## Testing
I would have liked to say that the current CI is sufficient as I did in
the last PR, but now I no longer feel confident.. Currently the repo is
in a somewhat inconsistent state, though, so I think we should merge
this right now as it will not make it _less_ consistent.

I'm very open to suggestions about how to test this properly.

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-01-27 21:14:55 +00:00
Zeke Foppa 76194c2849 Revert trunk branch versions to 1.0.0-rc3 (no hotfix) (#223)
## Description of Changes
Remove the `-hotfix*` part of the version in our trunk branch.

It was a (my) mistake to merge a `-hotfix*` version change. Hotfixes
are, by definition, cherry-picked changes that are going to be released
directly to users without merging.

The consequence of merging this change was that the `SDK Tests` CI job
started failing on SpacetimeDB PRs (e.g. see failures on
https://github.com/clockworklabs/SpacetimeDB/pull/2137), because it
checks out this repo, which then tried to use the `-hotifx3` version of
SpacetimeDB. But the `master` branch of SpacetimeDB is at `1.0.0-rc3`
(no hotfix), because the hotfix was correctly released from a branch
without merging in that repo.

Although this PR reverts the version change, we do still have a tag
`v1.0.0-rc3-hotfix3` that we can use to release the hotfix version (by
`git push -f origin v1.0.0-rc3-hotfix3:master`) if/when desired.

## API

 - [ ] This is an API breaking change to the SDK

No

## Requires SpacetimeDB PRs
Should work with `master`.

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
I claim that the CI tests passing with `master` show that this is
correct. The original version change itself passed CI because it was
pointing at a non-`master` branch for testing. I claim it would have
failed if it were tested against SpacetimeDB `master`.

Generally, this might point to a bug in how we've done this CI: We
should probably only allow a PR to merge in this repo if it tests
successfully against SpacetimeDB `master`, even if we want to point it
at other branches to test in the meantime.

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-01-27 10:22:51 -08:00
Zeke Foppa 27be3019bb Bump version to 1.0.0-rc3-hotfix3 (#222)
## Description of Changes
Bump the version and include the DLLs from the corresponding NuGet
packages / SpacetimeDB version.

## API

 - [ ] This is an API breaking change to the SDK

I believe not?

## Requires SpacetimeDB PRs
I believe this requires tag `v1.0.0-rc3-hotfix3`

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: v1.0.0-rc3-hotfix3

## Testing
Only automated testing, since this itself is just a version bump.

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-01-24 21:27:04 +00:00
james gilles 6578f0563b Implement new subscription API (#219)
## Description of Changes

As proposed. No upstream codegen changes needed :)

## API

 - [x] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*
The subscription API is slightly different.

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2111

## Testsuite

SpacetimeDB branch name: jsdt/subscribe-sdk-3

## Testing
So far I have performed manual testing with the chat example. Working on
updating the unity and unit tests.

- [ ] Describe a test for this PR that you have completed
2025-01-23 16:22:29 -05:00
Ingvar Stepanyan 62e16c6333 Unify CI handling of SpacetimeDB branch (#215)
## Description of Changes

This unifies various CI task into a single config that checks out the
referenced SpacetimeDB branch only once and using the same PR parsing
code (previously used only in Unity), and then runs all the builds and
tests against it. That is, .NET test, server module and Unity tests are
now all consistently overridden to point to the same SpacetimeDB.

## 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*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing

- [x] Lots of CI testing and tweaking until all of existing CI tests
started working again; ensured .NET tests are executed as expected
against the specified branch name.
2025-01-23 10:40:38 -05:00
Ingvar Stepanyan 3d530ee248 Upgrade to new regenerated client-api bindings (#218)
## Description of Changes

Looks like client API bindings haven't been regenerated in a while, and
this is a necessary precursor to the new subscription work. This PR
fixes the generation script, regenerates the bindings and updates
affected code.

## 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*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: v1.0.0-rc3

## Testing
*Write instructions for a test that you performed for this PR*

- [x] Ran regular `dotnet test`.
- [x] Checked Unity tests via CI.
2025-01-16 17:29:27 +00:00
Phoebe Goldman 749825aa2f SubscribeToAllTables, which hides "SELECT * FROM *" (#211)
## Description of Changes

Per out-of-band discussion, add
`SubscriptionBuilder.SubscribeToAllTables`, which abstracts over
`SubscriptionBuilder.Subscribe(["SELECT * FROM *"])`.

In the future, we will change the implementation of this method, so that
it uses "legacy subscriptions" while `SubscriptionBuilder.Subscribe`
moves to using "mutable subscriptions." At that time, no other interface
will be provided for using "legacy subscriptions."
`SubscribeToAllTables` may also at some point be rewritten in terms of
"mutable subscriptions" somehow.

## API

 - [ ] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*

## Requires SpacetimeDB PRs

N/a

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [x] @cloutiertyler will use this in the new tutorial and report back.

---------

Co-authored-by: Ingvar Stepanyan <ingvar@clockworklabs.io>
Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
2025-01-14 23:43:10 +00:00
Ingvar Stepanyan 0017af7991 Disable PR comment for meta file check if not a PR (#216)
## Description of Changes

Looks like the .meta check hard-fails on push events if
`enable_pr_comment` is `true`, instead of just ignoring it...

I hope this fix works, but hard to tell without merging first.

## 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*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [x] This is a PR that changes CI configuration, so see CI
2025-01-14 19:48:20 +00:00
Ingvar Stepanyan 2487c94967 Add CI check for Unity meta files (#209)
## Description of Changes

Adds CI check to prevent issues like #208.

## 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*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [ ] Describe a test for this PR that you have completed
2025-01-14 19:25:45 +00:00
Phoebe Goldman 39e7ebbb9a Revise WithCredentials to WithToken (#212)
## Description of Changes

`WithCredentials` was designed for our old auth model, where tokens were
always issued by the SpacetimeDB host alongside an `Identity`, and
therefore the bearer always knew their `Identity`.

In our new auth model, a client may have a valid auth-able JWT but not
know what `Identity` it will result in,
as the `Identity` is computed based on the hash of some of the token's
contents, and this hashing algorithm is not included in our client SDKs.
As such, this PR revises `WithCredentials` to `WithToken`, which just
accepts the token.

## API

 - [x] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*

`WithCredentials` is renamed and its signature changes.

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [ ] @cloutiertyler should test this with the Unity tutorial, if
possible.

---------

Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
2025-01-14 18:43:34 +00:00
Zeke Foppa 11896cb70b Bump version to RC3 and update DLLs (#210)
## Description of Changes
Bump package version to `1.0.0-rc3` and do a preliminary upgrade of the
DLLs.

I believe the DLLs might need updating again once the BSATN.Runtime
package is pushed to NuGet (because then it will be fetched from NuGet).

## API

Not API breaking.

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2094

## Testsuite
SpacetimeDB branch name: release/v1.0.0-rc3

## Testing
- [x] Existing CI is successful (pointed at the RC3 SpacetimeDB branch).

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-01-14 18:13:04 +00:00
Ingvar Stepanyan 006087fb43 Add delegates for events (#201)
## Description of Changes

This is a requested DX improvement to make sure that IDE shows
reasonable argument names instead of `arg0`...`argN`.

Fixes
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/issues/200.

## API

 - [x] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*

Potentially breaking in obscure edge cases, if someone already had
`Action<...> myCallback;` that they passed to those APIs as C# won't
cast it automatically to our custom delegate type.

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
*If you would like to run against a specific SpacetimeDB branch in the
testsuite, specify that here. This can be a branch name or a link to a
PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [x] `dotnet test`
2025-01-14 14:28:29 +00:00
Ingvar Stepanyan bb6d624b6a Update Unity tests (#207)
## Description of Changes

Updates Unity tests to include fix from
https://github.com/clockworklabs/SpacetimeDBCircleGame/pull/10.

## 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*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [ ] Describe a test for this PR that you have completed
2025-01-07 11:49:56 -08:00
joshua-spacetime d6d78b38b9 fix(202): RemoteQuery should not SELECT * (#203)
Fixes #202.

Because SELECT * is ambiguous if the query is a join

## Description of Changes

Bug Fix

Previously `RemoteQuery` would implicitly `SELECT *`. This was wrong
because you can use `RemoteQuery` to issue join queries.

## 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*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: v1.0.0-rc1

## Testing
*Write instructions for a test that you performed for this PR*

- [ ] Describe a test for this PR that you have completed
2025-01-06 15:11:28 -08:00
Ingvar Stepanyan a90e0f98e1 Fix CI (#205)
## Description of Changes

(this is a reopening of #204 which targeted wrong branch)

I don't know when or why this broke (or, rather, how it worked before),
but we're installing .NET 7 but packing BSATN.Runtime that multi-targets
.NET Standard 2.1 + .NET 8. The latter part, as you'd expect, fails on
CI.

~~This change tells `dotnet pack` to only pack for .NET Standard 2.1
since that's the one we're interested in on the client - .NET 8 support
is only for C# server modules.~~ _Narrator: that didn't work out._

This change bumps .NET SDK to 8.0 because I still don't know how it
worked before with .NET 7, and this seems like the more sensible
solution anyway.

## 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*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [ ] Describe a test for this PR that you have completed
2025-01-06 20:03:19 +00:00
Tyler Cloutier fa2baa6cac Update pull_request_template.md 2024-12-13 20:40:46 -05:00
Tyler Cloutier d8277ff8fd Updated DLLs I think 2024-12-13 20:14:02 -05:00
Tyler Cloutier 1a21af8526 Bump versions 2024-12-13 19:29:15 -05:00
Tyler Cloutier 844713f577 Updating unity-tests (#197)
## Description of Changes
This bumps the unity-test submodule
 
## API

No API Change

## Requires SpacetimeDB PRs

No special PRs, should work with latest master of SpacetimeDB.

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
I opened up this commit of CircleGame in Unity on my own machine and ran
the tests. They seemed to work fine.
2024-12-13 10:54:43 -05:00
Ingvar Stepanyan 9b7f20cedb Migrate C# and Unity tests to the new API (#194)
## Description of Changes

Counterpart to https://github.com/clockworklabs/SpacetimeDB/pull/2033.

Also updated test settings to make sure that sum type variants
implemented via subclassing are shown as expected.

## 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*

## Testsuite
*If you would like to run against a specific SpacetimeDB branch in the
testsuite, specify that here. This can be a branch name or a link to a
PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [ ] Describe a test for this PR that you have completed
2024-12-12 12:03:44 -05:00
Zeke Foppa 3054a7f530 Bump version and update DLLs (#192)
## Description of Changes
Cherrypicking the changes from
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/190,
which were merged directly to `master` (by me, without thinking it
through).

## API

Fixes API breakage related to endianness.

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/1964

## Testsuite
SpacetimeDB branch name: master

## Testing
CI only. These changes have already been released.
2024-11-19 22:18:44 +01:00
Zeke Foppa 82f4b07b90 Bump Unity SDK version to RC1 (#187)
## 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>
2024-11-06 14:29:48 -05:00
Jeremie Pelletier 181aff3323 Update the quickstart module (#185)
## 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
2024-11-04 19:17:05 +00:00
Mazdak Farrokhzad 2ad31d65b4 Companion to SpacetimeDB#1812 (light tx, C#) (#170)
## Description of Changes

Adds C# sdk support for
https://github.com/clockworklabs/SpacetimeDB/pull/1812.

## Requires SpacetimeDB PRs

- https://github.com/clockworklabs/SpacetimeDB/pull/1812

## Testsuite

SpacetimeDB branch name: centril/websocket-light

---------

Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
2024-11-04 17:46:42 +01:00
John Detter f936c98b04 Fix Reconnection Logic (#168)
## 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


![image](https://github.com/user-attachments/assets/09ef5835-f2c7-41f1-af6b-e612ac5e0497)

---------

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>
2024-10-31 22:34:26 +00:00
Mazdak Farrokhzad ac45eacf37 Add gzip + none compression algos and let SDK pick compression (take 2) (#174)
## Description of Changes

Companion to https://github.com/clockworklabs/SpacetimeDB/pull/1802.

## Requires SpacetimeDB PRs

None

## Test suite

SpacetimeDB branch name: 0935b7346b

---------

Co-authored-by: Jeremie Pelletier <jeremiep@gmail.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2024-10-31 19:08:52 +01:00
John Detter b728e63158 Unity testsuite as a git submodule (#186)
**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>
2024-10-31 18:25:28 +01:00
John Detter b2c5b41170 Fix Connection Error: Success (#166)
## 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>
2024-10-30 18:08:36 -04:00
SteveGibson 5ccb5f99bf Fixed subscription updates not clearing tables with no subscribed values (#182)
## 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>
2024-10-30 16:33:54 +00:00
Zeke Foppa cf3f37cf77 Update DLLs and bump package versions to 1.0.0-rc1 (#180)
## 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>
2024-10-29 11:33:15 -07:00
John Detter 035ee4beb9 Revert PR 155 (#173)
## Description of Changes
*Describe what has been changed, any new features or bug fixes*

PR 155 introduced a build issue in Unity:


![image](https://github.com/user-attachments/assets/7e88a813-93bd-4b74-ad87-a4c821a7fb98)

This PR reverts back to a known working commit. I have tested after
reverting the commit and the branch is back to working properly.

## 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*

## Testing
*Write instructions for a test that you performed for this PR*

- [x] Tested circle game against this commit and it builds + works

Co-authored-by: John Detter <no-reply@boppygames.gg>
2024-10-16 00:05:17 -05:00
Mazdak Farrokhzad 01a7e3f6e9 Add gzip + none compression algos and let SDK pick compression (#155)
## Description of Changes

Companion to https://github.com/clockworklabs/SpacetimeDB/pull/1802.

## Requires SpacetimeDB PRs

https://github.com/clockworklabs/SpacetimeDB/pull/1802
2024-10-15 19:47:40 +00:00
Jeremie Pelletier 1e13ab5b50 Jeremie/one off query decoupled from table (#163)
## 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*

---------

Co-authored-by: John Detter <no-reply@boppygames.gg>
2024-10-12 10:40:26 -04:00
Zeke Foppa f376c05433 0.12.0 DLLs (again) (#161)
## Description of Changes
Update with the latest DLLs from the current 0.12.0 branch.

## 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*

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2024-10-03 21:43:39 -07:00
Jeremie Pelletier c3be5b08c3 Update to tests/examples follow codegen changes (#160)
## 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*
2024-10-03 21:12:43 -07:00
John Detter d2143ccc88 Use SpacetimeDBNetworkManager everywhere (#157)
## 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*

Co-authored-by: John Detter <no-reply@boppygames.gg>
2024-10-03 18:15:37 -07:00
John Detter 072d9ead84 Upgrade SDK Version to 0.12 (#156)
## Description of Changes
*Describe what has been changed, any new features or bug fixes*

- Upgrade version to 0.12.

## 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*

Co-authored-by: John Detter <no-reply@boppygames.gg>
2024-10-04 00:39:13 +00:00
Ingvar Stepanyan 2d20acd06e Fix UnityNetworkManager (#141)
This got broken when we switched to a new DbConnection API.

Keep track of all the active connections and update/destroy them from a
singleton game object. Fixes #134.

Marked as a draft for now, because it's untested and because we're not
yet sure that singleton for all connections as requested is the right
approach.

## 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*

---------

Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
Co-authored-by: John Detter <no-reply@boppygames.gg>
2024-10-03 19:35:51 -05:00
Ingvar Stepanyan 434c5ffd8a Accept multiple queries in Subscribe (#153)
## Description of Changes

Turns out, we're not ready for single Subscribe per query, so bringing
back this ability.

## 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*

Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
2024-10-04 00:25:05 +00:00
Zeke Foppa b320e5ec58 Update DLLs for 0.12.0 (#152)
## Description of Changes
Updated the DLLs for 0.12.0 from the PR:
```
commit 0a7512d2a8db0dcff05aaee92f260e53d71cdc80 (HEAD -> release/v0.12.0-beta, origin/release/v0.12.0-beta)
Author: Zeke Foppa <bfops@users.noreply.github.com>
Date:   Thu Oct 3 09:35:27 2024 -0700

    [release/v0.12.0-beta]: Manually apply open PR #1707: c# client generate
```

## 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*

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
2024-10-03 23:31:14 +00:00
Jeremie Pelletier 1b0e843a98 Jeremie/remove break (#154)
## 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*
2024-10-03 19:00:10 -04:00
Ingvar Stepanyan 2c95bee7b2 Try to catch flaky bugs (#150)
## Description of Changes

We have some flaky bug where Events are getting modified while we're
already iterating over them in the snapshot.

I think this might've been fixed by #144, but add extra checks just in
case so that the exception is thrown in a concrete event that causes it,
and not inside snapshot serialization.

## 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*
2024-10-03 17:17:06 +00:00
Ingvar Stepanyan 76d275f1b5 Remove obsolete tools folder (#149)
## Description of Changes

Not sure when or how this was added (it's not on master), but this
folder shouldn't be here - we have `tools~` instead.

## 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*
2024-10-03 17:13:59 +00:00
Zeke Foppa b96f1a6cd5 Fix gen-client-api scripts for new CLI API (#151)
## Description of Changes
The CLI arg changes in
https://github.com/clockworklabs/SpacetimeDB/pull/1741 broke these
scripts. This PR incorporates the param renames.

## API
No changes to how things are used.

## Requires SpacetimeDB PRs
I guess https://github.com/clockworklabs/SpacetimeDB/pull/1741

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2024-10-03 09:48:54 -07:00
Zeke Foppa affa2af7db Add script to generate nuget.config (#115)
## Description of Changes
Adds a utility script to generate `nuget.config` given a path to the
`SpacetimeDB` repo.

## API
No

## Requires SpacetimeDB PRs
None

## Testing
- [x] CI
- [x] Ran locally

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2024-10-03 13:03:29 +01:00
Ingvar Stepanyan fa87e36308 Don't actually try to connect to network in tests (#144)
## 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*
2024-10-02 23:19:12 +00:00
Ingvar Stepanyan 9d3336e6f5 Reduce public API surface further (#145)
## Description of Changes
*Describe what has been changed, any new features or bug fixes*

## API

 - [x] 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*
2024-10-03 00:18:06 +01:00
Ingvar Stepanyan 463a240f45 Tighten package sources in C# smoketests (#133)
## Description of Changes

Same as https://github.com/clockworklabs/SpacetimeDB/pull/1735 but for
this repo.

## 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*
2024-10-02 22:52:03 +01:00
Ingvar Stepanyan cec6fb815a Fix UnityDebugLogger implementation (#143)
## Description of Changes

Without explicit reference these result in

> error CS0119: 'UnityDebugLogger.Debug(string)' is a method, which is
not valid in the given context

## 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*
2024-10-02 20:56:57 +00:00