11 Commits

Author SHA1 Message Date
Sebastian Jeltsch
08bcf98e67 Disable V8 runtime by default (custom builds can still enable it) and add a truly static binary release for Linux using MUSL.
Building with MUSL required vendoring sqlite-vec and OpenSSL.

Also clean up no-longer-supported TypeScript guest scripts.
2025-10-07 20:47:28 +02:00
Sebastian Jeltsch
7a8c31c8e9 Cleanup: move all Rust code into a crates/ directory. 2025-08-07 10:02:32 +02:00
Sebastian Jeltsch
5152cf9000 Replace vendored refinery with a more proper fork stripping all the unused bits and bobs. 2025-05-27 22:01:06 +02:00
Sebastian Jeltsch
01feb22e44 serde_rusqlite finally got an update. Remove vendored version. 2025-05-27 12:15:52 +02:00
Sebastian Jeltsch
c4a4dfd575 Update rusqlite to v0.35, which has more strict query validation \o/. Also update other Rust and JS deps. 2025-05-03 11:42:59 +02:00
Sebastian Jeltsch
7ab85594e9 Remove vendored rustc_tools_util. 2025-02-14 23:15:23 +01:00
Sebastian Jeltsch
51a6af3149 Remove sqlite-loadable and use rusqlite functions instead. 2024-12-16 16:41:52 +01:00
Sebastian Jeltsch
4595b72010 Link all submodules using web URL rather than SSH to avoid users needing to register their SSH keys first. 2024-12-08 21:36:43 +01:00
Sebastian Jeltsch
1b5c957415 Move SQLite orchestration into trailbase-sqlite and fix js-runtime completion bug with true async (previously libsql was sync under the hood). 2024-12-04 16:57:15 +01:00
Sebastian Jeltsch
6cbea390fb Herculean migration from libsql's rust bindings to plain rusqlite+SQLite.
There's a couple of reasons:

* As for the rust bindings: they're sub-par to rusqlite, though
  rusqlite is amazing. Even libsql-server uses rusqlite over their own
  bindings. The bindings are missing features such as update hooks
  and the hard-coded execution model suffers from lock congestion.
* We've fixed bugs (e.g. trivial null ptr accesses went unnoticed),
  raised issues, and tried to add missing functionality such as update
  hooks. It's unclear if the rust-bindings are a priority or covered by
  the principles laid out in the libsql manifesto. From the outside it
  looks like focus has shifted to https://github.com/penberg/limbo.
* As for the C-libsql fork for SQLite itself, it's getting more and
  more outdated (2024-01-30 (3.45.1)) and it's unclear when and if the
  ideas from the manifesto will manifest.

Looking forward this opens the door for TrailBase to:

* Bundle more recent versions of SQLite
* Implement more performant, better scaling execution models.
* Implement realtime APIs for subscribing to data changes.
2024-12-04 13:03:06 +01:00
Sebastian Jeltsch
bdb3735840 Squash all commits for a fresh start.
This is only to avoid accidentally leaking any secrets from early development especially in the light of short-sha attacks.
2024-10-30 23:38:56 +01:00