Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
f2401e6
Add CanBeLookupTable trait, event table support in query-builder/bind…
cloutiertyler Feb 12, 2026
48fcada
Add client SDK support for event tables
cloutiertyler Feb 12, 2026
46327f2
Add event table integration tests
cloutiertyler Feb 12, 2026
766bfcd
Add event tables documentation
cloutiertyler Feb 12, 2026
6813513
Remove event table from module-test to fix ensure_same_schema tests
cloutiertyler Feb 12, 2026
6d1b5ae
Add event table support to codegen (Rust/TS/C#) and client SDKs (TS/C#)
cloutiertyler Feb 13, 2026
6523070
Exclude onDelete/onUpdate from event table types in TypeScript SDK
cloutiertyler Feb 13, 2026
bb666c8
Run cargo fmt and pnpm format
cloutiertyler Feb 13, 2026
f0f22d1
Add RemoteEventTableHandle to hide OnDelete/OnUpdate from event table…
cloutiertyler Feb 13, 2026
9e0e81a
Fix remaining merge conflict in table.ts from rebase
cloutiertyler Feb 13, 2026
4f35a39
Fix Rust codegen with apparent borked rebase
gefjon Feb 13, 2026
31cd756
Regenerate view-client bindings and fix with_database_name in event-t…
cloutiertyler Feb 13, 2026
ef45624
Add CanBeLookupTable to client codegen for non-event tables and regen…
cloutiertyler Feb 13, 2026
1279749
Fix table_cache.ts: use sourceName instead of name for event table ca…
cloutiertyler Feb 13, 2026
6d5b64d
Add event tables documentation page
cloutiertyler Feb 13, 2026
8c8beb3
Revise event tables documentation based on review feedback
cloutiertyler Feb 13, 2026
899f2e0
Link to migration guide from event tables doc
cloutiertyler Feb 13, 2026
23d842f
Fix extract-schema V10 output and make C# table rowset parsing tolerant
JasonAtClockwork Feb 13, 2026
3cdbede
Updated RemoteTableHandle to split up in order to remove OnDelete/OnB…
JasonAtClockwork Feb 13, 2026
281264a
Updated regression tests to include new event tests + regenerated Bla…
JasonAtClockwork Feb 14, 2026
ab083e1
Blackholio removed usage of scheduled reducer information as it's now…
JasonAtClockwork Feb 14, 2026
c66ef52
Send EventTable wire variant for event tables and bypass client cache
cloutiertyler Feb 14, 2026
eb6fb3e
Revert changes away from Phoebe's work on tests for Websocket V2 (spe…
JasonAtClockwork Feb 14, 2026
829ed0d
Update codegen outputs for V10 lifecycle reducer visibility
cloutiertyler Feb 14, 2026
4213ad6
Regenerate Rust SDK test bindings and add `cargo ci regen` command
cloutiertyler Feb 15, 2026
9b93787
Add consume_entity_event table for Blackholio despawn animations
cloutiertyler Feb 15, 2026
cedb160
Add --check flag to cargo ci regen for CI verification
cloutiertyler Feb 15, 2026
e978aa3
Regenerate stale codegen outputs
cloutiertyler Feb 15, 2026
367fb80
Revert cargo ci regen changes (moved to separate PR)
cloutiertyler Feb 15, 2026
53f85e7
Remove extra blank line between InsertCallbackId and DeleteCallbackId…
cloutiertyler Feb 15, 2026
907e115
Removed the event tables status doc
cloutiertyler Feb 15, 2026
e9dc219
Fix typo: ReducerOutcome.Okmpty -> OkEmpty
cloutiertyler Feb 15, 2026
2db1ff4
Update Rust codegen snapshot for blank line fix
cloutiertyler Feb 15, 2026
426fa4d
Make `cargo ci regen` exhaustive across all committed codegen
cloutiertyler Feb 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,13 @@ members = [
"modules/sdk-test-connect-disconnect",
"modules/sdk-test-procedure",
"modules/sdk-test-view",
"modules/sdk-test-event-table",
"sdks/rust/tests/test-client",
"sdks/rust/tests/test-counter",
"sdks/rust/tests/connect_disconnect_client",
"sdks/rust/tests/procedure-client",
"sdks/rust/tests/view-client",
"sdks/rust/tests/event-table-client",
"tools/ci",
"tools/upgrade-version",
"tools/license-check",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
#include <memory>
#include "../autogen_base.h"
#include "spacetimedb/bsatn/bsatn.h"
#include "RawColumnDefaultValueV9.g.h"
#include "RawProcedureDefV9.g.h"
#include "RawColumnDefaultValueV9.g.h"
#include "RawViewDefV9.g.h"

namespace SpacetimeDB::Internal {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
#include <memory>
#include "../autogen_base.h"
#include "spacetimedb/bsatn/bsatn.h"
#include "RawMiscModuleExportV9.g.h"
#include "Typespace.g.h"
#include "RawReducerDefV9.g.h"
#include "RawMiscModuleExportV9.g.h"
#include "RawTableDefV9.g.h"
#include "Typespace.g.h"
#include "RawRowLevelSecurityDefV9.g.h"
#include "RawTypeDefV9.g.h"
#include "RawRowLevelSecurityDefV9.g.h"

namespace SpacetimeDB::Internal {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
#include <memory>
#include "../autogen_base.h"
#include "spacetimedb/bsatn/bsatn.h"
#include "ProductType.g.h"
#include "Lifecycle.g.h"
#include "ProductType.g.h"

namespace SpacetimeDB::Internal {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
#include <memory>
#include "../autogen_base.h"
#include "spacetimedb/bsatn/bsatn.h"
#include "RawSequenceDefV9.g.h"
#include "RawIndexDefV9.g.h"
#include "RawScheduleDefV9.g.h"
#include "TableAccess.g.h"
#include "RawConstraintDefV9.g.h"
#include "TableType.g.h"
#include "RawSequenceDefV9.g.h"
#include "RawIndexDefV9.g.h"

namespace SpacetimeDB::Internal {

Expand Down
1 change: 1 addition & 0 deletions crates/bindings-macro/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ mod sym {
symbol!(unique);
symbol!(update);
symbol!(default);
symbol!(event);

symbol!(u8);
symbol!(i8);
Expand Down
22 changes: 22 additions & 0 deletions crates/bindings-macro/src/table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ pub(crate) struct TableArgs {
scheduled: Option<ScheduledArg>,
name: Ident,
indices: Vec<IndexArg>,
event: Option<Span>,
}

enum TableAccess {
Expand Down Expand Up @@ -71,6 +72,7 @@ impl TableArgs {
let mut scheduled = None;
let mut name = None;
let mut indices = Vec::new();
let mut event = None;
syn::meta::parser(|meta| {
match_meta!(match meta {
sym::public => {
Expand All @@ -91,6 +93,10 @@ impl TableArgs {
check_duplicate(&scheduled, &meta)?;
scheduled = Some(ScheduledArg::parse_meta(meta)?);
}
sym::event => {
check_duplicate(&event, &meta)?;
event = Some(meta.path.span());
}
});
Ok(())
})
Expand All @@ -107,6 +113,7 @@ impl TableArgs {
scheduled,
name,
indices,
event,
})
}
}
Expand Down Expand Up @@ -852,6 +859,18 @@ pub(crate) fn table_impl(mut args: TableArgs, item: &syn::DeriveInput) -> syn::R
);

let table_access = args.access.iter().map(|acc| acc.to_value());
let is_event = args.event.iter().map(|_| {
quote!(
const IS_EVENT: bool = true;
)
});
let can_be_lookup_impl = if args.event.is_none() {
quote! {
impl spacetimedb::query_builder::CanBeLookupTable for #original_struct_ident {}
}
} else {
quote! {}
};
let unique_col_ids = unique_columns.iter().map(|col| col.index);
let primary_col_id = primary_key_column.clone().into_iter().map(|col| col.index);
let sequence_col_ids = sequenced_columns.iter().map(|col| col.index);
Expand Down Expand Up @@ -977,6 +996,7 @@ pub(crate) fn table_impl(mut args: TableArgs, item: &syn::DeriveInput) -> syn::R
const TABLE_NAME: &'static str = #table_name;
// the default value if not specified is Private
#(const TABLE_ACCESS: spacetimedb::table::TableAccess = #table_access;)*
#(#is_event)*
const UNIQUE_COLUMNS: &'static [u16] = &[#(#unique_col_ids),*];
const INDEXES: &'static [spacetimedb::table::IndexDesc<'static>] = &[#(#index_descs),*];
#(const PRIMARY_KEY: Option<u16> = Some(#primary_col_id);)*
Expand Down Expand Up @@ -1088,6 +1108,8 @@ pub(crate) fn table_impl(mut args: TableArgs, item: &syn::DeriveInput) -> syn::R
}
}

#can_be_lookup_impl

};

let table_query_handle_def = quote! {
Expand Down
65 changes: 33 additions & 32 deletions crates/bindings-typescript/src/lib/autogen/algebraic_type_type.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 8 additions & 5 deletions crates/bindings-typescript/src/lib/autogen/http_request_type.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 7 additions & 4 deletions crates/bindings-typescript/src/lib/autogen/http_response_type.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading