Commit Graph

94 Commits

Author SHA1 Message Date
Sebastian Jeltsch 3ab6f288c0 Update Rust and JS dependencies. 2026-04-08 14:05:45 +02:00
Sebastian Jeltsch 847697c069 Fix WASM "ATTACH DATABASE" and sqlite error unpacking. #221 2026-04-07 14:09:26 +02:00
Sebastian Jeltsch 4b0f33264a Update JS dependencies. Upgrade to TS6. 2026-03-26 11:21:16 +01:00
Sebastian Jeltsch b296eabfcf Add GitHub OAuth provider (validated) and fix OAutch callback cookie strictness: i.e. require secure/TLS for HTTPS sites in prod mode.
Previously, `secure` was set in dev mode.
2026-03-19 22:55:43 +01:00
Sebastian Jeltsch e2609c2521 Update to vite8. 2026-03-19 10:48:28 +01:00
Sebastian Jeltsch 61eb0734a9 Update docs to astro6 and update JS dependencies. 2026-03-19 10:21:00 +01:00
Sebastian Jeltsch 42f250a2b4 Various fixes and improvements. 2026-03-16 11:06:48 +01:00
Sebastian Jeltsch 0cc3799af3 Add OTP auth flows: request code + login. Also add corresponding UIs to both admin UI and auth-ui crate. 2026-03-16 11:06:48 +01:00
Sebastian Jeltsch cf7f4db2d3 Add two-factor authentication using TOTPs. Also add registration & logins UIs to admin dash and the auth-ui crate.
Loosely based on maxirozay@'s https://github.com/trailbaseio/trailbase/pull/212.
2026-03-16 10:48:09 +01:00
Sebastian Jeltsch c3ead55a1f Fix HTTP method-based routing for JS/TS WASM components with ambgious paths. 2026-03-07 22:25:40 +01:00
Sebastian Jeltsch a47af08675 Avoid multiple calls to init() per init for Rust guests and share Sqlite function declarations between init and dispatch. 2026-03-06 12:43:12 +01:00
Sebastian Jeltsch 79a219bb3e Expose wstd::rand in rust guests. Add a few more integration tests. 2026-02-27 22:37:14 +01:00
Sebastian Jeltsch 61567670f1 Add support for geospatial queries to all clients. The TS client also supports GeoJSON FeatureCollection output. 2026-02-19 15:29:00 +01:00
Sebastian Jeltsch 63210e2e7c Add support for WKB geometry columns, @within, @intersects & @contains spatial queries list and GeoJSON FeatureCollection output. 2026-02-19 15:28:45 +01:00
Sebastian Jeltsch ada26e2a7b Update JavaScript dependencies. 2026-02-19 11:10:09 +01:00
Sebastian Jeltsch 9365d86d81 Streamline JS/TS WASM HTTP handler, introduce HttpResponse.(status|ok|text|json). 2026-02-18 23:57:05 +01:00
Sebastian Jeltsch 91e3984f53 Update JavaScript dependencies. 2026-02-06 13:03:35 +01:00
Sebastian Jeltsch 5b9b32e0ac Move sqlean/sqlite-vec loading to the CLI level and switch to maintained sqlite-vec fork: https://github.com/vlasky/sqlite-vec. 2026-02-01 11:04:22 +01:00
Sebastian Jeltsch 5898fc9dba Merge WASM-host implementations for HTTP/Job handlers and SQLite functions. Also extend SQLite function state life-cycle to persist and be shared. 2026-01-23 13:34:57 +01:00
Sebastian Jeltsch fd9a026631 Update JavaScript dependencies & and downgrade Astro (newer versions break our docs, client islands broken?). 2026-01-20 15:12:41 +01:00
Sebastian Jeltsch 217d95a927 Update JavaScript dependencies. 2026-01-15 21:58:33 +01:00
Sebastian Jeltsch 8cd343013b Update JavaScript dependencies. 2026-01-11 23:02:27 +01:00
Sebastian Jeltsch 0ab548e164 Update JavaScript dependencies. 2026-01-02 23:22:02 +01:00
Sebastian Jeltsch e804788e5c Update JavaScript dependencies. 2025-12-18 12:13:02 +01:00
Sebastian Jeltsch 80f2f5e514 Update Rust and JavaScript dependencies. 2025-12-15 14:47:54 +01:00
Sebastian Jeltsch 84254e2fed Introduce multi-DB support, i.e. Record APIs can be powered by TABLEs/VIEWs from different DBs. This can help with physical isolation and offer a path forward when locking bottlenecks are encountered.
It's still early days, e.g. the UI doesn't yet support creating new DBs. However it allows exploring, creating and altering schemas for existing DBs. For now use the config to register new DBs.

Changes:

* Config-driven life-cycle management for "extra" DBs, i.e. creation and migration-management.
* Completely rewire connection & schema access throughout, now using a ConnectionManager abstraction.
* Update SubscriptionManager to track subscriptions across multiple DBs.
* Per-DB file management.
* Improved error handling.
* Basic e2e tests including file handling.
* Update UI:
  * Explorer: show, create and alteration of schemas on non-main DBs.
  * SQL Editor: allow control over which DBs are attached to the connection.

This change is breaking: it affects how migrations are loaded from `<traildepot>/migrations/<db>/` and switches transaction default of batch endpoint to false (cheaper).

This change does not introduce a notion of multi-tenancy, i.e. create a per-tenant/user DB on the fly based on templates and corresponding traffic routing.
2025-12-12 11:48:30 +01:00
Sebastian Jeltsch e90d78e23b Update JavaScript dependencies. 2025-12-03 12:30:22 +01:00
Sebastian Jeltsch 1122206c0c Add a command to CLI to update all "first-party" components. 2025-11-20 11:36:11 +01:00
Sebastian Jeltsch 3e288c5727 Be less chatty about uncaught errors falling out of WASM-user-code in release buidlds. 2025-11-13 23:02:36 +01:00
Sebastian Jeltsch 3f690b85ec Update Rust and JavaScript dependencies. 2025-11-13 13:12:58 +01:00
Sebastian Jeltsch 5809a600fd Version WASM component interface, break up into packages, and add a new API for custom SQLite functions. 2025-11-12 14:31:02 +01:00
Sebastian Jeltsch 106437ea6d Update JavaScript dependencies. 2025-11-09 07:57:15 +01:00
Sebastian Jeltsch 2308c8d622 Update JS and Rust dependencies. 2025-11-05 17:11:47 +01:00
Sebastian Jeltsch 8566b9ba96 Update JavaScript dependencies. 2025-11-03 10:59:06 +01:00
Sebastian Jeltsch b9762f1d63 Fix initialization order issue for custom schemas (#170) and return client error for inputs rejected by SQLite CHECK constraint.
Also add both integration and end-to-end tests to ensure stability.
2025-10-31 14:44:09 +01:00
Sebastian Jeltsch 9e46a099d0 Stop encoding SQL values as generic JSON values (outside the context of the record API), i.e. for admin APIs and between WASM host/guest.
This lets us simplify the parsing and add back a lot of type-safety (including int64). As a side-effect, we basically had to complete reqrite the record insert/update handling in the admin UI.

Note, however, that this is a breaking change, since it touches serialization between WASM guests and host. Guest will need to be built against an updated guest runtime.
2025-10-21 16:40:45 +02:00
Sebastian Jeltsch 3bb22fc92b Use winch baseline compiler - instrad of cranelif - for WASM components in --dev mode. #161 2025-10-13 15:45:54 +02:00
Sebastian Jeltsch 940c329770 Update JavaScript dependencies. 2025-10-13 15:45:54 +02:00
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 db945733e9 Update Rust and JS dependencies. 2025-10-06 22:53:04 +02:00
Sebastian Jeltsch 362e284d03 Remove WIT thread-id method after changing the execution model. 2025-09-30 17:22:01 +02:00
Sebastian Jeltsch 353b913fe3 Update JavaScript dependencies. Fixes #157. 2025-09-25 23:16:04 +02:00
Sebastian Jeltsch 5161295a38 Fix new user registeration. 2025-09-24 12:27:56 +02:00
Sebastian Jeltsch 9b60cea394 Prepare new release v0.18.0. 2025-09-24 10:24:55 +02:00
Sebastian Jeltsch 5d422ec713 Add metadata.textproto to .gitignore. 2025-09-22 15:41:23 +02:00
Bilux b4f4a2047c Add integation tests for JSON file upload using base64. 2025-09-22 11:51:19 +02:00
Sebastian Jeltsch 4f6276087f Add an init argument to init-endpoint to pass version and for future proofing. 2025-09-20 18:23:13 +02:00
Sebastian Jeltsch 5802219c39 Update JavaScript dependencies. 2025-09-18 15:57:52 +02:00
Sebastian Jeltsch ced96071f4 Update JavaScript dependencies. 2025-09-12 11:14:37 +02:00
Sebastian Jeltsch 4b9df89104 Update JS dependencies. 2025-09-09 20:45:28 +02:00