Sebastian Jeltsch
4dc6ce0b90
Load *.wasm components via symlinks. Fixes blog example's auth UI.
...
Minor: also fix avatar fallback in blog example.
2026-04-14 16:17:17 +02:00
Sebastian Jeltsch
4f6b305497
Clean-up trailbase_sqlite::Connection options and fix benchmark builds.
2026-04-14 16:16:55 +02:00
Sebastian Jeltsch
3e0ae46971
Absorb rusqlite's FromSql trait and start experimenting with a polymorphic connection type.
2026-04-14 12:19:30 +02:00
Sebastian Jeltsch
01f0edb5ef
PoC: split sqlite connection into a public API and an internal minimal rusqlite executor.
2026-04-14 12:17:26 +02:00
Sebastian Jeltsch
5defef582f
Fix invalid use of sqlean's SELECT define() in test setup.
2026-04-14 12:17:25 +02:00
Sebastian Jeltsch
59ec41a260
Further reduce leaky trailbase_sqlite::Connection API surface.
2026-04-12 13:31:03 +02:00
Sebastian Jeltsch
23b659b8c6
Introduce our own Value/ValueRef types to trailbase_sqlite. This is generally good practice but also a pre-requisite if we ever wanted to support other DBs.
...
Also stop leaking `rusqlite::Error`. Note that we're still leaking `rusqlite::Connection` itself in `Connection::call.*` and locking APIs.
2026-04-11 13:06:16 +02:00
Sebastian Jeltsch
45d57de178
Prepare new release v0.26.2.
2026-04-09 11:18:55 +02:00
Sebastian Jeltsch
4e9ea268ff
Remove unsafe query construction from WASM guest examples and add a safe string-literal construction utility to guest runtimes.
2026-04-09 11:11:45 +02:00
Sebastian Jeltsch
083a2880b2
Reduce locking during config access in reactivity library - use ArcSwap instead - and use it downstream.
...
Previously accessing the config would require claiming an exclusive lock, sometimes warranting an expensive clone.
2026-04-09 11:10:52 +02:00
Sebastian Jeltsch
57375d29e8
Fork and streamline reactivate.
2026-04-08 17:43:59 +02:00
Sebastian Jeltsch
e4e109cb29
Prepare new release v0.26.1.
2026-04-08 14:09:02 +02:00
Sebastian Jeltsch
3ab6f288c0
Update Rust and JS dependencies.
2026-04-08 14:05:45 +02:00
Sebastian Jeltsch
eeb52692a8
Fix migration filename and named placeholder construction to work for any unicode character.
...
Our migration library doesn't seem to work with whitespaces.
2026-04-08 13:54:03 +02:00
Sebastian Jeltsch
dcb5a7636d
Add an allowlist for custom auth redirects.
2026-04-07 20:11:04 +02:00
Sebastian Jeltsch
9c07c1693f
Prepare client releases.
2026-04-07 19:48:36 +02:00
Sebastian Jeltsch
b4250f517e
Prepare new release v0.26.0.
2026-04-07 14:09:34 +02:00
Sebastian Jeltsch
30d1920ce5
TS client: add an onLoss callback option to trigger some response to event loss.
2026-04-07 14:09:34 +02:00
Sebastian Jeltsch
f044969298
Kotlin client: add support for programmatic change event errors.
2026-04-07 14:09:34 +02:00
Sebastian Jeltsch
d77df8e18b
Rust client: support programmatic change event error statuses.
2026-04-07 14:09:34 +02:00
Sebastian Jeltsch
9dff848c37
Dart client: add more event decoding tests.
2026-04-07 14:09:34 +02:00
Sebastian Jeltsch
0e5d7bc33f
Python client: add event abstraction, parsing of programmatic error and sequence numbers.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
ec9a8f605d
Go client: support structured change event errors and sequence numbers.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
3138c732e6
C#/Dotnet Client: support new ErrorEvent format with programmatic status and add sequence numbers.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
1e5aa4a296
TS Client: support new error ChangeEvent encoding with programmatic status.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
7ca34c310c
Switch ErrorEvent statuses to an integer representation and update Dart client to support it as well as sequence numbers.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
e8eaacfc7c
Massively overhaul change event execution model.
...
* minimize work in SQLite's preupdate hook
* push brokering onto a separate thread
* kick filter and acl checking further downstream into the SSE handlers.
* add layered sequence numbers to detect server-side event losses and allow clients to detect client-side event losses.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
175800287f
Update Rust dependencies.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
847697c069
Fix WASM "ATTACH DATABASE" and sqlite error unpacking. #221
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
d65979766e
Simplify the brokering logic and locking.
...
We should think about further ways to make message delivery async. There
may be implications with respect to event ordering :/.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
1f918d9022
Break up record api subscriptions into multiple files.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
299ab0f3d6
Add a stress test for subscriptions.
2026-04-07 14:09:26 +02:00
Sebastian Jeltsch
be097c00c3
Add a sequence number to SSE change events. This is important to discover transparent re-connects and discover missed events on the client-side.
...
This change took a while, since I first switched to internally tagged unions, which would be easier to handle by most client.
However, after thinking carefully given the cost of wire-format changes, I concluded that externally tagged is the way to go.
It's needed to support different value schemas for insert/update/delete, which would be required for Avro.
In the future we should also add facilities to the client to discover such losses, e.g. using a callback API.
2026-04-07 14:09:22 +02:00
Sebastian Jeltsch
8cf7c09eb2
Fix builds for Rust client's ws feature.
2026-04-06 18:36:28 +02:00
Sebastian Jeltsch
e2cb3a6694
Fix MacOS release workflows.
2026-04-06 18:06:28 +02:00
Sebastian Jeltsch
0d88aaa406
Prepare new release v0.25.3.
2026-03-31 20:52:24 +02:00
Sebastian Jeltsch
f9baa6c8ae
Update Rust dependencies.
2026-03-31 20:52:24 +02:00
Sebastian Jeltsch
c26ac29df1
Add debug-build JSON schema validation to records create/update/list.
2026-03-31 20:52:24 +02:00
Sebastian Jeltsch
e658a84451
Fix JSON schemas for foreign keys and nullable JSON objects.
2026-03-31 20:52:24 +02:00
Sebastian Jeltsch
b33400a415
Stricter request Content-Type handling. Some preparations for multiple response content-types.
2026-03-31 20:52:22 +02:00
Sebastian Jeltsch
9ecd7c11b7
Allow concurrent SELECTs from WASM guests, while still allowing the use of ATTACH/DETACH DATABASE. #221
2026-03-31 11:01:40 +02:00
yguenduez
0936519c1b
Blog example: Increase Node version to 22 in Dockerfile
...
The used `Astro` does not support node v20 anymore.
2026-03-27 20:12:02 +01:00
Sebastian Jeltsch
1e8cd99fb4
TS client: rename s/Event/ChangeEvent + re-export as Event to stop confusing rollup.
2026-03-27 17:10:50 +01:00
Sebastian Jeltsch
d539a61057
Prepare and push new client releases.
2026-03-27 09:49:37 +01:00
Sebastian Jeltsch
b7e56fa73c
Prepare new release v0.25.2.
2026-03-26 13:46:12 +01:00
Sebastian Jeltsch
65e4252afb
Python client: fix loop.
2026-03-26 13:36:54 +01:00
Sebastian Jeltsch
57ab485d33
Kotlin client: fix loop and pre-commit tests.
2026-03-26 13:36:54 +01:00
Sebastian Jeltsch
970c9e0cbd
Dart client: cleanup make refresh token a free function to make the intent clearer.
2026-03-26 13:36:54 +01:00
Sebastian Jeltsch
3b96652888
Rust client: Remove Error::MissingRequestToken in line with other clients and cleanup naming.
2026-03-26 13:36:54 +01:00
Sebastian Jeltsch
e7d37b412a
TS client: fix token refreshing loop and cleanup implementation.
2026-03-26 13:36:44 +01:00