## 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>
## 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>
* Unified Rust and C# documentation for Blackhol.io
Creates a single markdown file for each page, containing both Rust and C# server implementations, using the following format:
:::rust
# A rust section
:::
:::csharp
# A csharp section
:::
The visibility of each section should then be controlled by a dropdown on the website itself, leveraging tooling not contained in this branch.
* Updated language code blocks to clarify the block refers to the server's language
Prepped the combined documents to specifically tag for the server side code such that:
:::server-rust
A rust server implementation section.
:::
:::server-csharp
A csharp server implementation section.
:::
And in a future additionally update the documentation to differentiate the client portion too, like:
:::client-unity
A Unity client implementation section.
:::
* Update part-4.md
Added additional clarification that the linked repo contained content beyond the scope of the tutorial.
* Updated subscriptions to match new API format
* Small fixes to unity tutorial index page
* Added a note about column names to the C# tutorial
* Merged a section which was now abutting another section
* Clarified where you are supposed to put C# reducers
* Small, mostly whitespace fixes
---------
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
## 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>
Merged the player and logged_out_player tables into only a player table, to match the way it is used in the tutorial documentation. Slight changes to how logged_out_player was being referenced was required due to the tables having different architecture.
## 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
* Test with upstream subscription API + fix respawns + add suicide for testing
* Add comment on not loading Auth Token for testing.
* Remove dangling meta file?
* Switch server-csharp to local build temporarily & fix all issues
* Remove needless comment
* Add comment to csproj
* Remove debug logs
## 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.
* Amend `withCredentials` to `withToken`
`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.
* TypeScript puts ? on variables, not types
* Prettier
* Circle splitting and recombining;
Client re-coloring
* Renamed Entity.id into Entity.entity_id
* Client refactor; Polish; Bugfixes
* Store username between game runs
* Renamed EntityActor.OnUpdate to OnEntityUpdate
* [WIP] C# server
* [WIP] C# server
* Changed `DateTimeOffset` to `long` in C# module
* Parallax background
* Animate entities when they get consumed
* Fixed respawn button
* Draft into Steve's branch (#12)
* Small changes
* Changes to align with the tutorial.
* Fixed rebase issue
* Merged ConnectionManager and EntityManager into GameManager for tutorial simplicity
* Renaming Actor -> Controller for simplicity's sake, although Actor is a good name
* actor -> entityController
* Merged ArenaController into GameManager for simplicity and cleaned up a few things
* Small cleanup to keep it in line with the tutorial
* Small changes to how overlapping works
* Rebrand to Blackholio
* Rebrand to Blackholio (missed one)
* Added a README.md
* fixed readme
---------
Co-authored-by: Steve Gibson <steve@clockwokrlabs.io>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
## 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.
* First commit to test images
* Progress on the unity tutorial
* moar docs
* Part 3 incoming
* Part 3 and almost part 4!
* Finalized part 4 and deleted unused files
* Small fixes and clarifications
* Review typos and fixes
* Fixed link validation for images
* Removed the reference to an image which is going to be moving
* Fixed the tsconfig issue (it was not actually using the tsconfig)
* Shortened titles
* Just testing something
* Undo change
* Consistent headers
* Commenting out images for now
* Missed an image
## 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>
## 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
## 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
## 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>