Skip to content

Add C# client SDK procedures#3666

Merged
JasonAtClockwork merged 14 commits intomasterfrom
jlarabie/csharp-procedure
Nov 21, 2025
Merged

Add C# client SDK procedures#3666
JasonAtClockwork merged 14 commits intomasterfrom
jlarabie/csharp-procedure

Conversation

@JasonAtClockwork
Copy link
Contributor

Description of Changes

Closes: #3533
Updated the C# SDK to handle procedures and procedure callbacks in a similar fashion to the Rust client as well as added the codegen to support it.

API and ABI breaking changes

N/A

Expected complexity level and risk

2 - This adds a new testing frame that should be removed once procedures are handled with C# module bindings

Testing

Added /sdks/csharp/examples~/regression-tests/procedure-client to match modules/sdk-test-procedure which we can roll into the standard regression-tests once C# supports the procedure attribute.

  • Add C# client test of sdk-test-procedure

@JasonAtClockwork JasonAtClockwork self-assigned this Nov 15, 2025
@JasonAtClockwork JasonAtClockwork marked this pull request as ready for review November 15, 2025 17:47
@bfops bfops added the release-any To be landed in any release window label Nov 17, 2025
…adds namespace resolution for Reducer types as well
Copy link
Contributor

@Centril Centril left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a C# guy, but this looks good to me.

Copy link
Contributor

@rekhoff rekhoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Worked through any questions directly. Locally tested the regression test and everything passes. Approved.

Signed-off-by: Jason Larabie <jason@clockworklabs.io>
# Conflicts:
#	crates/codegen/tests/snapshots/codegen__codegen_csharp.snap
#	sdks/csharp/examples~/quickstart-chat/client/module_bindings/SpacetimeDBClient.g.cs
#	sdks/csharp/examples~/regression-tests/client/module_bindings/SpacetimeDBClient.g.cs
#	sdks/csharp/examples~/regression-tests/republishing/client/module_bindings/SpacetimeDBClient.g.cs
@JasonAtClockwork
Copy link
Contributor Author

@rekhoff - Can you give this a quick look for the updated tests?

@rekhoff
Copy link
Contributor

rekhoff commented Nov 21, 2025

@rekhoff - Can you give this a quick look for the updated tests?

Reviewed tests, they look good. Ran the tests locally and they all passed.

@JasonAtClockwork JasonAtClockwork added this pull request to the merge queue Nov 21, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 21, 2025
@JasonAtClockwork JasonAtClockwork added this pull request to the merge queue Nov 21, 2025
Merged via the queue into master with commit 78c28d4 Nov 21, 2025
35 of 38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-any To be landed in any release window

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Procedures: C# client SDK invocation interface

4 participants