Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
583b612
Merge pull request #1 from clockworklabs/jdetter/some-api-updates
jdetter Nov 2, 2022
a9f8bef
Merge pull request #2 from clockworklabs/jdetter/some-api-updates2
cloutiertyler Nov 2, 2022
7832181
Improved names
Nov 3, 2022
b37b468
.gitignore change
cloutiertyler Nov 3, 2022
fe3a8ad
Several fixes to sending when the websocket is closed.
Nov 3, 2022
355b9e9
Give SDK users access to the token key
dbrinkmann-citadel Jan 11, 2023
842cb00
Changes to the Unity SDK to support callbacks for individual table ro…
dbrinkmann-citadel Jan 13, 2023
40b19b7
Merge pull request #3 from clockworklabs/Derek-Callback-Improvements
dbrinkmanncw Jan 18, 2023
ab12cef
Add sslEnabled option to Connect function
dbrinkmann-citadel Jan 20, 2023
3364cd7
Merge pull request #4 from clockworklabs/derek-add-SSL-option
dbrinkmanncw Jan 23, 2023
507ef0a
Migrate from TypeDef/TypeValue to SATS (#5)
jdetter Feb 26, 2023
7fc5463
SDK Upload Script (#7)
jdetter Feb 28, 2023
28897a3
Json Byte Arrays Serialized as Hex (#8)
jdetter Mar 8, 2023
9286779
C# Enum Generation (#9)
jdetter Mar 21, 2023
ca5eefe
Fix compilation issue (#11)
jdetter Mar 23, 2023
6151939
Automatically find Unity on macOS (#12)
jdetter Mar 24, 2023
cddda19
GetEntries now returns both AlgebraicValue and object as a tuple (#15)
jdetter Apr 7, 2023
9f9e549
Use Network Thread for Processing DB Rows (#14)
jdetter Apr 7, 2023
51086a2
State Diffs (#16)
jdetter Apr 21, 2023
2ac2f9f
Primary Key Impl (#18)
jdetter Jun 8, 2023
aad6c4b
SpacetimeDB SDK Version 0.4.1 (#17)
jdetter Jun 8, 2023
11801d4
Adding event parameter to table callbacks (#19)
SteveGibsonCL Jun 8, 2023
bc6ed3e
Fix compile error in sdk (#22)
dbrinkmanncw Jun 13, 2023
c15c54e
Add onSubscriptionUpdate callback (#21)
dbrinkmanncw Jun 14, 2023
fb72396
Deserializing reducer args before table updates so they can be access…
SteveGibsonCL Jun 14, 2023
48e15bc
Reducer args in table updates 2 (#23)
SteveGibsonCL Jun 15, 2023
30f4347
Changed guid (#25)
SteveGibsonCL Jun 15, 2023
cf771d3
Fixed API (#26)
jdetter Jun 15, 2023
2caa919
Reducer event (#28)
SteveGibsonCL Jun 16, 2023
2711d10
On before delete (#24)
SteveGibsonCL Jun 16, 2023
c0d92cb
Renamed onSubscriptionUpdate to onSubscriptionApplied (#27)
jdetter Jun 16, 2023
3db027b
Fixed occasional double insert (#30)
SteveGibsonCL Jun 19, 2023
1af8057
Supporting multiple messages per frame (#29)
SteveGibsonCL Jun 19, 2023
378706c
Custom indexes (#32)
SteveGibsonCL Jun 26, 2023
94578ce
Convert Unity SDK into a CSharp SDK with Unity support (#34)
dbrinkmanncw Jun 30, 2023
cd87a33
Rename ILogger class to ISpacetimeDBLogger to avoid some annoying nam…
dbrinkmann-citadel Jul 5, 2023
ae9ed46
search for reducer type using reflection instead of passing in
dbrinkmann-citadel Jul 5, 2023
42e7d52
Fixed serialization issue + added jetbrains IDE files to gitignore (#37)
jdetter Jul 12, 2023
ebfe86e
Fix close and improve onConnectError message (#36)
dbrinkmanncw Jul 18, 2023
76fd654
Add optional component to handle saving auth token (#39)
dbrinkmanncw Jul 18, 2023
30ce42e
Fix Typeo (#40)
jdetter Jul 18, 2023
1b46bbb
Use correct hashcode for identity (#45)
aasoni Jul 31, 2023
ccaa207
generate types to SpacetimeDB.Types namespace (#41)
dbrinkmanncw Aug 1, 2023
e01ede6
Fix using Identity as Primary Key (#43)
dbrinkmanncw Aug 1, 2023
8123431
Created PR Template (#38)
jdetter Aug 2, 2023
d9c8eca
Performance improvement for Del/Ins -> Update conversion (#47)
aasoni Aug 2, 2023
41f543a
Update version to 0.6.0 (#48)
dbrinkmanncw Aug 2, 2023
13695a0
Commit quickstart example (#44)
dbrinkmanncw Aug 8, 2023
1cd3748
README.md and License.txt updates (#53)
dbrinkmanncw Oct 12, 2023
ccd21b2
Release v0.7.0-beta (#56)
jdetter Oct 12, 2023
9d0ff09
Small 0.7.0 Fixes (#60)
jdetter Oct 12, 2023
a00c81a
Small updates to 0.7.0 (#61)
jdetter Oct 14, 2023
d9ec1d6
v0.7.2-beta Changes (#62)
jdetter Dec 21, 2023
2aa8dff
Workflow for Publishing Nuget Package (#64)
jdetter Dec 21, 2023
3d83671
Upgraded version to 0.8.0 (#66)
jdetter Dec 21, 2023
49f1c2f
Fixed an issue where only one network packet was being processed per …
jdetter Feb 6, 2024
af07c24
Added new callback - onBeforeSubscriptionApplied (#71)
jdetter Feb 6, 2024
4cfaf65
Remove the `rowPk` from the client API (#72)
gefjon Feb 28, 2024
a8f2785
Add Brotli decompression (#75)
RReverser Mar 29, 2024
4b80367
Nit: remove unused `inserts` field (#77)
RReverser Apr 23, 2024
135a39f
Set language version to 9 (#80)
RReverser Apr 24, 2024
cada5a7
Make logger a separate SDK setting from client instance (#79)
RReverser Apr 24, 2024
f53e741
Fix nullability warnings in WebSocket class (#82)
RReverser Apr 25, 2024
2776cc1
Merge ByteArrayComparers (#78)
RReverser May 8, 2024
d6553ec
Extract common logic from `OnMessageProcessComplete` (#81)
RReverser May 9, 2024
3819a38
NFC: remove unused primaryKeyValue field (#85)
RReverser May 9, 2024
07633ad
Remove RowUpdate event (#83)
RReverser May 10, 2024
7064c20
Fix conflict resolution shenanigans (#87)
RReverser May 13, 2024
e79dcea
Add basic CI (#88)
RReverser May 13, 2024
10083e7
Simplify event dispatch in WebSocket (#90)
RReverser May 13, 2024
a9053c5
Switch to TaskCompletionSource (#89)
RReverser May 13, 2024
2e6f3c2
Minor refactoring of AuthToken (#84)
RReverser May 14, 2024
3854c08
NFC: inline insert/delete update handling (#86)
RReverser May 14, 2024
e12f14e
Bump version for release v0.9 (#94)
kurtismullins May 22, 2024
d8ab45c
Ignore duplicate inserts in the same subscription update (#92)
RReverser May 27, 2024
025a84c
Simplify update handling as per consistent filtering proposal (#93)
RReverser May 28, 2024
c930fb7
Bump version to 0.9.2 (#95)
bfops May 28, 2024
12f9c71
Switch to shared BSATN support (#97)
RReverser Jun 7, 2024
5269e1f
Release v0.10.0 (#98)
bfops Jun 13, 2024
ca64596
Autoformat & verify on CI
RReverser Jun 15, 2024
23fa855
Add snapshot-based tests
RReverser Jun 15, 2024
7291cc8
Update API docs
RReverser Jun 15, 2024
512a914
Store test dump in a maintainable format
RReverser Jun 15, 2024
9592856
Add Stats snapshot
RReverser Jun 15, 2024
79a2d69
Fix formatting
RReverser Jun 15, 2024
c2d1cd6
Simplify Identity scrubbing
RReverser Jun 17, 2024
b1ac8e4
Move Verify converters around
RReverser Jun 17, 2024
680fc8c
Update test snapshots
RReverser Jun 17, 2024
5f75a7d
Protobufectomy: c# sdk (#104)
lcodes Jul 11, 2024
28654a0
Revert breaking change in message preprocessing (#106)
lcodes Jul 12, 2024
2e13fde
CI - Use SpacetimeDB `master` when applicable (#108)
bfops Jul 24, 2024
42409b3
0.11 upgrades (#101)
RReverser Jul 25, 2024
2d27d1e
CI - `push` events only trigger on pushes to `master` (#110)
bfops Jul 26, 2024
7d94b10
Minor BSATN simplifications (#111)
RReverser Jul 29, 2024
293aa66
Don't use BuiltinType.I/U128, use AlgebraicType.I/U128 (#116)
Centril Aug 6, 2024
c071e38
Restore `dotnet pack` functionality (#118)
bfops Aug 6, 2024
fb0cd6b
Update DEVELOP.md to reflect new codegen (#119)
lcodes Aug 7, 2024
023440c
Nix `Primitives.cs` - types now defined in main repo (#120)
Centril Aug 13, 2024
a517717
Merge Unity SDK into C# SDK (#117)
RReverser Aug 28, 2024
732dd28
Revert `master` to a stable state (#123)
bfops Aug 29, 2024
9481380
Don't use BuiltinType.I/U128, use AlgebraicType.I/U128 (#116)
Centril Aug 6, 2024
ae7c531
Restore `dotnet pack` functionality (#118)
bfops Aug 6, 2024
5e612f3
Update DEVELOP.md to reflect new codegen (#119)
lcodes Aug 7, 2024
9904a02
Nix `Primitives.cs` - types now defined in main repo (#120)
Centril Aug 13, 2024
7941798
Copy files from old repo (#127)
bfops Sep 10, 2024
65c97ad
Logging API (#132)
SteveGibsonCL Sep 23, 2024
7bef448
c# client SDK (DbConnection + SDK Callbacks) (#131)
lcodes Oct 1, 2024
f8ddab7
Subscription API (#137)
RReverser Oct 1, 2024
0981b89
Merge table cache into table handle (#139)
RReverser Oct 1, 2024
2aae961
Add DbConnection argument to OnConnect (#138)
lcodes Oct 1, 2024
95b9d17
Hide more APIs (#140)
RReverser Oct 1, 2024
8df6d15
Implement websocket changes atop C# sdk changes (#136)
Centril Oct 2, 2024
63e6f79
Fix UnityDebugLogger implementation (#143)
RReverser Oct 2, 2024
2bed3c3
Tighten package sources in C# smoketests (#133)
RReverser Oct 2, 2024
00d2741
Reduce public API surface further (#145)
RReverser Oct 2, 2024
f9c71c0
Don't actually try to connect to network in tests (#144)
RReverser Oct 2, 2024
f04e2fd
Add script to generate `nuget.config` (#115)
bfops Oct 3, 2024
19e8979
Fix `gen-client-api` scripts for new CLI API (#151)
bfops Oct 3, 2024
8ce9b7b
Remove obsolete tools folder (#149)
RReverser Oct 3, 2024
ce76890
Try to catch flaky bugs (#150)
RReverser Oct 3, 2024
62a092e
Jeremie/remove break (#154)
lcodes Oct 3, 2024
8f9614d
Update DLLs for 0.12.0 (#152)
bfops Oct 3, 2024
cff42fb
Accept multiple queries in Subscribe (#153)
RReverser Oct 4, 2024
b79d90c
Fix UnityNetworkManager (#141)
RReverser Oct 4, 2024
8916c18
Upgrade SDK Version to 0.12 (#156)
jdetter Oct 4, 2024
a7c720f
Use SpacetimeDBNetworkManager everywhere (#157)
jdetter Oct 4, 2024
7046408
Update to tests/examples follow codegen changes (#160)
lcodes Oct 4, 2024
2783385
0.12.0 DLLs (again) (#161)
bfops Oct 4, 2024
c74b1fd
Jeremie/one off query decoupled from table (#163)
lcodes Oct 12, 2024
f1b8fa8
Add gzip + none compression algos and let SDK pick compression (#155)
Centril Oct 15, 2024
17e0c27
Revert PR 155 (#173)
jdetter Oct 16, 2024
d083d29
Rebased network stats
jdetter Oct 11, 2024
de7e899
Fixes after the rebase
jdetter Oct 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## 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*
22 changes: 22 additions & 0 deletions .github/workflows/check-pr-base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Git tree checks

on:
pull_request:
types: [opened, edited, reopened, synchronize]
merge_group:
permissions: read-all

jobs:
check_base_ref:
name: Only release branches may merge into master
runs-on: ubuntu-latest
steps:
- id: not_based_on_master
if: |
github.event_name == 'pull_request' &&
github.event.pull_request.base.ref == 'master' &&
! startsWith(github.event.pull_request.head.ref, 'release/')
run: |
echo 'Only `release/*` branches are allowed to merge into `master`.'
echo 'Maybe your PR should be merging into `staging`?'
exit 1
53 changes: 53 additions & 0 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net

name: .NET build

on:
push:
pull_request:
types: [opened, reopened]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
path: spacetimedb-csharp-sdk
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 7.0.x
- name: Checkout SpacetimeDB
uses: actions/checkout@v4
with:
repository: clockworklabs/SpacetimeDB
path: SpacetimeDB
- name: Setup SpacetimeDB packages
working-directory: spacetimedb-csharp-sdk
run: |
( cd ../SpacetimeDB/crates/bindings-csharp/BSATN.Runtime && dotnet pack )

# Write out the nuget config file to `nuget.config`. This causes the spacetimedb-csharp-sdk repository
# to be aware of the local versions of the `bindings-csharp` packages in SpacetimeDB, and use them if
# available. Otherwise, `spacetimedb-csharp-sdk` will use the NuGet versions of the packages.
# This means that (if version numbers match) we will test the local versions of the C# packages, even
# if they're not pushed to NuGet.
# See https://learn.microsoft.com/en-us/nuget/reference/nuget-config-file for more info on the config file.
./tools~/write-nuget-config.sh ../SpacetimeDB

- name: Restore dependencies
working-directory: spacetimedb-csharp-sdk
run: dotnet restore
- name: Build everything
working-directory: spacetimedb-csharp-sdk
run: dotnet build --no-restore -warnaserror
- name: Run tests
working-directory: spacetimedb-csharp-sdk
run: dotnet test --no-build
- name: Verify formatting
working-directory: spacetimedb-csharp-sdk
run: dotnet format --no-restore --verify-no-changes SpacetimeDB.ClientSDK.sln
25 changes: 25 additions & 0 deletions .github/workflows/publish-nuget.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Publish NuGet Package on Release

on:
release:
types: [published]

jobs:
build-and-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8'
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore --configuration Release
# - name: Test
# run: dotnet test --no-build
- name: Pack
run: dotnet pack --no-build --output nupkgs
- name: Publish
run: dotnet nuget push nupkgs/*.nupkg --api-key ${{secrets.NUGET_API_KEY}} --source https://api.nuget.org/v3/index.json
10 changes: 6 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
Expand Down Expand Up @@ -71,5 +69,9 @@ crashlytics-build.properties
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*

.idea
*.unitypackage
bin~
obj~

# This is used for local paths to SpacetimeDB packages.
/nuget.config
/nuget.config.meta
12 changes: 0 additions & 12 deletions Assets/ExportPackage.cs

This file was deleted.

Loading