Commit Graph

25 Commits

Author SHA1 Message Date
Zeke Foppa 2d09485f74 Bump version to 0.10.0 (#1349)
Co-authored-by: Zeke Foppa <github.com/bfops>
2024-06-10 16:25:02 +00:00
Ingvar Stepanyan d11c83e53c Add explicit parameter for table visibility (#1359) 2024-06-10 13:38:38 +00:00
Ingvar Stepanyan d1033b5d93 Shared C# codegen for BSATN (#1312)
Signed-off-by: Ingvar Stepanyan <me@rreverser.com>
Co-authored-by: james gilles <jameshgilles@gmail.com>
Co-authored-by: John Detter <no-reply@boppygames.gg>
2024-06-07 19:22:02 +00:00
Zeke Foppa 0bc42bfe48 Bump version to 0.9.3 (#1224)
* [bfops/bump-version]: empty

* [bfops/bump-version]: version bump

* [bfops/bump-version]: update

* [bfops/bump-version]: bump C# module versions too

* [bfops/bump-version]: bump 0.9.3

---------

Co-authored-by: Zeke Foppa <github.com/bfops>
2024-05-29 17:22:51 +00:00
Ingvar Stepanyan a7c75751f2 Implement consistent filtering rules for C# modules (#1282) 2024-05-28 14:08:40 +00:00
Noa 471f4ff2ca recv-style abi (#1002)
* Bump module abi version

* recv abi module side

* recv abi host side

* Update csharp module sdk

* Fix name

* Address comments
2024-05-22 23:01:44 +00:00
Ingvar Stepanyan 125ca70959 Switch to a better API for tagged enums for C# (#1177)
With C# records - which are available since C# 9, so covers Unity requirements as well - we can use subclassing and pattern matching to get sum types that look a lot more like Rust tagged enums.

This is a breaking change but IMO worth it for the better API going forward.
2024-05-10 22:05:18 +00:00
Ingvar Stepanyan fe44011e4f C#: rename DbEventArgs to ReducerContext (#1191)
* C#: rename DbEventArgs to ReducerContext

This is no longer an event type, so remove subclassing and rename to match the Rust API.

* Update ReducerContext argument name
2024-05-08 14:00:32 +00:00
Ingvar Stepanyan 5cc05b173b NFC: few more C# shorthand syntax conversions (#1176)
* NFC: few more C# shorthand conversions

For some reason these automated refactoring conversions didn't get included in #1149.

* Also remove unused usings

* Restore a using that was erroneously marked as unused
2024-04-30 00:39:45 +00:00
Ingvar Stepanyan 48c0b4d646 Ignore const members in C# types (#1175)
Const members shouldn't count as table or type fields in `[SpacetimeDB.Type]`.
2024-04-29 18:06:34 +00:00
Ingvar Stepanyan 84a7f83086 Simplify C# source generator csproj (#1143)
* Simplify source generator csproj

Apparently custom scripts are no longer necessary, so removing to make maintenance simpler (noticed this while working on yet another source generator).

* Add smoketest based on Ingvar's comment, + run smoketests on Windows

* Whoops, don't mkdtemp outside of debugging

* Make smoketest sillier

* Finish up a print statement

* Revert "Make smoketest sillier"

This reverts commit 135b05b380.

* Resolve versioning issue in a non-silly, professional way.

---------

Co-authored-by: James Gilles <jameshgilles@gmail.com>
2024-04-29 17:20:22 +00:00
Ingvar Stepanyan cdf46202f2 NFC: format C# module SDK code (#1149)
While looking through the large diffs while splitting out small PRs out of my refactor branch, I noticed that quite a lot of noise is from me working on a formatted code and using primary constructors while the one in master is not.

As such, I'm splitting out just those automated / non-functional changes into a separate PR to make subsequent functional diffs easier to read.
2024-04-25 00:03:22 +00:00
Ingvar Stepanyan 02d0428151 C#: add experimental NativeAOT-LLVM support (#713)
* Add experimental NativeAOT-LLVM support

* Fix codegen ambiguity

* Restore logging redirect
2024-04-03 18:23:39 +00:00
Ingvar Stepanyan 79b2d04210 C# SDK tests (#706)
* Add C# SDK tests

* Add memoization

* Increase timeout

* Mark module_bindings as LF

* Regenerate from Rust again

* Sort tables & reducers for determinism

* cargo fmt

* Lint & fmt fixups

* Lint fixups

* Allow dirs ending in .wasm
2024-01-16 18:09:43 +00:00
Ingvar Stepanyan bc461641c5 Version bump for NuGet 2023-12-07 12:18:52 +00:00
Ingvar Stepanyan 6c40e840f5 Various fixes for C# column attrs
- Fixed column position in sequences (it used index after filtering instead of actual column index).
 - Fixed sequence definitions conflicting with automatic sequences derived from Constraints.
 - Removed constraints for columns that don't have any.
 - Hid internal fields + more minor refactorings.
2023-12-07 12:18:52 +00:00
Ingvar Stepanyan ed9b866c1a Restore old meaning of public ColumnAttrs enum
This is user-facing API that's used in docs & examples, so renaming the internal ColumnAttrs to ColumnDefWithAttrs and ConstraintFlags back to ColumnAttrs so that public examples & existing projects can still compile.
2023-12-07 12:18:52 +00:00
Ingvar Stepanyan 395b86c5ec Reformat C# (with CSharpier) 2023-12-07 12:18:52 +00:00
Mario Montoya 4ef1bd5296 Refactoring bootstrapping and adding full support for constraints & multi-column indexes (#596)
* Refactoring bootstrapping and adding full support for constraints & multi-column indexes

* Removed deleted code and add some comments

* Add comment for Constraints

* Update crates/core/src/db/datastore/locking_tx_datastore/mod.rs

Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Signed-off-by: Mario Montoya <mamcx@elmalabarista.com>

* Update crates/core/src/db/datastore/locking_tx_datastore/mod.rs

Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Signed-off-by: Mario Montoya <mamcx@elmalabarista.com>

* Addressing some PR comments & remove cloning

* Adding details for when fail to decode rows in replay

* Apply Kim's fix for replay bug

* Addressing some PR comments

* Merge

* Fix conflicts

* Fix conflicts

* Fix test

* Fix generation of code for csharp & typescript, now it generate FilterBy for all columns

* Fix for index generation

* Fixing C# index generation

* Merge

* Fix compilation on csharp bindings

---------

Signed-off-by: Mario Montoya <mamcx@elmalabarista.com>
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Co-authored-by: John Detter <no-reply@boppygames.gg>
2023-12-04 12:04:38 -05:00
Ingvar Stepanyan 4f74a5c5c6 Move to .NET 8 WASI support (#587) 2023-11-30 14:54:26 +00:00
Ingvar Stepanyan 15a461e6c9 Update to my main NuGet author handle (#585) 2023-11-21 16:40:10 +00:00
Ingvar Stepanyan 6eff34b7d9 Fix C# generics support (#475) 2023-10-26 14:42:49 +00:00
Ingvar Stepanyan 68079ff726 Bump C# version for release (#416) 2023-10-11 19:34:14 +00:00
Ingvar Stepanyan ba535f24d1 Move connection events to reducers (#309)
* Move connection events to reducers

* More rebase fixups

* Avoid double-reference

* Filter out special reducers in generate cli

This updates filtering of `__init__` to exclude all special reducers, as well as moves the filtering to centralised place before calling language-specific generate command.

* Incrememted ABI version number

---------

Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
2023-10-03 23:19:49 +00:00
Ingvar Stepanyan 1b9e35129c Move C# bindings into the tree (#324)
This allows to make and test ABI-breaking changes much more easily than before.

For now moved them under crates/bindings-csharp - on one hand, it's not a crate, but on another it's the most logical place within our current project structure if we think of `crates` folder as general `projects` folder.
2023-09-26 15:33:30 +00:00