Commit Graph

118 Commits

Author SHA1 Message Date
Kim Altintop 125ab58388 commitlog: Fix set_epoch (#2005) 2024-11-21 13:34:10 +00:00
Shubham Mishra 9c64d1fbd1 Durability Provider (#1864)
Signed-off-by: Shubham Mishra <shubham@clockworklabs.io>
Co-authored-by: Kim Altintop <kim@eagain.io>
2024-11-19 09:06:52 +00:00
Jeffrey Dallatezza cccadd10ee Clean up auth related code with traits, and reuse existing key generation code. (#1988) 2024-11-12 21:22:20 +00:00
Noa f136670420 Directory structure impl (#1879)
Co-authored-by: Jeffrey Dallatezza <jeffreydallatezza@gmail.com>
2024-11-12 04:24:43 +00:00
james gilles a24a206c28 Be more careful about endianness with Identity and Address (#1926)
Co-authored-by: Puru Vijay <awesomepuruvj@gmail.com>
2024-11-05 20:04:05 +00:00
Mazdak Farrokhzad ac0053caab Websocket API: Light transaction updates & NoSuccessNotify (#1812)
Signed-off-by: Mazdak Farrokhzad <twingoow@gmail.com>
Co-authored-by: Phoebe Goldman <phoebe@clockworklabs.io>
2024-11-04 15:59:11 +00:00
Mario Montoya a6a6c4f08f Put ExecutionContext inside the Tx context (#1876)
Co-authored-by: joshua-spacetime <josh@clockworklabs.io>
2024-10-29 16:24:06 +00:00
Jeffrey Dallatezza 25ea57db50 Fix the endpoint for short-lived tokens (#1907)
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
2024-10-25 19:56:32 +00:00
Tyler Cloutier fa960b3be9 Small naming fixes. Fixes database identity creation. (#1892) 2024-10-24 23:02:21 +00:00
Jeffrey Dallatezza 942fd8be83 Handle JWT tokens with oidc providers (#1882) 2024-10-23 05:46:53 +00:00
Tyler Cloutier 83fc5c33d4 The banishment of Address (#1880)
Co-authored-by: Jeffrey Dallatezza <jeffreydallatezza@gmail.com>
2024-10-23 01:56:20 +00:00
Jeffrey Dallatezza 94eef52eb6 Use new token format when generating new id tokens (#1854) 2024-10-19 00:13:40 +00:00
Shubham Mishra 0a86b46152 Fix Build: Use default() to init custom hash based datastructures (#1871)
Signed-off-by: Shubham Mishra <shubham@clockworklabs.io>
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
2024-10-17 14:41:38 +00:00
Kim Altintop 820ace12b1 Remove sendgrid (#1860) 2024-10-16 17:49:42 +00:00
Noa c4e637e98b Energy metering for persistent memory usage (#766) 2024-10-15 17:58:34 +00:00
Jeffrey Dallatezza 83310eb6a7 Remove email and recovery related identity endpoints (#1833) 2024-10-15 00:13:18 +00:00
Mazdak Farrokhzad 1e35fe681f Add gzip + none compression algos and let SDK pick compression (#1802) 2024-10-09 16:46:41 +00:00
Tyler Cloutier d6bb05b072 Renamed database instance to replica (#1806) 2024-10-05 18:53:20 +00:00
Mazdak Farrokhzad 1ac741aa6b Generic and optimized WebSocket API (#1761)
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2024-09-30 21:57:00 +00:00
Mazdak Farrokhzad dd52cda7ca client-api: make some BAD_REQUEST into NOT_FOUND (#1768) 2024-09-30 21:41:25 +00:00
Zeke Foppa dc4457bfd2 Remove the expand option on the describe route (#1755)
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2024-09-30 17:50:28 +00:00
Kim Altintop 1e31b23615 client-api: Fix publish error reporting (#1750) 2024-09-27 20:00:47 +00:00
james gilles c32f297c47 Update TableSchema & system tables to resemble ABI V9 (#1697) 2024-09-25 20:03:22 +00:00
Mazdak Farrokhzad 3be5c83d99 [WASM ABI 1.0] __call_reducer__ receives Identity & Address by value (#1607)
Signed-off-by: Mazdak Farrokhzad <twingoow@gmail.com>
Co-authored-by: Ingvar Stepanyan <me@rreverser.com>
Co-authored-by: Noa <coolreader18@gmail.com>
2024-08-19 22:20:57 +00:00
james gilles cbacc44f44 Change ResolveRefs to return a Result rather than an Option (#1565)
Signed-off-by: james gilles <jameshgilles@gmail.com>
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
2024-08-07 19:28:46 +00:00
Kim Altintop 711a6717c6 client-api: Remove publisher address (#1564) 2024-08-05 06:02:07 +00:00
Kim Altintop 4ffeff792b Remove support for the update reducer (#1557) 2024-07-31 06:26:06 +00:00
Jeremie Pelletier 3e6f91be89 Moving recovery code APIs under /identity and using POST (#1492)
Co-authored-by: Zeke Foppa <github.com/bfops>
2024-07-17 13:24:23 +00:00
Jeremie Pelletier cadf98623d Return empty success from /identity GET (#1491) 2024-07-16 17:28:30 +00:00
Shubham Mishra 276387d2b3 Timer Table Implementation (#1449)
Co-authored-by: Ingvar Stepanyan <me@rreverser.com>
2024-07-16 08:38:56 +00:00
Noa 10b151b999 Protobufectomy: server (#1077)
Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
Co-authored-by: Jeremie Pelletier <jeremiep@gmail.com>
2024-07-12 18:02:18 +00:00
Noa 8be8fc1248 Fix inconsistent auth/identity creation (#735)
Co-authored-by: Zeke Foppa <github.com/bfops>
2024-06-25 19:41:09 +00:00
joshua-spacetime 8a3364ea69 perf(1351): Add a row count metric for subscriptions (#1435) 2024-06-14 18:32:22 +00:00
Noa 66112bbdf0 Impl subscribe subcommand & subscription smoketests (#1343)
Signed-off-by: Kim Altintop <kim@eagain.io>
Co-authored-by: Kim Altintop <kim@eagain.io>
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
2024-06-14 09:16:05 +00:00
Noa 6e052cb8dc Fix auth regression (#1413)
Signed-off-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
2024-06-12 22:57:30 +00:00
Kim Altintop 1044ebc652 core: Store address, owner and program bytes in st_module (#1305) 2024-06-10 10:25:16 +00:00
Jeremie Pelletier da23401368 Jeremie/notify sql (#1198)
* Notify subscriptions from SQL code path

* Remove blocking_broadcast_event

(From another PR, but helps tests to pass)

* Update from review

* Update from rebase

* cargo fmt

* cargo fmt

* cargo fmt

* update space.rs
2024-06-03 22:51:05 +00:00
Noa 6b1a3d3896 Module hotswapping (#1147) 2024-05-22 17:49:35 +00:00
Kim Altintop 2de147522d core: Collapse DBIC into HostController (#1186)
Make it so `HostController` manages both the module host (wasm
machinery) and the database (`RelationalDB` / `DatabaseInstanceContext`)
of spacetime databases deployed to a server.

The `DatabaseInstanceContextController` (DBIC) is removed in the
process.

This allows to make database accesses panic-safe, in that uncaught
panics will cause all resouces to be released and the database to be
restarted on subsequent access. This is a prerequisite for #985.

It also allows to move towards storage of the module binary directly in
the database / commitlog. This patch, however, makes some contortions in
order to **not** introduce a breaking change just yet.
2024-05-21 17:30:02 +00:00
Zeke Foppa 4cdb6609e4 Split up #735: auth.rs refactors (#871)
* [zeke/noa-router-shuffle]: bring over auth.rs changes from #735

* [zeke/noa-router-shuffle]: review
2024-05-13 17:33:53 +00:00
Mazdak Farrokhzad b55121cc83 use a custom FixedBitSet + optimize Page::iter_fixed_len (#1160) 2024-04-30 21:57:28 +00:00
Mazdak Farrokhzad e144c400c5 Redefine FieldName as (TableId, ColId) (#1165)
* redefine FieldName as (TableId, ColId)

* fix & refactor tests + move MemTable/Header test helpers test code
2024-04-30 20:59:20 +00:00
Mazdak Farrokhzad e1064eef29 Remove Column.col_id field (#1136)
* Remove redundant field Column.col_id

* remove redundant fn Header::ty

* - move extract_table_field to only use (#1137)

- remove unused get_index_by_field
2024-04-22 21:23:06 +00:00
Noa abdaf88563 Move lib::{name,recovery} to client-api-messages (#570) 2024-04-10 20:24:05 +00:00
Mazdak Farrokhzad 344861f290 use nohasher_hash and ahash instead of siphash13 (#1040)
* use nohasher_hash and ahash instead of siphash13

* re-export types in spacetimedb_data_structures::map
2024-04-05 17:30:51 +00:00
joshua-spacetime 99bd7ac591 perf(1024): Remove serialization from tx execution thread (#1027)
Closes #1024.

Before this change,
we would serialize messages **before** inserting into the send queue.

Because we commit the tx only after inserting into the send queue,
this meant we were holding onto the database lock unnecessarily.

After this change,
we serialize messages **after** inserting into the send queue.
This means we serialize only after committing the tx.
2024-03-27 16:06:10 +00:00
Mazdak Farrokhzad 9141a42622 Bump Rust to 1.77 + fix warnings + use Bound::map (#1020)
* bump Rust to 1.77 + fix warnings + use Bound::map

* use .truncate(true) for OpenOptions
2024-03-25 20:27:08 +00:00
Noa 540c519002 Rewrite smoketests as python unittests (#692)
* Rewrite smoketests as python unittests

* Get all tests working and do some work on parallel unittest

* Give up on parallel unittests

* Fix CI + address comments

* Fix skip-clippy arg confusion (just use the env var)

* fix ci

* Add comments
2024-03-14 02:47:38 +00:00
Noa 987d742baa Also poll handle_queue while flushing (#947)
* Also poll handle_queue while flushing

* Apply suggestions from code review

Co-authored-by: Phoebe Goldman <phoebe@clockworklabs.io>
Signed-off-by: Noa <coolreader18@gmail.com>

---------

Signed-off-by: Noa <coolreader18@gmail.com>
Co-authored-by: Phoebe Goldman <phoebe@clockworklabs.io>
2024-03-08 21:09:30 +00:00
Noa c6c0ba3051 Kick clients that are backing up their message channel (#930)
* Wrap ClientConnectionSender in an Arc everywhere

* Kick clients that are backing up their message channel

* Set tcp nodelay on incoming sockets
2024-03-06 22:39:17 +00:00